Last active
March 7, 2021 17:34
-
-
Save xulman/07fbaa26108cc5fa90568f805005513e to your computer and use it in GitHub Desktop.
How to compile EmbryoGen on IT4I's supercomputers
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# plan: | |
# ----- | |
# 1) get EmbryoGen source code | |
# 2) set up the environment | |
# a) with: module add git, then GCC/10.2.0, CMake, OpenMPI/4.0.5-GCC-10.2.0 | |
# b) calling a script from EmbryoGen's repo | |
# 3) download, compile and install locally all necessary libs | |
# 4) setup & compile EmbryoGen | |
# ...detailed: | |
# ------------ | |
# 1) get EmbryoGen source code | |
git clone [email protected]:xulman/EmbryoGen.git | |
(or: git clone https://github.com/xulman/EmbryoGen.git ...if it works better for you) | |
cd EmbryoGen | |
# 2) set up the environment | |
. libs/addModulesAtIT4I (or . libs/addModulesAtIT4I_salomon) | |
# 3) download, compile and install locally all necessary libs | |
cd libs | |
./prepareEverything.sh | |
# grab a coffee... and note the last printed hint | |
cd .. | |
# 4) setup & compile EmbryoGen | |
mkdir BUILD | |
cd BUILD | |
cmake -D FEATURE_RUNDISTRIBUTED=ON .. (or cmake -D FEATURE_USEOpenMP=ON ..) | |
cmake -D ZeroMQ_DIR=$PWD/../libs/DEPLOY/lib64/cmake/ZeroMQ \ | |
-D INC_I3D=$PWD/../libs/DEPLOY/include \ | |
-D INC_GSL=$PWD/../libs/DEPLOY/include \ | |
-D INC_CPPZMQ=$PWD/../libs/DEPLOY/include \ | |
-D INC_DAISwp13=$PWD/../libs/DEPLOY/include \ | |
-D LIB_DAISwp13=$PWD/../libs/DEPLOY/lib64/libDAIS-wp13.a \ | |
-D SEARCH_ALL_DEPLIBS=ON \ | |
-D SEARCH_FOR_STATIC=ON \ | |
-D CMAKE_LIBRARY_PATH=$PWD/../libs/DEPLOY/lib64 .. | |
# notes: | |
# ------ | |
# yes, the 'cmake' indeed needs to be run twice! | |
- in the first run, the standard installation of openmpi is found | |
- in the second run, the search paths is reset to where we had prepared 3rd party libs, | |
in consequence, the openmpi (and openMP too) will no longer be found | |
- hopefully, CMake does not re-detect what's already been detected... | |
- and yes, it is normal that quite some error messages are displayed in the first round | |
# how to override to different installation of OpenMPI? | |
- start CMake in GUI: ccmake .. | |
- hit 'T' (advanced options) | |
- locate MPIEXEC_EXECUTABLE and adjust it to point on the 'mpiexec' you wish to run | |
- delete (with 'D') all other MPIEXEC_* and MPI_* options | |
- hopefully, CMake will re-set everything to match the installation of 'mpiexec' of your choice above | |
- since one sets the path to openmpi explicitly, this operation can be done anytime later |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment