Ceci est une ancienne révision du document !
PELICANS
isis 4.1.0
serveur judith
- /local/apps/isis-4.1.0
- le répertoire doc est recopié sur le serveur web, et donc accessible sur https://www.i2m.univ-amu.fr/support/pelicans/
- pour l'utiliser
[henry@judith ~]$ source /local/apps/isis-4.1.0/bin/init.csh [henry@judith ~]$ isis_run -h
: ajouter MPI, METIS, et java ?
- on peut lancer l'itnerface graphique xisis
- pour accéder au tutoriel depuis xisis, aller dans Preferences, pdf-open, et remplacer acroread par evince
version parallèle
openmpi
installé par centos → 1.6.4 (3.el7)
metis
- Warning: install METIS as a dynamic library ( in METIS directory, make COPTIONS=-fPIC )
- modifier Makefile.in
- /local/apps/metis-4.0.3
- dans Lib/proto.h, on commente les déclarations de drand48, srand48 et ilog2 sinon pelicans/isis ne compilera pas
[devel1@judith ~/metis-4.0.3]$ make | & tee MAKE.LOG
pelicans sans metis
[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
pelicans avec metis
[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 ================================================================================= make[1]: Entering directory `/local/apps/isis-4.1.0/PELICANS' pel: building Makefile make[2]: Entering directory `/local/apps/isis-4.1.0/PELICANS' pel: compiling EXT_MPIcommunicator.cc pel: compiling EXT_MPI_API.cc pel: compiling EXT_METISsplitting.cc In file included from /local/apps/metis-4.0.3/Lib/metis.h:36:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /local/apps/metis-4.0.3/Lib/proto.h:458:16: error: declaration of ‘double drand48()’ has a different exception specifier double drand48(); ^ In file included from /local/apps/metis-4.0.3/Lib/metis.h:17:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /usr/include/stdlib.h:389:15: error: from previous declaration ‘double drand48() throw ()’ extern double drand48 (void) __THROW; ^ In file included from /local/apps/metis-4.0.3/Lib/metis.h:36:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /local/apps/metis-4.0.3/Lib/proto.h:459:18: error: declaration of ‘void srand48(long int)’ has a different exception specifier void srand48(long); ^ In file included from /local/apps/metis-4.0.3/Lib/metis.h:17:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /usr/include/stdlib.h:403:13: error: from previous declaration ‘void srand48(long int) throw ()’ extern void srand48 (long int __seedval) __THROW; ^ make[2]: *** [/local/apps/isis-4.1.0/PELICANS/lib/Linux-gcc/opt0/EXT_METISsplitting.o] Error 1 make[2]: Leaving directory `/local/apps/isis-4.1.0/PELICANS' make[2]: Entering directory `/local/apps/isis-4.1.0/PELICANS' pel: compiling EXT_METISsplitting.cc In file included from /local/apps/metis-4.0.3/Lib/metis.h:36:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /local/apps/metis-4.0.3/Lib/proto.h:458:16: error: declaration of ‘double drand48()’ has a different exception specifier double drand48(); ^ In file included from /local/apps/metis-4.0.3/Lib/metis.h:17:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /usr/include/stdlib.h:389:15: error: from previous declaration ‘double drand48() throw ()’ extern double drand48 (void) __THROW; ^ In file included from /local/apps/metis-4.0.3/Lib/metis.h:36:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /local/apps/metis-4.0.3/Lib/proto.h:459:18: error: declaration of ‘void srand48(long int)’ has a different exception specifier void srand48(long); ^ In file included from /local/apps/metis-4.0.3/Lib/metis.h:17:0, from /local/apps/isis-4.1.0/PELICANS/packages/ExternalAPI/METIS_4.0.1/src/EXT_METISsplitting.cc:65: /usr/include/stdlib.h:403:13: error: from previous declaration ‘void srand48(long int) throw ()’ extern void srand48 (long int __seedval) __THROW; ^ make[2]: *** [/local/apps/isis-4.1.0/PELICANS/lib/Linux-gcc/opt0/EXT_METISsplitting.o] Error 1 make[2]: Leaving directory `/local/apps/isis-4.1.0/PELICANS' make[1]: *** [lib/Linux-gcc/libpel0.so] Error 2 make[1]: Leaving directory `/local/apps/isis-4.1.0/PELICANS' make: *** [PELICANS0] Error 2
pelicans
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
9 jan 09 utilisation de stlport4
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:
8 jan 09 utilisation de Apache C++ stdlib
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
7 avril 05
2 mai 05 qq remarques:
- 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?
19 avril 05 creation d'un compte pelicans
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
13 avril 05: installation de pelicans
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"!