Both sides previous revision
Previous revision
Next revision
|
Previous revision
Last revision
Both sides next revision
|
compiling [2021/02/26 21:01] root |
compiling [2021/02/26 21:19] root |
| |
==Gnu7,Gnu8== | ==Gnu7,Gnu8== |
OpenHPC versions of gnu compilers. gnu7/7.3.0, gnu8/8.3.0. These are prerequisites to OHPC MPI and do have updated libstdc++.so.6. We only have the application program rpms installed for gnu8. | OpenHPC versions of gnu compilers. gnu7/7.3.0, gnu8/8.3.0. These are prerequisites to OHPC MPI and do have updated libstdc++.so.6. We only have the application program rpms installed for gnu8. Applications dependent on the compiler are gsl,hdf5,metis,openblas,plasma, and scotch. Applications dependent on compiler and MPI are boost,hypre,mfem,mumps,netcdf-cxx,netcdf-fortran,omb,opencoarrays, |
| petsc,phdf5,pnetcdf,ptscotch,mpi4py,scalapack,slepc,superlu, and trilinos. |
| |
==Intel== | ==Intel== |
==Commercial== | ==Commercial== |
modules impi/5.0.0, 5.1.1, 5.1.2, 17.0.4, 17.0.7, 18.0.1, 18.0.2, 19.0.4, 19.0.5, 20.0.1, 20.0.4 | modules impi/5.0.0, 5.1.1, 5.1.2, 17.0.4, 17.0.7, 18.0.1, 18.0.2, 19.0.4, 19.0.5, 20.0.1, 20.0.4 |
module platform_mpi/9.1.2 | and platform_mpi/9.1.2 are available and have a prerequisite of a gcc or intel compiler. |
are available and have a prerequisite of a gcc or intel compiler. | |
| |
==NVidia HPCx== | ==NVidia HPCx== |
| |
==Notes.1== | ==Notes.1== |
The AHPCC version of IMPI and the OpenHPC version behave differently. AHPCC follows the Intel installation default for IMPI with Intel compiler in that "mpiicc,mpiicpc,mpiifort" call Intel compilers, while "mpicc,mpic++,mpif90" call GNU compilers. In OpenHPC both commands call Intel compilers. This can give very different results in a script. (In OpenMPI/MVAPICH2, only "mpicc,mpic++,mpif90" are defined and they call a compiler according to the compiler loaded before MPI). | The AHPCC version of IMPI and the OpenHPC version behave differently. AHPCC follows the Intel installation default for IMPI with Intel compiler in that "mpiicc,mpiicpc,mpiifort" call Intel compilers, while "mpicc,mpic++,mpif90" call GNU compilers. In OpenHPC both commands call Intel compilers. This can give very different results in a script. (In OpenMPI/MVAPICH2, only "mpicc,mpic++,mpif90" are defined and they call the compiler loaded before MPI). |
<code> | <code> |
$ module reset;module load intel/19.0.5 intel/impi/2019.9.304 | $ module reset;module load intel/19.0.5 intel/impi/2019.9.304 |
| |
==Notes.3== | ==Notes.3== |
In a reversal of the previous case, you may find that Intel OpenMP libraries are needed with GNU, especially if the Intel MKL libraries and threaded functions are called. In a pure gcc compilation, the GNU OpenMP library libgomp should suffice and be automatically loaded in an OpenMP program. But Intel libirc and libiomp5 may be needed, especially if called by MKL, and are only supplied by the Intel compilers. A module command similar to this may be necessary: | In a reversal of the previous case, you may find that Intel OpenMP libraries are needed with GNU, especially if the Intel MKL libraries and threaded functions are called. In a pure gcc compilation, the GNU OpenMP library libgomp should suffice and be automatically loaded in an OpenMP program. But Intel libirc and libiomp5 may be needed, especially if called by MKL, and are only supplied by the Intel compilers. A module command similar to this may be necessary for the system to find the libraries: |
<code> | <code> |
mnodule load gcc/8.3.1 openmpi/4.1.0 mkl/19.0.5 intel/19.0.5 | mnodule load gcc/8.3.1 openmpi/4.1.0 mkl/19.0.5 intel/19.0.5 |
</code> | </code> |