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

You are not logged in.

#1 2013-09-11 12:03:29

tamaskovics
Member
From: Freiberg / Germany
Registered: 2013-09-10
Posts: 21

[SOLVED] CodeAster parallel version 11.4 and 12.0

Dear CodeAster development team,

the new method for the source code management with mercurial and code compilation with 'waf' are really very efficient.

Do You plan to offer a short instruction on how to build the parallel versions for >11.4 and >12.0 ?

Thank You very much.

Last edited by tamaskovics (2013-09-21 13:18:38)

Offline

#2 2013-09-12 19:59:52

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

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Hello,

Happy to see that you appreciate the new environment !
I will try to write a dedicated page for that. When you have the prerequisites it's very easy with waf wink

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 2013-09-12 21:31:16

tamaskovics
Member
From: Freiberg / Germany
Registered: 2013-09-10
Posts: 21

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Dear Mr. Courtois,

thank You for Your kind reply.

It is great in the new method, that any previous and actual version can be pulled from bitbucket.org.

I think, waf will also get the new as_run routine one day.

I am happy to receive the recipies, how to build the parallel version for the actual releases. Following the descriptions in the Wiki and linked pages from Japan, I could successfully  build the parallel version of V10.3 and have all prerequisites prepared.

Thank You very much and good luck,


Nandor Tamaskovics.

Last edited by tamaskovics (2013-09-12 21:32:03)

Offline

#4 2013-09-17 22:12:54

tamaskovics
Member
From: Freiberg / Germany
Registered: 2013-09-10
Posts: 21

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Dear Mr.Courtois,

if You could be so kind, please don' t forget the dedicated page on how to build the parallel Codeaster versions V11.4 & V12.0.

A simple and short extension of the Wiki on bitbucket.org would be perfectly sufficient.

Best wishes,

Nandor Tamaskovics.

Offline

#5 2013-09-18 14:21:26

reiteres
Member
Registered: 2013-06-03
Posts: 558

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

I know writing documentation needs time,
It would be already helpful to give a short note how to link self compiled libraries to aster and how to enable MPI.
If I would know that I could try to compile an MPI version of aster and post a howto on the wiki myself.

Never forget that there is a community out there ready to help smile

Offline

#6 2013-09-18 15:07:46

tamaskovics
Member
From: Freiberg / Germany
Registered: 2013-09-10
Posts: 21

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Hi Reiteres,

I have tried to take first steps myself and have written the procedure I found out so far:

http://www.code-aster.org/forum2/viewtopic.php?id=19047

Unfortunately, everything runs fine until the linking phase of "aster" - I think, I am still missing some libraries and suspect "libscalapack.a" to be it. I think, basically this will be the way to do it. If You switch Your compilers to mpicc and mpif90, You are forcing MPI inclusion already, as far as I can estimate.

Maybe, the best is, we are patient and listen to the solution of the development team. Mr.Courtois will give it (hopefully soon) a try :-)))

Best wishes,


Nandor Tamaskovics.

Last edited by tamaskovics (2013-09-18 15:09:16)

Offline

#7 2013-09-18 15:51:37

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 3,066

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Hi,

Try to play with the attached config files (you need to input the _mpi one to waf but it will import settings from the regular one). These are for my laptop but you should be able to figure out the correct settings.

TdS


Attachments:
waf_configs.tgz, Size: 928 B, Downloads: 458

Offline

#8 2013-09-18 16:41:37

tamaskovics
Member
From: Freiberg / Germany
Registered: 2013-09-10
Posts: 21

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Hi Thomas De Soza,

thank You very much for the files.

The files look great and they contain some magic lines I was missing before.

Maybe, I am also missing some of the prerequisites and have to prepare them first.

In case of success, I will post the solution.

Best wishes and thank You,


Nandor Tamaskovics.

Last edited by tamaskovics (2013-09-18 17:27:40)

Offline

#9 2013-09-20 16:19:57

tamaskovics
Member
From: Freiberg / Germany
Registered: 2013-09-10
Posts: 21

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Dear Thomas De Soza and Mathieau Courtois,

thank You very much for Your comments and the two files, You have posted me lately (parallel build instructions for claut).

Before all, I prepared all prerequisites for the parallel version of CodeAster in the directory "public" under the ASTER_ROOT path.

I have tweaked the files for openSUSE Linux V12.3 64bit and have managed to compile the code in parallel version with the following commands:

export ASTER_ROOT=/opt/CodeAster-11.4.0-4-GNU
./waf configure --use-config-dir=$ASTER_ROOT/11.4/share/aster --use-config=openSUSE_GNU_MPI_config --prefix=$ASTER_ROOT/PAR11.4.3
./waf install -p

I have used the configuration files: openSUSE_GNU_MPI_config.py and openSUSE_GNU_config.py

openSUSE_GNU_MPI_config.py:

******************* BEGIN openSUSE_GNU_MPI_config.py **********************

# encoding: utf-8

"""
Fichier de configuration WAF pour version parallèle sur claut621 :
- Compilateur : GNU
- MPI         : système openSUSE 12.3 x86_64
- Scalapack   : système openSUSE 12.3 x86_64
- PETSc       : avec Hypre (préconditionneurs multigrilles)
"""

import openSUSE_GNU_config

def configure(self):
    from Options import options as opts
    openSUSE_GNU_config.configure(self)

    self.env.prepend_value( 'LIBPATH', [
        '/opt/CodeAster-11.4.0-4-GNU/public/mumps-4.10.0_mpi/lib',
        '/opt/CodeAster-11.4.0-4-GNU/public/scalapack-2.0.2',
        '/opt/CodeAster-11.4.0-4-GNU/public/scotch_5.1.11_esmumps_mpi/lib',
        '/opt/CodeAster-11.4.0-4-GNU/public/hypre-2.9.0b-babel/lib64',
        '/opt/CodeAster-11.4.0-4-GNU/public/ParMetis-3.2.0/lib',
        '/opt/CodeAster-11.4.0-4-GNU/public/petsc-3.4.2/arch-openSUSE-linux/lib'])

    self.env.prepend_value( 'INCLUDES', [
        '/opt/CodeAster-11.4.0-4-GNU/public/petsc-3.4.2/include',
        '/opt/CodeAster-11.4.0-4-GNU/public/petsc-3.4.2/arch-openSUSE-linux/include', ])

    self.env.append_value( 'LIB', ('X11',) )

    opts.parallel      = True

    opts.enable_mumps  = True
    opts.mumps_version = '4.10.0'
    opts.mumps_libs    = 'dmumps zmumps smumps cmumps mumps_common pord parmetis metis scalapack'
    opts.scotch_libs   = 'ptesmumps ptscotch ptscotcherr'

    opts.enable_petsc  = True
    opts.petsc_libs    ='petsc HYPRE'
    opts.embed_petsc   = True

******************* END openSUSE_GNU_MPI_config.py **********************

openSUSE_GNU_config.py:

******************* BEGIN openSUSE_GNU_config.py **********************

# encoding: utf-8

"""
Fichier de configuration WAF pour version séquentielle sur openSUSE 12.3 x86_64 :
- Compilateur : GNU
"""

def configure(self):
    from Options import options as opts

    self.env.append_value('LIBPATH', [
        '/opt/CodeAster-11.4.0-4-GNU/public/hdf5-1.8.8/lib',
        '/opt/CodeAster-11.4.0-4-GNU/public/zlib-1.2.8',
        '/opt/CodeAster-11.4.0-4-GNU/public/med-3.0.6/lib',
        '/opt/CodeAster-11.4.0-4-GNU/public/metis-4.0.3/lib', ])

    self.env.append_value('INCLUDES', [
        '/opt/CodeAster-11.4.0-4-GNU/public/hdf5-1.8.8/include',
        '/opt/CodeAster-11.4.0-4-GNU/public/med-3.0.6/include',
        '/opt/CodeAster-11.4.0-4-GNU/public/metis-4.0.3/include',
        '/opt/CodeAster-11.4.0-4-GNU/public/scotch_5.1.11_esmumps/include',])

    opts.enable_med = True
    opts.hdf5_libs  = 'hdf5 z'
    opts.embed_hdf5 = True
    opts.med_libs  = 'med stdc++'
    opts.embed_med  = True

    opts.enable_petsc = False

    opts.enable_scotch = True
    opts.embed_scotch  = True

    opts.embed_aster    = True
    opts.embed_fermetur = True

******************* END openSUSE_GNU_config.py **********************

I created a fresh forma01a.export with astk:

******************* BEGIN forma01a.export **********************

P actions make_etude
P aster_root /opt/CodeAster-11.4.0-4-GNU
P consbtc oui
P corefilesize unlimited
P cpresok RESNOOK
P debug nodebug
P display crow.ifgt.tu-freiberg.de:0
P facmtps 1
P lang en
P mclient crow.ifgt.tu-freiberg.de
P mem_aster 100.0
P memjob 524288
P mode interactif
P mpi_nbcpu 1
P mpi_nbnoeud 1
P nbmaxnook 5
P ncpus 1
P noeud crow
P nomjob forma01a
P origine ASTK 1.11.0
P platform LINUX64
P profastk tamas@crow.ifgt.tu-freiberg.de:/home/users/tamas/CodeAster/forma01a/forma01a.astk
P protocol_copyfrom asrun.plugins.server.SCPServer
P protocol_copyto asrun.plugins.server.SCPServer
P protocol_exec asrun.plugins.server.SSHServer
P proxy_dir /tmp
P rep_trav /tmp/tamas-crow-interactif.18509/global/global
P serveur crow
P soumbtc oui
P tpsjob 15
P uclient tamas
P username tamas
P version parallel
A args
A memjeveux 64.0
A tpmax 900
F comm /home/users/tamas/CodeAster/forma01a/forma01a.comm D  1
F datg /home/users/tamas/CodeAster/forma01a/forma01a.datg D  16
F mmed /home/users/tamas/CodeAster/forma01a/forma01a.mmed D  20
F rmed /home/users/tamas/CodeAster/forma01a/forma01a.rmed R  80

******************* END forma01a.export *************************

I added the line to /opt/CodeAster-11.4.0-4-GNU/etc/codeaster/aster:

vers : parallel:/opt/CodeAster-11.4.0-4-GNU/PAR11.4.3/share/aster


Unfortunalely, when I try to run the example forma01a with the command

as_run forma01a.export

the following message appears:

<INFO> Command line 1 :
<INFO> ./aster Python/Execution/E_SUPERV.py -eficas_path ./Python -commandes fort.1  -num_job 19852 -mode interactif -rep_outils /opt/CodeAster-11.4.0-4-GNU/outils -rep_mat /opt/CodeAster-11.4.0-4-GNU/PAR11.4.3/share/aster/materiau -rep_dex /opt/CodeAster-11.4.0-4-GNU/PAR11.4.3/share/aster/datg -suivi_batch -memjeveux 64.0 -tpmax 900
Processor ID is not defined !
--------------------------------------------------------------------------
mpirun noticed that the job aborted, but has no info as to the process
that caused that situation.
--------------------------------------------------------------------------
EXIT_COMMAND_19852_00000021=4
<INFO> Code_Aster run ended, diagnostic : <F>_ABNORMAL_ABORT

There are similar posts in the forum. Maybe, the CodeAster executable is erroneous. By the way, with the same prerequisites and following the description of Kengo Maeda, I was able to compile the 10.3 version in parallel with success and that version of the code runs forma01a without error.

I consider my thread with this as [ALMOST SOLVED].

Best wishes,


Nandor Tamaskovics.

Offline

#10 2013-09-20 19:15:36

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 3,066

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Hi,

Then you're almost done. This error is only a matter of configuring the MPI section of the $ASTER_ROOT/etc/codeaster/asrun file. Just set the correct mpi launcher as well as the environment  variable that contains the processor ID (it depends on the MPI library you're using but there are examples in the config file).

TdS

Offline

#11 2013-09-21 13:18:22

tamaskovics
Member
From: Freiberg / Germany
Registered: 2013-09-10
Posts: 21

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Dear Thomas De Soza and Mathiaeu Courtois,

the thread can be regarded as solved :-))) and I have marked it as this. Thank You for Your kind support. We have saved some time for Mr.Courtois he can use for more serious things around the code.

For the parallel version, the file

$ASTER_ROOT/etc/codeaster/asrun

must be indeed adjusted to the mpi environment with the correct line:

mpi_get_procid_cmd : echo $OMPI_COMM_WORLD_RANK

I had a typographic error in the line and it produced the error above (wrote OPMI instead of OMPI).

Now, everything runs fine and I am very glad.

Best wishes,


Nandor Tamaskovics.
Freiberg University of Mining and Technology
Geotechnical Institute
Freiberg, Germany
CodeAster ProNET teaching member

Offline

#12 2013-09-22 20:57:47

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 3,066

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

tamaskovics wrote:

We have saved some time for Mr.Courtois he can use for more serious things around the code.

Indeed !

Offline

#13 2013-12-11 01:54:01

katoulos
Member
Registered: 2011-06-10
Posts: 72

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Dear Nandor Tamaskovics

First let me thank you for the effort and time you took to share and enligten the rest of us to the obscure ways of the new method to build Code-Aster.

I am writing because I have a question: in order to configure your build, you used the command

./waf configure --use-config-dir=$ASTER_ROOT/11.4/share/aster --use-config=openSUSE_GNU_MPI_config --prefix=$ASTER_ROOT/PAR11.4.3

Is it really necessary to give the "--use-config-dir=$ASTER_ROOT/11.4/share/aster" argument?

I tried a test, ommitting it from the command and the build seems to run pretty o.k.

Am I missing something here?

Best regards

Mimis Koltsakis

Offline

#14 2013-12-15 23:06:52

Thomas DE SOZA
Guru
From: EDF
Registered: 2007-11-23
Posts: 3,066

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

katoulos wrote:

Is it really necessary to give the "--use-config-dir=$ASTER_ROOT/11.4/share/aster" argument?

When you select :

--use-config=openSUSE_GNU_MPI_config

waf looks for the "openSUSE_GNU_MPI_config.py" config file in the default locations (wafcfg directory namely in the src directory) as well as the location pointed by the argument to "--use-config-dir". So if your config files resides in one of the default locations then you don't need the aforementioned argument.
If you specify no arguments at all to waf, then a default config file will be used.

TdS

Offline

#15 2013-12-16 00:59:30

katoulos
Member
Registered: 2011-06-10
Posts: 72

Re: [SOLVED] CodeAster parallel version 11.4 and 12.0

Thank you !!!

Offline