Menu

pb building and running typhon with pgi

Help
2009-09-22
2013-04-16
  • Marc Odunlami

    Marc Odunlami - 2009-09-22

    Hello

    I built typhon v 0.5 with pgi compilers v.9. I used metis v4 and cgns v.2.54, all built with pgi v.9.
    Concerning mpich, it was provided by the pgi v.9 installation so it was built with it.
    When I built typhon I had to declare explicitly the type of the function "erf" (lines 75 and76 in" EQNS/calc_flux_efm.f90") for pgf90 to recognize it, otherwise it would not compile the code:   "real(krp) :: erf"

    When typhon is built and installed I tryed to run the example "VALIDATION/VISCOUS/POISEUILLE" but I got an "allocation problem" either with "Typhon-seq" or "Typhon-mpi" executables :

    $ Typhon-seq

    ******************************************************
    * TYPHON V 0.5.0                                     *
    ******************************************************

    ##########################################
    > LECTURE : fichier menu principal
    0: ALLOCATE: 18446744073709551615 bytes requested; not enough memory
    $
    ***********

    $ Typhon-mpi
    I am             1 among            1  procs

    ******************************************************
    * TYPHON V 0.5.0                                     *
    ******************************************************

    ##########################################
    > LECTURE : fichier menu principal
    0: ALLOCATE: 18446744073709551615 bytes requested; not enough memory
    $

    Do you have any idea of the origin of such a problem?

    Thank you in advance.

     
  • Jeremie Gressier

    - Since erf is not an intrinsic fortran function, its use can be dependent on your compiler.
    - your error with POISEUILLE test case is surprising. It works fine with my executable. The amount of requested memory has no sense! Could you add debugging or tracing options (in SOURCE/defvar.make) in order to know the fortran lines involved there ? (I have no access to pgi compiler)
    - you can also synchronize your version (see http://typhon.sourceforge.net/spip/spip.php?article19 )
    - one last thing: running Typhon-mpi needs something like "mpirun -np 4  Typhon-mpi"

     
  • Nobody/Anonymous

    The pgi debugger does not provide me much clue on the codes lines involved. It just says that teh errors occurs in the main program
    pgdbg> list
    #1:     !----------------------------------------------------!
    #2:     ! PROGRAM : TYPHON                              Authors : J. Gressier (admin)
    #3:     !                                               see http://typhon.sf.net
    #4:     !                                               Created : July 2002
    #5:     !
    #6:     ! Plateforme de resolution de systemes d'equations
    #7:     ! par discretisation Volumes Finis / Singularites
    #8:     !  
    #9:     ! Historique des versions (cf fichier VERSIONS)
    #10:     !

    But I am not very familiar with this debugger so I will tell you if I can make him say more things when I get used to it.

    Anyway, the error could be an issue of the pgi compiler version. Event though you do not have access to pgi at the moment, I supposed that before realeasing your codes you used some version of pgi to make tests. Which version did you use to perform your tests?

    Finally, I give you the output of the "configure.sh", and the "defvar.make" that I got. Hope it helps :

    $ ./configure.sh

    TYPHON configuration

    ./configure.sh: line 16: mpi mpich lampi mpi_f90: command not found
    checking native system…                                  Linux
    checking CPU model…                                      x86_64
    checking echo command…                                   echo
    checking diff command…which: no ndiff in (/home/modunlam/projets_temp/typhon-pgi/typhon/local/typhon:/opt/pgi/linux86-64/9.0/bin:/opt/pgi/linux86-64/9.0/mpi/mpich/bin:/usr/lib64/qt-3.3/bin:/opt/pgi/linux86-64/9.0/bin:/opt/pgi/linux86-64/9.0/mpi/mpich/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/modunlam/bin)
                                                               /usr/bin/diff
    checking fortran 90 compiler…                            /opt/pgi/linux86-64/9.0/bin/pgf90
    checking pgf90 fortran 90 conformance…                   successfully compiled
                                                               checked
    checking static library cgns…                            /home/modunlam/projets_temp/typhon-pgi/cgnslib_2.5/lib/libcgns.a
    checking static library metis…                           /home/modunlam/projets_temp/typhon-pgi/metis-4.0/libmetis.a
    checking static library fmpich…                          /opt/pgi/linux86-64/9.0/mpi/mpich/lib/libfmpich.a
    checking static library mpich…                           /opt/pgi/linux86-64/9.0/mpi/mpich/lib/libmpich.a
    checking static library mpichf90…                        /opt/pgi/linux86-64/9.0/mpi/mpich/lib/libmpichf90.a
    checking pgf90 optimization options…                     -fastsse -Munroll=n:4 -Mipa=fast,inline -I/opt/pgi/linux86-64/9.0/mpi/mpich/include
    checking -fastsse -Munroll=n:4 -Mipa=fast,inline -I/opt/pgi/linux86-64/9.0/mpi/mpich/include options…                                    successfully compiled
                                                               checked
    checking pgf90 debug options…                            -g -I/opt/pgi/linux86-64/9.0/mpi/mpich/include
    checking -g -I/opt/pgi/linux86-64/9.0/mpi/mpich/include optsuccessfully compiled
                                                               checked
    checking pgf90 profiling options…                        -fastsse -Munroll=n:4 -Mipa=fast,inline -I/opt/pgi/linux86-64/9.0/mpi/mpich/include -pg
    checking -fastsse -Munroll=n:4 -Mipa=fast,inline -I/opt/pgi/linux86-64/9.0/mpi/mpich/include -pg options…                                successfully compiled
                                                               checked
    checking fortran 90 module creation…                     extension mod
                                                               lower-case name
    Configuration ended
    Writing Shell configuration…
    Writing Makefile configuration…
    Done


    to build TYPHON : cd SOURCE ; gmake clean ; gmake all OPT=opt

    $

    $ more SOURCE/defvar.make
    # This file was created by configure.sh

    SHELL       = /bin/bash
    MAKEDEPENDS = Util/make_depends lower
    MOD         = mod
    CF          = pgf90
    FB          = -I$(PRJINC)
    FO_debug    = -g -I/opt/pgi/linux86-64/9.0/mpi/mpich/include
    FO_opt      = -fastsse -Munroll=n:4 -Mipa=fast,inline -I/opt/pgi/linux86-64/9.0/mpi/mpich/include
    FO_prof     = -fastsse -Munroll=n:4 -Mipa=fast,inline -I/opt/pgi/linux86-64/9.0/mpi/mpich/include -pg
    FO_         = $(FO_opt)
    FO          = $(FO_$(OPT))
    LINKER      = $(CF)
    LINKSO      = $(CF) -shared
    METISLIB    = /home/modunlam/projets_temp/typhon-pgi/metis-4.0/libmetis.a
    CGNSLIB     = /home/modunlam/projets_temp/typhon-pgi/cgnslib_2.5/lib/libcgns.a
    #LAPACKLIB   = 
    MPILIB      = /opt/pgi/linux86-64/9.0/mpi/mpich/lib/libmpich.a
    #MPIOPT      = $(mpif90 -showme:compile)
    #MPILIB      = $(mpif90 -showme:link)
    $

     
  • Marc Odunlami

    Marc Odunlami - 2009-09-23

    Sorry the precedent post was mine and I forgot to identify myself…

     
  • Marc Odunlami

    Marc Odunlami - 2009-09-28

    Hello

    I partially solved my problem :
    - first by synchronizing my version
    - second by using almost  the same optimization options for the buiding of cngs, metis and typhon (-O2 for metis and cgns, and -O3 for typhon)
    - third by using the -fPIC option for the compilation of typhon

    The "Typhon-seq" executable works fine but I still have an issue with the "Typhon-mpi" executable. On the VISCOUS/POISEUILLE case I still have a problem with the reading of the cgns file :

    $ mpirun -np 1 /home/modunlam/projets_temp/typhon-pgi-svn/typhon/local/typhon/Typhon-mpi I am             1 among            1  procs

    ******************************************************
    TYPHON V 0.5.0  (678M)
    ******************************************************

    ###################################################
    > PARAMETERS reading : main file (main.rpm)

    #################################################
    > PARAMETERS : parsing and initialization
    * Project definition
    . number of project zones      :  1
    . number of coupling relations :  0
    2D framework
    STEADY computation (pseudo unsteady convergence)
    * Definition of output parameters
      . file  1: VTK format
        data set type:CELL
    Poursuite de la lecture des parametres ZONE
    - mesh definition
    - Definition of Fluid Model
        Laminar Navier-Stokes equations
        Perfect Gas 'AIR'
    - Definition of time integration parameters
      . time step defined by stability condition
      . IMPLICIT integration
        Bi-Conjugate Gradient Stabilized iterative inversion (BiCG-Stab)
    - Definition of spatial numerical parameters
      numerical flux : HLLC
      No high order extension
        post-limiter: NONE
    - Definition des parametres de raffinememt automatique (AMR)
    - Definition of MPI parameters and strategy
    - Number of coupled zones
    * Definition of Boundary Conditions (BOCO)
        family name TOP         : condition ISOTHERMAL_WALL
        family name BOTTOM      : condition ISOTHERMAL_WALL
        family name LEFT        : condition SUBSONIC_INLET
        family name RIGHT       : condition SUBSONIC_OUTLET
    * Definition of  Connections
    - Definition of Initial Conditions
      Parsing parameters for uniform initial conditions
      parsing       PI = 1.02E5
      parsing       TI = 300.
      parsing     MACH = 0.05
    - Probes definition
      no used-defined probe
    - Definition des parametres optionnels
    - Check parameters consistency and further initialization

    #####################################
    > MPI STRATEGY: preprocessing

    ###############################################
    > INPUTS : mesh and boundary conditions
    * READING CGNS MESH: channel2d.cgns
    . 1base(s) in CGNS file channel2d.cgns
    - BASE BASE#1 : maillage surfacique
       1 zone(s) dans la base  1
    - Zone  1: typeUnstructured
    lecture de maillage :         3131 x            1 x            1 noeuds
    reading element connectivity:    3000 elements
    . QUAD_4    :    3000 elements with 4 vertices
    . BAR_2     :     260 elements with 2 vertices
    . lecture de   4 conditions aux limites
    . tagged element section*** : BC1_on_LEFT
        type UserDefined,     30 items
    Lecture CGNS: Probleme a la lecture des conditions aux limites
        1
    $

    Any ideas?

     
  • Jeremie Gressier

    First, glad that you manage to compile Typhon. Can you send me
        (gressier arobas isae dot fr) your
        defvar.make file ? I'll change the
        configure.sh so that it can handle
        the pgi configuration.
       
    Considering your mpi computation:

    1. that's weird to run a 1 thread
        parallel computation but I checked
        it works on my computer

    2. one message  is not the same
    <pre>    . tagged element section*** : BC1_on_LEFT </pre>
       mine are
    <pre>
      . linking boundary condition marks  1/4: LEFT
          face tagging method
          30 mesh faces tagged
      . linking boundary condition marks  2/4: RIGHT
          face tagging method
          30 mesh faces tagged
      . linking boundary condition marks  3/4: TOP
          face tagging method
          100 mesh faces tagged
      . linking boundary condition marks  4/4: BOTTOM
          face tagging method
          100 mesh faces tagged
    </pre>
    It can be either due to the cgns library or your cgns file. can you send me the log of sequential run and your cgns file (to check I use the same).

     
  • Marc Odunlami

    Marc Odunlami - 2009-09-28

    The mpirun with one processus was only to check if "Typhon-mpi" worked well. I send you the files right now.

     

Log in to post a comment.