jasonlarkin / p3dfft

Automatically exported from code.google.com/p/p3dfft
GNU General Public License v3.0
0 stars 0 forks source link

Compiling and Testing on NCSA Abe #50

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
p3dfft compiles successfully on NCSA Abe (in double precision). Configure 
argument to use is: ./configure --enable-intel --enable-fftw --enable-dstride1 
--with-fftw="$FFTW_HOME" FCFLAGS="-O3 -xW -132 -fpp -vec_report0" CFLAGS="-O3 
-xW -vec_report0" LDFLAGS="-lmpi_f90 -lmpi_f77 -limf"

This will be added to the wiki.

However, there were several warnings about implicit declaration of some of the 
timer functions.

mpicc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/  -DINTEL -DMEASURE 
-DFFTW -g    -O3 -xW -vec_report0 -c driver_sine.c
../../include/p3dfft.h(79): warning #266: function "p3dfft_mp_get_timers_" 
declared implicitly
    FORT_MOD_NAME(get_timers)(timers);
    ^

../../include/p3dfft.h(83): warning #266: function "p3dfft_mp_set_timers_" 
declared implicitly
    FORT_MOD_NAME(set_timers)();
    ^

mpicc  -O3 -xW -vec_report0  -lmpi_f90 -lmpi_f77 -limf -o test_sine_c.x  
driver_sine.o ../../build/libp3dfft.a 
/usr/apps/math/fftw/fftw-3.1.2/intel10/lib/libfftw3.a
mpicc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/  -DINTEL -DMEASURE 
-DFFTW -g    -O3 -xW -vec_report0 -c driver_sine_inplace.c
../../include/p3dfft.h(79): warning #266: function "p3dfft_mp_get_timers_" 
declared implicitly
    FORT_MOD_NAME(get_timers)(timers);
    ^

../../include/p3dfft.h(83): warning #266: function "p3dfft_mp_set_timers_" 
declared implicitly
    FORT_MOD_NAME(set_timers)();
    ^

mpicc  -O3 -xW -vec_report0  -lmpi_f90 -lmpi_f77 -limf -o test_sine_inplace_c.x 
 driver_sine_inplace.o ../../build/libp3dfft.a 
/usr/apps/math/fftw/fftw-3.1.2/intel10/lib/libff
tw3.a
mpicc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/  -DINTEL -DMEASURE 
-DFFTW -g    -O3 -xW -vec_report0 -c driver_rand.c
../../include/p3dfft.h(79): warning #266: function "p3dfft_mp_get_timers_" 
declared implicitly
    FORT_MOD_NAME(get_timers)(timers);
    ^

../../include/p3dfft.h(83): warning #266: function "p3dfft_mp_set_timers_" 
declared implicitly
    FORT_MOD_NAME(set_timers)();
    ^

mpicc  -O3 -xW -vec_report0  -lmpi_f90 -lmpi_f77 -limf -o test_rand_c.x  
driver_rand.o ../../build/libp3dfft.a 
/usr/apps/math/fftw/fftw-3.1.2/intel10/lib/libfftw3.a
mpicc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/  -DINTEL -DMEASURE 
-DFFTW -g    -O3 -xW -vec_report0 -c driver_spec.c
../../include/p3dfft.h(79): warning #266: function "p3dfft_mp_get_timers_" 
declared implicitly
    FORT_MOD_NAME(get_timers)(timers);
    ^

../../include/p3dfft.h(83): warning #266: function "p3dfft_mp_set_timers_" 
declared implicitly
    FORT_MOD_NAME(set_timers)();
    ^

mpicc  -O3 -xW -vec_report0  -lmpi_f90 -lmpi_f77 -limf -o test_spec_c.x  
driver_spec.o ../../build/libp3dfft.a 
/usr/apps/math/fftw/fftw-3.1.2/intel10/lib/libfftw3.a
mpicc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/  -DINTEL -DMEASURE 
-DFFTW -g    -O3 -xW -vec_report0 -c driver_inverse.c
../../include/p3dfft.h(79): warning #266: function "p3dfft_mp_get_timers_" 
declared implicitly
    FORT_MOD_NAME(get_timers)(timers);
    ^

../../include/p3dfft.h(83): warning #266: function "p3dfft_mp_set_timers_" 
declared implicitly
    FORT_MOD_NAME(set_timers)();
    ^

--

Will post results of double-precision and single-precision testing.

Original issue reported on code.google.com by d4p...@ucsd.edu on 26 Jul 2010 at 10:37

GoogleCodeExporter commented 9 years ago
Double-precision test.

$ mpirun -np 4 FORTRAN/test_sine_f.x
 Mytype=           8
 Mytype=           8
 Mytype=           8
 Mytype=           8
  Reading from input file stdin
 procs=           4  nx=         128  ny=         128  nz=         128 ndim=
           2  repeat=           1
 Double precision version
 Reading proc. grid from file dims
 Using processor grid            2  x            2
 Iteration            1
 Result of forward transform:
 (           2         128           2 )
 (-3.041527999652431E-011,-262144.000000000)
 (           2           2           2 )
 (9.929545654381110E-011,262144.000000000)
 (           2         128         128 )
 (           2           2         128 )
 (-3.205515727753712E-011,-262144.000000000)
 (-3.371981012405007E-011,262144.000000000)
 max diff =  1.221245327087672E-015
 proc_id, cpu time per loop           0  0.118725061416626
 timer           1  (avg/max/min):   1.111674308776855E-002
  1.128387451171875E-002  1.097011566162109E-002
 timer           2  (avg/max/min):   1.008641719818115E-002
  1.016688346862793E-002  1.000404357910156E-002
 timer           3  (avg/max/min):   8.919239044189453E-003
  8.991003036499023E-003  8.826017379760742E-003
 timer           4  (avg/max/min):   1.013320684432983E-002
  1.057410240173340E-002  9.748935699462891E-003
 timer           5  (avg/max/min):   8.676946163177490E-003
  8.754014968872070E-003  8.592844009399414E-003
 timer           6  (avg/max/min):   1.461952924728394E-002
  1.468801498413086E-002  1.454210281372070E-002
 timer           7  (avg/max/min):   4.360198974609375E-003
  4.387855529785156E-003  4.339933395385742E-003
 timer           8  (avg/max/min):   5.237996578216553E-003
  6.176948547363281E-003  4.163980484008789E-003
 timer           9  (avg/max/min):   3.640413284301758E-003
  4.127979278564453E-003  3.168821334838867E-003
 timer          10  (avg/max/min):   4.413723945617676E-003
  4.444837570190430E-003  4.352092742919922E-003
 Total comm (avg/max/min):   4.025560617446899E-002  4.095292091369629E-002
  3.962779045104980E-002

Original comment by d4p...@ucsd.edu on 26 Jul 2010 at 10:38

GoogleCodeExporter commented 9 years ago
Single-precision compiled and tested successfully.

[d4park@honest4 sample]$ mpirun -np 4 FORTRAN/test_sine_f.x
 Mytype=           4
 Mytype=           4
 Mytype=           4
 Mytype=           4
  Reading from input file stdin
 procs=           4  nx=         128  ny=         128  nz=         128 ndim=
           2  repeat=           1
 Single precision version
 Reading proc. grid from file dims
 Using processor grid            2  x            2
 Iteration            1
 Result of forward transform:
 (           2         128           2 )  (-4.6001337E-02,-262144.0)
 (           2           2           2 )  (0.1339502,262144.0)
 (           2         128         128 )  (-4.5154728E-02,262144.0)
 (           2           2         128 )  (-4.3727536E-02,-262144.0)
 max diff =  5.9604645E-07
 proc_id, cpu time per loop           0  5.398988723754883E-002
 timer           1  (avg/max/min):   5.572438240051270E-003
  5.665063858032227E-003  5.402803421020508E-003
 timer           2  (avg/max/min):   4.893004894256592E-003
  5.008935928344727E-003  4.733085632324219E-003
 timer           3  (avg/max/min):   3.807961940765381E-003
  3.863096237182617E-003  3.759860992431641E-003
 timer           4  (avg/max/min):   4.796802997589111E-003
  5.223035812377930E-003  4.441022872924805E-003
 timer           5  (avg/max/min):   5.136191844940186E-003
  5.250930786132812E-003  5.069971084594727E-003
 timer           6  (avg/max/min):   4.710137844085693E-003
  4.801750183105469E-003  4.651784896850586E-003
 timer           7  (avg/max/min):   2.191722393035889E-003
  2.357006072998047E-003  2.074003219604492E-003
 timer           8  (avg/max/min):   2.961814403533936E-003
  3.386974334716797E-003  2.582073211669922E-003
 timer           9  (avg/max/min):   2.844810485839844E-003
  3.263950347900391E-003  2.423048019409180E-003
 timer          10  (avg/max/min):   2.239942550659180E-003
  2.327919006347656E-003  2.156972885131836E-003
 Total comm (avg/max/min):   1.907020807266235E-002  1.950526237487793E-002
  1.855778694152832E-002

Original comment by d4p...@ucsd.edu on 26 Jul 2010 at 10:43

GoogleCodeExporter commented 9 years ago
Also I forgot to mention that NCSA Abe has a variation of module. They use 
"soft" instead. In order to load the correct environment for FFTW and and 
OpenMPI, use the following commands:

% soft add +fftw-3.1-intel
% soft add +openmpi-1.3.2-intel

The default compiler is Intel.

Original comment by d4p...@ucsd.edu on 26 Jul 2010 at 10:45

GoogleCodeExporter commented 9 years ago

Original comment by dmitry...@gmail.com on 5 Aug 2010 at 9:13