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
$ 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
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
mpi_get_procid_cmd : echo $OMPI_COMM_WORLD_RANK
mpirun_cmd : mpirun -np %(mpi_nbcpu)s %(program)s
Whole work is finished. Let’s Enjoy!
コメント
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
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.
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://hitoridesign.com/wpc/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
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.
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
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
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
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
Hello Hanno-san,
I downloaded source codes from following site.
OpenBLAS:
http://www.openblas.net/
PETSC:
https://www.mcs.anl.gov/petsc/download/index.html
Then build them.
Thank you,
Hitori
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
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
incorrect:”TFEL” -> correct: “mfront”
Hi,
thank you! I haven’t tried your recipes yet. I will report back to you when I have found the time to do so.
Kind regards,
Hanno
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
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
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
Hello Valentin-san,
Unfortunately I don’t have same or similar experience, if the following commands are successful.
$ 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.
I hope the next discussion will help you.
https://www.code-aster.org/forum2/viewtopic.php?id=23389
Thank you,
Hitori
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
Congratulations Valentin-san.
And I thank your proposal. Please send your record.
I send my e-mail address other mail.
Thank you,
Hitori