code_aster v13.6 parallel version

This page is a note of the work to build parallel version.

(In the case of Code aster v14.4 is here.)

0.preparation

Preparation is same as the case of CodeAster 13.6.
Some packages are installed as follows.

$sudo apt-get install  gfortran g++ python-dev python-numpy liblapack-dev libblas-dev tcl tk zlib1g-dev bison flex checkinstall openmpi-bin libx11-dev cmake grace gettext libboost-all-dev swig

 

1.OpenBLAS

To get source code from author’s HP. Then execute following procedure.

$ tar xfvz OpenBLAS-0.2.20.tar.gz
$ cd OpenBLAS-0.2.20
$ make NO_AFFINITY=1 USE_OPENMP=1
$ make PREFIX=/opt/OpenBLAS install
$ echo /opt/OpenBLAS/lib | sudo tee -a /etc/ld.so.conf.d/openblas.conf
$ sudo ldconfig
2.Code_Aster eith OpenBLAS
First, the source code of code_aster is unpacked. Next, “setup.py” is modified according to the reference.
$ cd aster-full-src-13.6.0
$ sed -i "s:PREFER_COMPILER\ =\ 'GNU':PREFER_COMPILER\ =\'GNU_without_MATH'\nMATHLIB=\ '/opt/OpenBLAS/lib/libopenblas.a':g" setup.cfg

And

$ python setup.py install

After the build complete, to make host file for parallel calculation.

$ echo "$HOSTNAME cpu=$(cat /proc/cpuinfo | grep processor | wc -l)" > /opt/aster/etc/codeaster/mpi_hostfile
3.ScaLAPACK
$ tar xfvz scalapack_installer.tgz
$ cd scalapack_installer
$ ./setup.py --lapacklib=/opt/OpenBLAS/lib/libopenblas.a --mpicc=mpicc --mpif90=mpif90 --mpiincdir=/usr/lib/x86_64-linux-gnu/openmpi/include --ldflags_c=-fopenmp --ldflags_fc=-fopenmp --prefix=/opt/scalapack
Over.
4.Parmetis

Get source code and unpack it.

$ tar xvf parmetis-4.0.3.tar.gz
$ cd parmetis-4.0.3
$ make config prefix=/opt/parmetis-4.0.3
$ make

Next, checking.

$ cd Graphs
$ mpirun -np 8 ptest rotor.graph rotor.graph.xyz

When any error is reported, go to~/parmetis-4.0.3 and execute follows:

$ make install

This part is finished.

5.Scotch and Ptscotch

Unpack scotch-6.0.4-aster5.tar.gz which is included the package of code_aster in /opt.

$ cd /opt/scotch-6.0.4/src

Makefile.inc is here.

$ make scotch esmumps ptscotch ptesmumps CCD=mpicc

After building, check it.

$make check
$make ptcheck

This part is finised.

6.MUMPS

Pick mumps-5.1.1-aster2.tar.gz from the package of code_aster out and unpack it in /opt. The name of folder is changed to mumps-5.1.1-mpi.

$ cd /opt/mumps-5.1.1-mpi

Makefile.inc is here.

$ make all

Next, to go to ~/examples and check the MUMPS.

7.Petsc

petsc-3.7.7.tar.gz is downloaded from author’s HP. Then unpack it in /opt. First step is “config”.

$ cd /opt/petsc-3.7.7
$ ./config/configure.py --with-mumps-dir=/opt/mumps-5.1.1-mpi --with-openmpi-dir=/usr/lib/x86_64-linux-gnu/openmpi --with-blas-lapack-lib=[/opt/OpenBLAS/lib/libopenblas.a] --download-hypre=yes --download-ml=yes --with-debugging=0 COPTFLAGS=-O1 CXXOPTFLAGS=-O1 FOPTFLAGS=-O1 --with-x=0 --with-shared-libraries=0 --with-scalapack-dir=/opt/scalapack --PETSC_ARCH=linux-metis-mumps --with-metis-dir=/opt/aster/public/metis-5.1.0 --with-parmetis-dir=/opt/parmetis-4.0.3 --with-scotch-dir=/opt/scotch-6.0.4 --with-ptscotch-dir=/opt/scotch-6.0.4 LIBS=-lgomp --configModules=PETSc.Configure --optionsModule=PETSc.compilerOptions

Next step is “make”

$ make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=linux-metis-mumps all

Then a check of function.

$ make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=linux-metis-mumps test
$ make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=linux-metis-mumps streams

This part is finished.

8.Parallel version Code_Aster

Go to the folder stored the source code of code_aster. And unpack aster-13.6.0.

$ cd ~/Install_Files
$ cd aster-full-src-13.6.0/SRC
$ tar xfvz aster-13.6.0.tgz
$ cd aster-13.6.0

Next a part of ~/waftools/mathematics.py is modified to skip the checking of blacs.

# program testing a blacs call, output is 0 and 1
blacs_fragment = r"""
program test_blacs
    integer iam, nprocs
#    call blacs_pinfo (iam, nprocs)
#    print *,iam
#    print *,nprocs
end program test_blacs
"""

Then copy Ubuntu_gnu.py and Ubuntu_gnu_mpi.py to the folder. Now preparation of build is ready.

$ export ASTER_ROOT=/opt/aster
$ ./waf configure --use-config-dir=$ASTER_ROOT/13.6/share/aster --use-config=Ubuntu_gnu_mpi --prefix=$ASTER_ROOT/PAR13.6MUPT2
$ ./waf install -p

When build is finised. add register the parallel version to /opt/aster/etc/codeaster/aster.

# Code_Aster versions
# versions can be absolute paths or relative to ASTER_ROOT
# examples : NEW11, /usr/lib/codeaster/NEW11

# default version (overridden by --vers option)
default_vers : stable

# available versions
# DO NOT EDIT FOLLOWING LINE !
#?vers : VVV?
vers : stable:/opt/aster/13.6/share/aster
vers : 13.6MUPT:/opt/aster/PAR13.6MUPT2/share/aster
7.Change the setting
Open /opt/aster/etc/codeaster/asrun and edit the line of “mpi_get_procid_cmd”.
mpi_get_procid_cmd : echo $OMPI_COMM_WORLD_RANK
Next, the line regarding to “mpirun” is modified as follows.
mpirun_cmd : mpirun -np %(mpi_nbcpu)s %(program)s

Whole work is finished. Let’s Enjoy!



19 Replies to “code_aster v13.6 parallel version”

  1. Dear Mr. Hitori,

    thank you for publishing your efforts to compile a parallel version of CA13.6.

    I have followed your instructions on this page faithfully, but yet I have stumbled at two issues, and got stuck in the latter:

    1) The first problem is encountered with PARMETIS:

    When I try to check the result of “make” according to your instructions by

    make config prefix=/opt/parmetis-4.0.3
    make
    cd Graphs
    mpirun -np 8 ptest rotor.graph rotor.graph.xyz

    the following error message was received:

    ————————————————————————–
    mpirun was unable to find the specified executable file, and therefore
    did not launch the job. This error was first reported for process
    rank 0; it may have occurred for other processes as well.

    NOTE: A common cause for this error is misspelling a mpirun command
    line parameter option (remember that mpirun interprets the first
    unrecognized command line token as the executable).

    Node: ip-172-31-21-63
    Executable: ptest
    ————————————————————————–
    8 total processes failed to start
    ubuntu@ip-172-31-21-63:/opt/parmetis-4.0.3/Graphs$

    Since I am not an expert in these things I could do nothing but ignore it and proceed with the installation.

    2) The next issue was with your item 8, Parallel version Code_Aster:

    I managed to proceed to the point where the two files Ubuntu_gnu.py and Ubuntu_gnu_mpi.py must be downloaded. After

    export ASTER_ROOT=/opt/aster

    I tried to launch the “waf configure” operation, according to the next command line in your example. But this failed, producing an error message

    ./waf configure –use-config-dir=$ASTER_ROOT/13.6/share/aster –use-config=Ubuntu_gnu_mpi –prefix=$ASTER_ROOT/PAR13.6MUPT2
    checking environment… no found
    Setting top to : /home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0
    Setting out to : /home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/build
    Setting prefix to : /opt/aster/PAR13.6MUPT2
    Searching configuration ‘Ubuntu_gnu_mpi’…
    Traceback (most recent call last):
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Scripting.py”, line 114, in waf_entry_point
    run_commands()
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Scripting.py”, line 175, in run_commands
    ctx=run_command(cmd_name)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Scripting.py”, line 166, in run_command
    ctx.execute()
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Configure.py”, line 87, in execute
    super(ConfigurationContext,self).execute()
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Context.py”, line 93, in execute
    self.recurse([os.path.dirname(g_module.root_path)])
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Context.py”, line 134, in recurse
    user_function(self)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/wscript”, line 157, in configure
    self.load(‘use_config’)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Configure.py”, line 153, in load
    if type(func)is type(Utils.readf):func(self)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/extras/use_config.py”, line 85, in configure
    self.load(cfg,tooldir=tooldir,**kwargs)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Configure.py”, line 141, in load
    module=Context.load_tool(tool,tooldir,ctx=self,with_sys_path=with_sys_path)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/extras/use_config.py”, line 59, in load_tool
    module=Context.load_tool_default(tool,tooldir,ctx,with_sys_path)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/.waf-1.8.22-5fa41dedfc4a80e01a7ca1d1c9d570c0/waflib/Context.py”, line 370, in load_tool
    __import__(tool)
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/Ubuntu_gnu_mpi.py”, line 12, in
    import Ubuntu_gnu
    File “/home/ubuntu/code_aster/aster-full-src-13.6.0/SRC/aster-13.6.0/Ubuntu_gnu.py”, line 22
    ISCOTCH = -I/opt/scotch-6.0.4/include
    ^
    SyntaxError: invalid syntax

    As you can see, a syntax error in the file Ubuntu_gnu.py is reported.

    I am unable to discover which error, if any, is there, and cannot therefore manage this situation by myself.

    Can I kindly request your comments on the two issues above. Thank you very much for your efforts.

    With kind regards
    Hanno Hammer

    1. Hello Dr. Hammer,

      Thank you for your comment.
      regarding your 1st comment, a pass to “ptest” was incorrect.
      In my case, the following command was successful.
      $> mpirun -np 8 /home/kk/Downloads/parmetis-4.0.3/build/Linux-x86_64/programs/ptest rotor.graph rotor.graph.xyz

      And I’m checking your 2nd comment now.
      Thank you,
      Hitori.

      1. Hi Hitori,

        I have just produced another error which I may have overlooked in the first run. It occurs at

        Item 6, MUMPS:

        I unpack the mumps package that is delivered with the code_aster files in /opt and then download the Makefile.inc from your website,

        https://hitoricae.com/wp1/wp-content/uploads/2019/06/bl2-ca136P_MUMPS.txt

        When I issue

        make all

        I get the following error:

        ubuntu@ip-172-31-40-120:/opt/mumps-5.1.1-mpi$ make all
        make ARITH=c mumps_lib
        make[1]: Entering directory ‘/opt/mumps-5.1.1-mpi’
        (cd src ; make c)
        make[2]: Entering directory ‘/opt/mumps-5.1.1-mpi/src’
        make ARITH=c mumps_lib
        make[3]: Entering directory ‘/opt/mumps-5.1.1-mpi/src’
        make[3]: Nothing to be done for ‘mumps_lib’.
        make[3]: Leaving directory ‘/opt/mumps-5.1.1-mpi/src’
        make[2]: Leaving directory ‘/opt/mumps-5.1.1-mpi/src’
        make[1]: Leaving directory ‘/opt/mumps-5.1.1-mpi’
        (cd examples ; make c)
        make[1]: Entering directory ‘/opt/mumps-5.1.1-mpi/examples’
        mpif90 -o csimpletest -O -fopenmp csimpletest.o ../lib/libcmumps.a ../lib/libmumps_common.a -L/opt/aster/public/metis-5.1.0/lib -lmetis -L../PORD/lib/ -lpord -L/opt/scotch-6.0.4/lib -lptesmumps -lptscotch -lptscotcherr -lesmumps -lscotch -lscotcherr -L/opt/parmetis-4.0.3/lib -lparmetis /opt/scalapack/lib/libscalapack.a /opt/OpenBLAS/lib/libopenblas.a -L/usr/local -lmpi -lmpi_mpifh -L/opt/OpenBLAS/lib/ -lopenblas -lpthread
        /usr/bin/ld: cannot find -lparmetis
        collect2: error: ld returned 1 exit status
        Makefile:42: recipe for target ‘csimpletest’ failed
        make[1]: *** [csimpletest] Error 1
        make[1]: Leaving directory ‘/opt/mumps-5.1.1-mpi/examples’
        Makefile:43: recipe for target ‘cexamples’ failed
        make: *** [cexamples] Error 2
        ubuntu@ip-172-31-40-120:/opt/mumps-5.1.1-mpi$

        Maybe this will help you in finding the other bug.

        Kind regards,
        Hanno

        1. Hi,

          there is a follow-up to my last post: The error with MUMPS is produced only when, in the prior installation of PARMETIS, the command

          make install

          was NOT given.

    2. Hello Hanno-san,

      For you 2nd problem, This cause is a incorrect linked file.
      I re-upload Ubuntu_gnu.py. Please recompile with using the file.
      Sorry for your inconvenience.

      Thank you,
      Hitori

  2. I have found yet another error:

    In item 7, PETSC, the command

    make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=arch-linux2-c-opt all

    does not work. It should be replaced by

    make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=linux-metis-mumps all

    This latter passes the command

    make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=linux-metis-mumps test

    but the next command

    make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=linux-metis-mumps streams

    still terminates with an error message

    makefile:52: recipe for target ‘streams’ failed
    make[1]: [streams] Error 1 (ignored)

    Kind regards
    Hanno

    1. Hello Hanno-san,

      I recompiled petsc according to the article. But I didn’t have any error.
      Can you success config command?

      Thank you.
      Hitori

  3. Hello Hitori,

    thank you for your responses so far!

    I forgot to tell you that, in my previous attempts, I have downloaded all required packages from the internet, since I could not locate their links, or your homepage, for that matter. The reason is that I cannot read the Japanese letters on your site.

    Now it seems that you have created your own compilations of at least OpenBLAS and PETSC. Could you please explain to me how I can download these packages, and from where?

    Thanks a lot for your efforts,
    Hanno

  4. Hello Hitori-san,

    thank you for all your efforts!

    1) I have tried the ./waf configure operation with your newest Ubuntu_gnu.py, and this produced

    checking environment… no found
    Setting top to : /home/ubuntu/aster-full-src-13.6.0/SRC/aster-13.6.0
    Setting out to : /home/ubuntu/aster-full-src-13.6.0/SRC/aster-13.6.0/build
    Setting prefix to : /opt/aster/PAR13.6MUPT2
    Searching configuration ‘Ubuntu_gnu_mpi’…
    Checking for configuration : Ubuntu_gnu_mpi
    Checking for ‘gcc’ (C compiler) : mpicc
    Checking for ‘g++’ (C++ compiler) : mpicxx
    Checking for ‘gfortran’ (Fortran compiler) : mpif90
    Checking for ‘mpicc’ : yes
    Checking for ‘mpif90’ : yes
    Checking for header mpi.h : not found
    The configuration failed
    (complete log in /home/ubuntu/aster-full-src-13.6.0/SRC/aster-13.6.0/build/config.log)

    So, something is still wrong … And

    2) In the PETSC compilation according to your article, there is still a mismatch between the option you give in the ./config/configure.py,

    –PETSC_ARCH=linux-metis-mumps ,

    and the make commands that follow thereafter,

    $ make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=arch-linux2-c-opt all
    $ make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=arch-linux2-c-opt test
    $ make PETSC_DIR=/opt/petsc-3.7.7 PETSC_ARCH=arch-linux2-c-opt streams

    As you can see, in the latter you are using arch-linux2-c-opt instead of linux-metis-mumps. So which choice is the correct one?

    Best regards,
    Hanno

    1. Hello Hanno-san,

      First, for your 2nd question, “-PETSC_ARCH=linux-metis-mumps” is correct. The article was modified.
      And 1st question, I rebuild CodeAster with my system. When I disabled TFEL, I successed the build (with many warning, I don’t know why?)
      I replaced Ubuntu_gnu.py and Ubuntu_gnu_mpi.py.

      THank you,
      Hitori

  5. Hello Hitori,
    Thank you for the tutorial and all additions you made. By far the best guide for installing mpi version of code_aster

    However I got an error an error at the 8th step during the build of code_aster. I get the following message :

    [7917/9149][86%][|][===============================================================================================> ][1m52.259s]/opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(pmetis.o) : Dans la fonction « MatPartitioningApply_Parmetis » :
    pmetis.c:(.text+0x936) : référence indéfinie vers « ParMETIS_V3_AdaptiveRepart »
    pmetis.c:(.text+0xb7d) : référence indéfinie vers « ParMETIS_V3_PartKway »
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(pmetis.o) : Dans la fonction « MatMeshToCellGraph » :
    pmetis.c:(.text+0x1dc8) : référence indéfinie vers « ParMETIS_V3_Mesh2Dual »
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(scotch.o) : Dans la fonction « MatPartitioningApply_PTScotch » :
    scotch.c:(.text+0x14b7) : référence indéfinie vers « SCOTCH_dgraphInit »
    scotch.c:(.text+0x1667) : référence indéfinie vers « SCOTCH_dgraphBuild »
    scotch.c:(.text+0x17cc) : référence indéfinie vers « SCOTCH_stratDgraphMapBuild »
    scotch.c:(.text+0x18bc) : référence indéfinie vers « SCOTCH_dgraphMapInit »
    scotch.c:(.text+0x1933) : référence indéfinie vers « SCOTCH_dgraphMapCompute »
    scotch.c:(.text+0x19a3) : référence indéfinie vers « SCOTCH_dgraphMapExit »
    scotch.c:(.text+0x19d0) : référence indéfinie vers « SCOTCH_dgraphExit »
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(client.o) : Dans la fonction « PetscSSLInitializeContext » :
    client.c:(.text+0x56) : référence indéfinie vers « SSL_library_init »
    client.c:(.text+0x5b) : référence indéfinie vers « SSL_load_error_strings »
    client.c:(.text+0x6f) : référence indéfinie vers « BIO_new_fp »
    client.c:(.text+0x8a) : référence indéfinie vers « SSLv23_method »
    client.c:(.text+0x92) : référence indéfinie vers « SSL_CTX_new »
    client.c:(.text+0xb1) : référence indéfinie vers « SSL_CTX_ctrl »
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(client.o) : Dans la fonction « PetscSSLDestroyContext » :
    client.c:(.text+0xdb) : référence indéfinie vers « SSL_CTX_free »
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(client.o) : Dans la fonction « PetscHTTPSRequest » :
    client.c:(.text+0xfb7) : référence indéfinie vers « SSL_write »
    client.c:(.text+0xfcb) : référence indéfinie vers « SSL_get_error »
    client.c:(.text+0x10ea) : référence indéfinie vers « SSL_read »
    client.c:(.text+0x1107) : référence indéfinie vers « SSL_get_error »
    client.c:(.text+0x112a) : référence indéfinie vers « SSL_shutdown »
    client.c:(.text+0x1392) : référence indéfinie vers « SSL_free »
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(client.o) : Dans la fonction « PetscHTTPSConnect » :
    client.c:(.text+0x1762) : référence indéfinie vers « SSL_new »
    client.c:(.text+0x177e) : référence indéfinie vers « BIO_new_socket »
    client.c:(.text+0x179c) : référence indéfinie vers « SSL_set_bio »
    client.c:(.text+0x17ab) : référence indéfinie vers « SSL_connect »
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(plexpartition.o) : Dans la fonction « PetscPartitionerPartition_ParMetis » :
    plexpartition.c:(.text+0x6b60) : référence indéfinie vers « ParMETIS_V3_PartKway »
    collect2: error: ld returned 1 exit status

    [7917/7917][100%][/][==============================================================================================================>][1m55.672s]
    Waf: Leaving directory `/home/valentin/aster-full-src-13.6.0_mpi/SRC/aster-13.6.0/build/release’
    Build failed
    -> task in ‘asterexec’ failed (exit status 1):
    task details in: /home/valentin/aster-full-src-13.6.0_mpi/SRC/aster-13.6.0/build/release/asterexec.log

    I looks like something wrong with the petsc library.
    Some precision about my configuration (I don’t know if there is a link with the error or not), I modified the file Ubuntu_gnu_mpi.py because the file petsc.h was not found. Here is my Ubuntu_gnu_mpi.py libs and includes path :

    self.env.prepend_value(‘LIBPATH’, [
    ‘/opt/mumps-5.1.1-mpi/lib’,
    ‘/opt/petsc-3.7.7/linux-metis-mumps/lib/’,
    ‘/opt/petsc-3.7.7/lib/’,
    ‘/opt/scalapack/lib’,])

    self.env.prepend_value(‘INCLUDES’, [
    ‘/opt/mumps-5.1.1-mpi/include’,
    ‘/opt/petsc-3.7.7/linux-metis-mumps/include’,
    ‘/opt/petsc-3.7.7/include’,])

    If you have any idea of the problem, let me know. Thanks for your efforts

    Best regards,
    Valentin

    1. Hello Valentin-san,

      First, I thank your comment.
      Can you add parmetis’s information, lib and include location, to Ubuntu_gnu_mpi.py?
      In my case, there was many warning at petsc part in building of parallel code_aster.

      Thank you,
      Hitori

  6. Hello Hitori,
    thanks for your response.
    I succeed to erase some undefined references by rebuild petsc library with the option ‘–with-SSL=0’ as it’s suggested in this thread : https://lists.mcs.anl.gov/pipermail/petsc-users/2017-November/033837.html

    I also add the parmetis informations in Ubuntu_gnu_mpi.py as you suggest me but still get the following error :
    s
    [7917/9149][86%][|][=====================================================================================================> ][9.226s]/opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(pmetis.o): In function `MatPartitioningApply_Parmetis’:
    pmetis.c:(.text+0x936): undefined reference to `ParMETIS_V3_AdaptiveRepart’
    pmetis.c:(.text+0xb7d): undefined reference to `ParMETIS_V3_PartKway’
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(pmetis.o): In function `MatMeshToCellGraph’:
    pmetis.c:(.text+0x1dc8): undefined reference to `ParMETIS_V3_Mesh2Dual’
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(scotch.o): In function `MatPartitioningApply_PTScotch’:
    scotch.c:(.text+0x14b7): undefined reference to `SCOTCH_dgraphInit’
    scotch.c:(.text+0x1667): undefined reference to `SCOTCH_dgraphBuild’
    scotch.c:(.text+0x17cc): undefined reference to `SCOTCH_stratDgraphMapBuild’
    scotch.c:(.text+0x18bc): undefined reference to `SCOTCH_dgraphMapInit’
    scotch.c:(.text+0x1933): undefined reference to `SCOTCH_dgraphMapCompute’
    scotch.c:(.text+0x19a3): undefined reference to `SCOTCH_dgraphMapExit’
    scotch.c:(.text+0x19d0): undefined reference to `SCOTCH_dgraphExit’
    /opt/petsc-3.7.7/linux-metis-mumps/lib//libpetsc.a(plexpartition.o): In function `PetscPartitionerPartition_ParMetis’:
    plexpartition.c:(.text+0x6b60): undefined reference to `ParMETIS_V3_PartKway’
    collect2: error: ld returned 1 exit status

    [1/1][100%][/][=========================================================================================================================>][12.444s]
    Waf: Leaving directory `/home/valentin/aster-full-src-13.6.0_mpi/SRC/aster-13.6.0/build/release’
    Build failed
    -> task in ‘asterexec’ failed (exit status 1):
    task details in: /home/valentin/aster-full-src-13.6.0_mpi/SRC/aster-13.6.0/build/release/asterexec.log

    ps : Sorry last time for posting the log in french

    Regards,
    Valentin

  7. Hello Hitori,

    I finally succeed to install parallel version of code_Aster !!!
    Thanks to you, I found what was wrong in the discussion you shared me, so thanks a lot!

    I’ve noted all the process and changes from your tutorial for my company and I would like to share it with you. Can I send it to you by email?

    Best regards,
    Valentin

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です