Dear all:
I am trying to use Pencil code on AMD machine. But the parallel computation with mpif90 and the intel compiler in the AMD machine is too slow. (At least AMD is 3 times as slow as the Intel CPU with Intel compiler) The Intel compiler seems to have been made to work the most efficiently on the Intel machine.
AMD has its own compiler AOCC. It supports C/C++ (clang, clang++) and fortran (flang). If I compile a code using openMP with AOCC and run it, it is twice as fast as GCC or G++. I think pencil code will work efficiently on the AMD machine with AOCC if the setting is correct. What should be changed or added in the code if we wish to use the AMD machine with AOCC compiler?
Best,
Kiwan
Hi Kiwan,
PencilCode can be build with flang/clang. I recall one code modification needed, but most likely it is not checked in. Let me also look up the compiling/linking options.
Best,
Matthias
Hi again,
you can use the configuration in compilers/separate/AMD_flang.conf.
In the code, there is one problem: flang doesn't like "entry". This appears once in mpicomm.f90,
in subroutine mpigather_and_out_real. You can make a local change by commenting out the entry-statement, the two lines below, and related declarations and creating a new (dummy) subroutine mpigather_and_out_cmplx.
Would be a temporary solution unless we have a lasting one.
On the CSC cluster Mahti, I use modules
1) csc-tools (S) 2) StdEnv 3) idl/8.8.3 4) aocc/3.2.0 5) openblas/0.3.18-omp 6) mpich/4.0.1 7) hdf5/1.10.7-mpi
Best,
Matthias
Dear all: