# Build IOMPI toolchain on LUCIA Old EC-Earth versions are not compatible with recent **gcc/gfortran** (default on LUCIA with **gompi**). I installed first the **iimpi** toolchain. Unfortunately, IntelMPI still required a lot of work on LUCIA. So I decided to build an alternative: **iompi** ## Easybuild requirements First, clone this git repository: ```bash cd $HOME git clone https://gogs.elic.ucl.ac.be/pbarriat/ECEARTHCFG.git ``` Then, create the custom easybuild & modules environment ```bash mkdir -p /gpfs/projects/acad/ecearth/softs/easybuild cd $HOME/ECEARTHCFG/eb cp config.cfg /gpfs/projects/acad/ecearth/softs/easybuild rsync -av sources easyconfigs /gpfs/projects/acad/ecearth/softs/easybuild cd /gpfs/projects/acad/ecearth/softs/easybuild mkdir build ebfiles_repo modules software chown -R pbarriat:ecearth /gpfs/projects/acad/ecearth/softs ``` Final step, load the required env modules ``` module purge module load EasyBuild/4.7.1 EASYBUILD_CONFIGFILES=/gpfs/projects/acad/ecearth/softs/easybuild/config.cfg MODULEPATH=$MODULEPATH:/gpfs/projects/acad/ecearth/softs/easybuild/modules/all LMOD_COLORIZE=yes export EASYBUILD_CONFIGFILES ``` ## Compile ### IOMPI ```bash sg ecearth -c "eb OpenMPI-4.1.1-intel-compilers-2022.1.0.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" sg ecearth -c "eb iompi-2022.05.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" sg ecearth -c "eb HDF5-1.12.2-iompi-2022.05.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" sg ecearth -c "eb netCDF-4.9.0-iompi-2022.05.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" sg ecearth -c "eb netCDF-Fortran-4.6.0-iompi-2022.05.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" ``` ### IIMPI ```bash sg ecearth -c "eb impi-2021.7.0-intel-compilers-2022.1.0.eb --optarch="march=core-avx2" --accept-eula-for=Intel-oneAPI --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" sg ecearth -c "eb iimpi-2022.06.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" sg ecearth -c "eb HDF5-1.12.2-iimpi-2022.06.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" sg ecearth -c "eb netCDF-4.9.0-iimpi-2022.06.eb --optarch="march=core-avx2" --hide-deps=M4,Bison,flex,zlib,pkg-config,binutils,OpenSSL,help2man,ncurses,libpng,bzip2,cURL,NASM,pkgconf,ncurses,jbigkit,gettext,XZ,libarchive,libjpeg-turbo,libdeflate,gzip,lz4,zstd,LibTIFF,Szip,libiconv,util-linux,libtool,expat,groff,libxml2,JasPer,Doxygen,googletest,libaec,libevent,libreadline,nlohmann_json,DB,UDUNITS,Tcl,SQLite,Autoconf,Automake,Autotools,numactl,xorg-macros,libpciaccess,PROJ,hwloc,UCC,ecCodes,Perl,JasPer,intltool,UnZip,gperf,Brotli,git,freetype,GMP,libffi,fontconfig,Rust,Meson,X11,ANTLR,libtirpc,GSL,PCRE,libdap,ESMF" ``` ## Contributors - ELIC members [@pbarriat](https://gogs.elic.ucl.ac.be/pbarriat)