pelicans

Ceci est une ancienne révision du document !


PELICANS

isis 4.1.0

[henry@judith ~]$ source /local/apps/isis-4.1.0/bin/init.csh

[henry@judith ~]$ isis_run -h
  • on peut lancer l'itnerface graphique xisis
  • pour accéder au tutoriel depuis xisis, aller dans Preferences, pdf-open, et remplacer acroread par evince

installé par centos → 1.6.4 (3.el7)

  • 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
[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).
--------------------------------------------------------------------------

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;”

PelicansSVN.diff

à 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"!
  • pelicans.1422610212.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)