PELICANS
[henry@judith ~]$ source /local/apps/isis-4.1.0/bin/init.csh [henry@judith ~]$ isis_run -h
installé par centos → 1.6.4 (3.el7)
[devel1@judith ~/metis-4.0.3]$ make | & tee MAKE.LOG
[devel1@judith ~/isis-4.1.0]$ diff PELICANS/etc/extra-Linux.mak-ori PELICANS/etc/extra-Linux.mak 10c10 < WITH_MPI = 0 --- > WITH_MPI = 1 148c148 < MPIRUN = /home/semar/pelican/ExternalPackages/Linux/openmpi/bin/mpirun --- > MPIRUN = /usr/lib64/openmpi/bin/mpirun 155,156c155,156 < CPPFLAGS += -I$(MPIPATH)/include < MPIPATH = $(EXTRA_LIBS_DIR)/openmpi --- > CPPFLAGS += -I/usr/include/openmpi-x86_64 -I$(MPIPATH)/include > MPIPATH = /usr/lib64/openmpi
[devel1@judith ~/isis-4.1.0]$ make install | & tee INSTALL.LOG ... -------------------------------------------------- | Test is successful -------------------------------------------------- ************************************************** * number of successful tests: 214 * number of ambiguous tests: 0 * number of failing tests: 0 ************************************************** *** Elapsed time in second: user 0.084841 **** * target test_install completed **************************************** make[1]: Leaving directory `/local/apps/isis-4.1.0/ISIS'
on passe les tests MPI
[devel1@judith ~/isis-4.1.0]$ source /local/apps/isis-4.1.0/bin/init.csh
[devel1@judith ~/isis-4.1.0]$ make test_MPI
...
****************************************
make[1]: Leaving directory `/local/apps/isis-4.1.0/ISIS'
=================================================================================
Test MPI
=================================================================================
*** Operating system: Linux
*** Executable: /local/apps/isis-4.1.0/ISIS/lib/Linux-gcc/opt0.exe
*** Data file: /local/apps/isis-4.1.0/PELICANS/etc/ExternalAPI/MPI/tests_enabling/data.pel
*** PELICANS library
compiler : gcc
compilation date : Nov 29 2014
compilation level : opt0
----------------------------------------------------
| Unit tests performed on class PEL_Expression :
====================================================
| ... MPI_enabling_test kind : OK
| ... MPI_enabling_test evaluation : OK
====================================================
| End of 2 tests of class PEL_Expression in 2.4e-05 s
----------------------------------------------------
---- Success of all unit tests ----
*** Elapsed time in second:
user 0.00017
[devel1@judith ~/isis-4.1.0]$ diff PELICANS/etc/extra-Linux.mak-ori PELICANS/etc/extra-Linux.mak 10c10 < WITH_MPI = 0 --- > WITH_MPI = 1 24c24 < WITH_METIS = 0 --- > WITH_METIS = 1 148c148 < MPIRUN = /home/semar/pelican/ExternalPackages/Linux/openmpi/bin/mpirun --- > MPIRUN = /usr/lib64/openmpi/bin/mpirun 155,156c155,156 < CPPFLAGS += -I$(MPIPATH)/include < MPIPATH = $(EXTRA_LIBS_DIR)/openmpi --- > CPPFLAGS += -I/usr/include/openmpi-x86_64 -I$(MPIPATH)/include > MPIPATH = /usr/lib64/openmpi 236c236 < METISPATH = $(EXTRA_LIBS_DIR)/metis --- > METISPATH = /local/apps/metis-4.0.3
et on lance la compilation
[devel1@judith ~/isis-4.1.0]$ make install | & tee INSTALL.LOG
=================================================================================
Configuration file
=================================================================================
Hostname: judith.cmi.univ-mrs.fr
Compiler: gcc
Architecture-Makefile searched in:
/local/apps/isis-4.1.0/PELICANS/etc
judith.cmi.univ-mrs.fr-gcc
judith.cmi.univ-mrs.fr-undef
Linux_3.10.0-gcc
* Linux-gcc /local/apps/isis-4.1.0/PELICANS/etc/Linux-gcc.mak
undef-gcc
Linux_3.10.0-undef
Linux-undef
Extra-Makefile searched in:
/local/apps/isis-4.1.0/PELICANS/etc
judith.cmi.univ-mrs.fr-gcc
judith.cmi.univ-mrs.fr-undef
Linux_3.10.0-gcc
Linux-gcc
undef-gcc
Linux_3.10.0-undef
* Linux-undef /local/apps/isis-4.1.0/PELICANS/etc/extra-Linux.mak
Compiler Architecture name: Linux-gcc
External libraries:
MPI: enabled
JAVA: disabled
METIS: enabled
=================================================================================
Installing PELICANS, level=opt0
=================================================================================
...
| Test is successful
--------------------------------------------------
--------------------------------------------------
| ISIS/IHM/samples/WallConduction/DoRun
--------------------------------------------------
| Test is successful
--------------------------------------------------
**************************************************
* number of successful tests: 214
* number of ambiguous tests: 0
* number of failing tests: 0
**************************************************
*** Elapsed time in second:
user 0.068729
****
* target test_install completed
****************************************
make[1]: Leaving directory `/local/apps/isis-4.1.0/ISIS'
on modifie le data.pel, comme indiqué dans le tutorial (p72):
[ghenry@holopherne RoomFire]$ grep parallel *.pel data.pel:execution_mode="parallel" [ghenry@holopherne RoomFire]$ grep splitt *.pel data.pel:splitting_strategy="METIS"
et on lance le calcul, sur une machine qui a 30 slots (CentOS 7, openmpi openmpi-1.6.4-3):
[ghenry@holopherne RoomFire]$ which mpirun /usr/lib64/openmpi/bin/mpirun
[ghenry@holopherne RoomFire]$ isis_run data.pel resu -np 2 Process #0 : launched on holopherne.cmi.univ-mrs.fr (79758). Process #1 : launched on holopherne.cmi.univ-mrs.fr (79759). Process #1 : terminated. Process #0 : terminated. Process #0 : launched on holopherne.cmi.univ-mrs.fr (79766). Process #1 : launched on holopherne.cmi.univ-mrs.fr (79767). terminate called after throwing an instance of 'PEL_Exceptions::InternalError' -------------------------------------------------------------------------- mpirun noticed that process rank 1 with PID 79767 on node holopherne.cmi.univ-mrs.fr exited on signal 11 (Segmentation fault). --------------------------------------------------------------------------
ce bug est dû à une mauvaise version du fichier CALIFS/packages/simulators/heat_transfer/src/IS_Enthalpy.cc. On le remplace, puis:
make APPLI0
et ça passe
sur octopus: CentOS, 64bits
Le couplage à MUMPS (+mpi) est dispo dans PELICANS. A Cadarache, ils utilisent les librairies suivantes pour linker avec PELICANS :
CPPFLAGS += -I$(MUMPS)/include
LIBPATH += $(MUMPS)/lib
SCALAP = -L$(SCALAPACK)/lib -lscalapack -lblacs -lblacsF77 -lblacsC -lblacs -lblacsF77 -lblacsC
LIBBLAS = -lblas -llapack -lmpi_f77 -lmpi_f90
LDLIBS += -ldmumps -lmumps_common ${SCALAP} ${LIBBLAS} -lpord
/usr/lib/libscalapack.so.1 /usr/lib/libmpiblacs.so.1 /usr/lib/libmpiblacsCinit.so.1 /usr/lib/libmpiblacsCinit.so.1.0.0 /usr/lib/libmpiblacsF77init.so.1 /usr/lib/libmpiblacsF77init.so.1.0.0 /usr/lib64/libblas.so.3 /usr/lib/liblapack.so.3.0.3 /usr/lib64/liblapack.so.3
sur nemo: solaris 10, amd64
pour contourner le problème suivant avec la librairie standard ancienne:
"/local/henry/PelicansSVN/PDEsolver/src/PDE_BasisFunctionCell.cc", line 205: Error: Could not find a match for std::count<std::InputIterator, std::T, std::Size>(PDE_BasisFunctionCell**, PDE_BasisFunctionCell**, PDE_BasisFunctionCell*) needed in PDE_BasisFunctionCell::set_child_parent_relationship(PDE_BasisFunctionCell*, double, bool).
modifications de SunOS-CC.mak
24c24 < CXXFLAGS += $(OPT) -KPIC --- > CXXFLAGS += $(OPT) -KPIC -library=stlport4 35c35 < LDLIBSSO = -lCstd -lCrun --- > LDLIBSSO = -library=stlport4 -lCrun
ensuite, il faut faire un certain nombre de modifs sur les sources, essentiellement pour ajouter “using namespace std;”
à propos du comportment du compilateur CC:
modifications
nemo-henry% diff /tmp/SunOS-CC.mak local_arch_64/SunOS-CC.mak 24c24 < CXXFLAGS += $(OPT) -KPIC --- > CXXFLAGS += $(OPT) -KPIC -I/local/apps/lib/amd64/APACHE-4.2.1/include 29c29,30 < LDFLAGS += $(OPT) -KPIC --- > LDFLAGS += $(OPT) -KPIC -R/local/apps/lib/amd64/APACHE-4.2.1/lib/ -L/local/apps/lib/amd64/APACHE-4.2.1/lib/ > 35c36 < LDLIBSSO = -lCstd -lCrun --- > LDLIBSSO = -library=%none -lstd15D#-lCstd -lCrun
erreur à la compilation
"/local/henry/PelicansSVN/PDEsolver/src/PDE_BasisFunctionCell.cc", line 205: Error: Could not find a match for std::count<std::InputIterator, std::T, std::Size>(PDE_BasisFunctionCell**, PDE_BasisFunctionCell**, PDE_BasisFunctionCell*) needed in PDE_BasisFunctionCell::set_child_parent_relationship(PDE_BasisFunctionCell*, double, bool). "/local/henry/PelicansSVN/PDEsolver/src/PDE_BasisFunctionCell.cc", line 207: Error: Could not find a match for std::count<std::InputIterator, std::T, std::Size>(PDE_BasisFunctionCell**, PDE_BasisFunctionCell**, PDE_BasisFunctionCell*) needed in PDE_BasisFunctionCell::set_child_parent_relationship(PDE_BasisFunctionCell*, double, bool). "/local/henry/PelicansSVN/PDEsolver/src/PDE_BasisFunctionCell.cc", line 480: Error: Could not find a match for std::count<std::InputIterator, std::T, std::Size>(PDE_BasisFunctionCell**, PDE_BasisFunctionCell**, PDE_BasisFunctionCell*) needed in PDE_BasisFunctionCell::set_ascendant_relationship(PDE_BasisFunctionCell*). "/local/henry/PelicansSVN/PDEsolver/src/PDE_BasisFunctionCell.cc", line 482: Error: Could not find a match for std::count<std::InputIterator, std::T, std::Size>(PDE_BasisFunctionCell**, PDE_BasisFunctionCell**, PDE_BasisFunctionCell*) needed in PDE_BasisFunctionCell::set_ascendant_relationship(PDE_BasisFunctionCell*). 4 Error(s) detected. make[1]: *** [/local/henry/PelicansSVN/lib/SunOS-CC/opt2/PDE_BasisFunctionCell.o] Error 4
- l. chailan me parle d'opengl, mais c'est a 0 dans extra-sunos.mak?! - ca compile avec le flag EXTENDED_MATH mais ca ne linke jamais avec la perflib de sun?
accessible par les gens de l'irsn sur nemo, mon repertoire PELICANS est recopie dans /local/pelicans/PELICANS il y a des erreurs pendant la copie: nemo-root% cp -rp ~henry/PELICANS /local/pelicans/ cp: cannot access /local/henry/PELICANS/07_04_2005/doc/Site/APPLICATION_Documentations/Tutorial/tests/fem/doc/save.gene cp: cannot access /local/henry/PELICANS/07_04_2005/doc/Site/APPLICATION_Documentations/Tutorial/tests/fem/doc/visu cp: cannot access /local/henry/PELICANS/07_04_2005/doc/Site/APPLICATION_Documentations/Tutorial/tests/fvm/doc/save.gene cp: cannot access /local/henry/PELICANS/07_04_2005/doc/Site/APPLICATION_Documentations/Tutorial/tests/fvm/doc/visu cp: cannot access /local/henry/PELICANS/07_04_2005/doc/Site/APPLICATION_Documentations/Helmholtz_Galerkin/tests/sincos/doc/save.gene c'est parce que: nemo-root% ll /local/henry/PELICANS/07_04_2005/doc/Site/APPLICATION_Documentations/NavierStokes_StaggeredGrid/tests/Poiseuille3D/doc/visu 2 lrwxrwxrwx 1 henry sysadmin 99 Apr 13 08:26 /local/henry/PELICANS/07_04_2005/doc/Site/APPLICATION_Documentations/NavierStokes_StaggeredGrid/tests/Poiseuille3D/doc/visu -> /home/semar/pelican/CURRENT/StandardApplications/NavierStokes_StaggeredGrid/tests/Poiseuille3D/visu la doc pointe sur un rep qui n'existe pas
plateforme: amd64 OS: SunOS compilateur: cc - utiliser gmake au lieu de make - creer un fichier SunOS-CC.mak et extra-SunOS.mak dans $PELARCHDIR - ajouter les variables d'environnment: CCC=CC PELARCHDIR=... - gmake -e environment - pel arch -v CC - gmake -e all >& MAKE-CC.LOG - gmake -e check >& CHEK-CC.LOG Le fichier CHEK-CC.LOG contient 23 "FATAL ERROR"!