sdsc / p3dfft

P3DFFT stands for Parallel Three-Dimensional Fast Fourier Transforms. It is a library for large-scale computer simulations on parallel platforms. It implements 3D FFT and related algorithms such as Chebyshev transform (an important class of algorithm for simulations in a wide range of fields). P3DFFT uses 2D, or pencil, decomposition. For more information:
http://www.p3dfft.net
Other
55 stars 17 forks source link

Undefined symbols in module.F90 #14

Open jarrah42 opened 5 years ago

jarrah42 commented 5 years ago

I'm building from master/2.7.9. I've tried three different compilers (IBM, GNU, PGI) and all give me errors starting at line 367 in module.F90. I'm using the following configure command:

./configure --enable-pgi --enable-essl --with-essl=/sw/summit/essl/6.1.0-2/essl/6.1/ FC=mpif90 CC=mpicc

Here's an example:

PGF90-S-0198-Illegal use of startx_frc in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_bcr in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_f_c1 in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_b_c1 in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_ctrans_same in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_strans_same in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_ctrans_dif in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_strans_dif in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_b_c2_same in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_f_c2_same in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_b_c2_dif in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of startx_f_c2_dif in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_frc in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_bcr in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_f_c1 in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_b_c1 in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_ctrans_same in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_strans_same in ALLOCATE/DEALLOCATE (module.F90: 367) F90-S-0198-Illegal use of starty_ctrans_dif in ALLOCATE/DEALLOCATE (module.F90? 367) PGF90-S-0198-Illegal use of starty_strans_dif in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_b_c2_same in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_f_c2_same in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_b_c2_dif in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0198-Illegal use of starty_f_c2_dif in ALLOCATE/DEALLOCATE (module.F90: 367) PGF90-S-0038-Symbol, startx_frc, has not been explicitly declared (module.F90)

dmitrypek commented 5 years ago

Should be fixed now. Are you building on Summit? Let me know if you have other issues. dmitry@sdsc.edu

jarrah42 commented 5 years ago

Yes, I'm trying to build on Summit. Will do, thanks!

jarrah42 commented 5 years ago

To get it to compile with XL and GCC, I had to replace "-lmpichf90" with "-lmpi_ibm_mpifh" in FORTRAN_LIB and change "-lesslbg -L$IBM_MAIN_DIR/xlf_r/bg/14.1/lib64" to just "-lessl" in ESSL_LIB. For PGI, I also had to add "-L/sw/summit/xl/16.1.1-3/xlf/16.1.1/lib" to FORTRAN_LIB.