Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2010-12-13 08:24:14

todd_alan_martin
Member
Registered: 2008-03-06
Posts: 131

[SOLVED] Problem with MUMPS and acml in STA10.2

Hi

When installing code aster 10.2 with the AMD core math library, by following the instructions here
http://www.code-aster.org/forum2/viewtopic.php?id=13616, I got the following error

make[2]: Entering directory `/tmp/install_mumps.24648/mumps-4.9.2/src'
make[2]: Entering directory `/tmp/install_mumps.24648/mumps-4.9.2/src'
make ARITH=d mumps_lib
make ARITH=s mumps_lib
make[3]: Entering directory `/tmp/install_mumps.24648/mumps-4.9.2/src'
/usr/bin/gfortran -O -Dintel_ -DALLOW_NON_INIT -O2 -ffixed-line-length-0 -x f77-cpp-input -fPIC -I../libseq  -Dpord -Dmetis -I. -I../include -c mumps_part9.F
make[3]: Entering directory `/tmp/install_mumps.24648/mumps-4.9.2/src'
/usr/bin/gfortran -O -Dintel_ -DALLOW_NON_INIT -O2 -ffixed-line-length-0 -x f77-cpp-input -fPIC -I../libseq  -Dpord -Dmetis -I. -I../include -c mumps_part9.F
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_common.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_common.c
/usr/bin/gfortran -O -Dintel_ -DALLOW_NON_INIT -O2 -ffixed-line-length-0 -x f77-cpp-input -fPIC -I../libseq  -Dpord -Dmetis -I. -I../include -c mumps_ooc_common.F
/usr/bin/gfortran -O -Dintel_ -DALLOW_NON_INIT -O2 -ffixed-line-length-0 -x f77-cpp-input -fPIC -I../libseq  -Dpord -Dmetis -I. -I../include -c mumps_ooc_common.F
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_orderings.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_orderings.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_size.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_size.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io_basic.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io_basic.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io_thread.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io_thread.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io_err.c
/usr/bin/gcc -O -O2 -fno-stack-protector -fPIC -I../libseq -I../include -DAdd_  -I../PORD/include/  -Dpord -Dmetis -c mumps_io_err.c
/usr/bin/gfortran -O -Dintel_ -DALLOW_NON_INIT -O2 -ffixed-line-length-0 -x f77-cpp-input -fPIC -I../libseq  -Dpord -Dmetis -I. -I../include -c mumps_static_mapping.F
/usr/bin/gfortran -O -Dintel_ -DALLOW_NON_INIT -O2 -ffixed-line-length-0 -x f77-cpp-input -fPIC -I../libseq  -Dpord -Dmetis -I. -I../include -c mumps_static_mapping.F
Fatal Error: Can't delete temporary module file 'mumps_static_mapping.mod0': No such file or directory
make[3]: *** [mumps_static_mapping.o] Error 1
make[3]: Leaving directory `/tmp/install_mumps.24648/mumps-4.9.2/src'
make[2]: *** [s] Error 2
make[2]: Leaving directory `/tmp/install_mumps.24648/mumps-4.9.2/src'
make[1]: *** [mumps_lib] Error 2
make[1]: Leaving directory `/tmp/install_mumps.24648/mumps-4.9.2'
make: *** [s] Error 2

So mumps failed the installation. I went back and changed setup.cfg to

PREFER_COMPILER_mumps = 'GNU'

then reinstalled metis and mumps.
Everything worked, so I tried again with my original setup.cfg for acml. This time metis and mumps installed without error. Now I'm wondering what went wrong initially and whether my installation is stable?

Todd.

Last edited by todd_alan_martin (2010-12-15 01:24:25)

Offline

#2 2010-12-13 22:32:14

mathieu.courtois
Administrator
From: France
Registered: 2007-11-21
Posts: 1,163

Re: [SOLVED] Problem with MUMPS and acml in STA10.2

Hi,

The setup of aster-full pass the argument "-j NN" to make to take benefit of multi-cores/processors hardware.
But recently we see that mumps compilation failed without really clear message.
A kind of error occurs when archiving object files to libpord.a.

It seems be caused by multi threaded execution of make.
So it will be disabled in the next package.

To disable this in the 10.2 package : edit products.py and put 'nbcpu' : 1 on the setup_mumps function.

MC


Code_Aster release : last unstable on Ubuntu 16.04 64 bits - GNU Compilers

Please do not forget to tag your first post as *SOLVED* when it is!

Offline

#3 2010-12-14 00:44:13

todd_alan_martin
Member
Registered: 2008-03-06
Posts: 131

Re: [SOLVED] Problem with MUMPS and acml in STA10.2

So is it better not to use the acml libraries in the meantime, in order to access multiple processors?
Why did I not encounter this problem without using ACML ie PREFER_COMPILER=GNU

Last edited by todd_alan_martin (2010-12-14 02:08:24)

Offline

#4 2010-12-14 08:13:00

mathieu.courtois
Administrator
From: France
Registered: 2007-11-21
Posts: 1,163

Re: [SOLVED] Problem with MUMPS and acml in STA10.2

The parameter nbcpu=1 in products.py is *only* used during compilation. It have no effect on future performances.

todd_alan_martin wrote:

So is it better not to use the acml libraries in the meantime, in order to access multiple processors?

There is no problem to use acml, multi-threaded or not.
I don't remember if it's easy to disable multi-threaded of acml. Because using the MULT_FRONT solver with N openMP threads you may have NxN threads (N acml threads for each MULT_FRONT thread). This usually give bad performance...

See GOTO_NUM_THREADS for gotoBlas, or INTEL_MKL_SERIAL=yes for Intel MKL.


todd_alan_martin wrote:

Why did I not encounter this problem without using ACML ie PREFER_COMPILER=GNU

I don't know. Using PREFER_COMPILER=GNU + MATH_LIST should be equivalent to GNU_without_MATH + the same MATH_LIST...

MC

PS : don't forget to add SOLVED if it is.


Code_Aster release : last unstable on Ubuntu 16.04 64 bits - GNU Compilers

Please do not forget to tag your first post as *SOLVED* when it is!

Offline

#5 2019-02-12 11:22:13

alen12345
Member
From: Milan
Registered: 2015-05-11
Posts: 9

Re: [SOLVED] Problem with MUMPS and acml in STA10.2

Very old post, but I can confirm that this behavior is still observed when compiling the mumps version from bitbucket.

Temporary workaround is to use only one job:

./waf configure install --jobs=1 <other-params>

@mathieu.courtois: shall I prepare a pull request to mention it in the documentation on bitbucket?

Thanks.

AN

Offline

Board footer