Welcome, Guest
Username: Password: Remember me

TOPIC: -I/gpfs/apps/openmpi_gnu/1.6.4/include - twice?

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 week ago #11017

  • 716469
  • 716469's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 303
  • Thank you received: 6
Dear Users,

Somebody might have come across to similar problem I have when I try to run Telemac in Parallel and could give me advice. It compiled fine but it does not run and gives me an errror:

sh: gfortran: command not found
mpirun noticed that the job aborted, but has no info as to the process
that caused that situation.


I was searching on internet and sombody said that when you enter mpif90 -show and if you get ...../include -twice, as I have (see below) then system is confused and it might be the couse. I am not even sure how it appeared there twice, some cluster original settings? Or it could come from my configuration file, please see attached.

gfortran -I/gpfs/apps/openmpi_gnu/1.6.4/include -I/gpfs/apps/openmpi_gnu/1.6.4/include -pthread -I/gpfs/apps/openmpi_gnu/1.6.4/lib -L/gpfs/apps/openmpi_gnu/1.6.4/lib -Wl,-rpath=/gpfs/apps/openmpi_gnu/1.6.4/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil -lm -ldl

My platfort is Linux
Compiler - gfortran
Lilbary - openmpi_gnu/1.6.4
language - python
Cluster - Blue Ice 2 HPC
Please advise.

Thanks.

Kind Regards!

Violeta
Attachments:
The administrator has disabled public write access.

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 2 days ago #11099

  • sebourban
  • sebourban's Avatar
  • OFFLINE
  • Administrator
  • Principal Scientist
  • Posts: 814
  • Thank you received: 219
Hello,

Sorry for the delay. Your configuration seems OK. I do not know why you are getting the duplicate include or whether it is the cause of your troubles.

Here below is a config with gfortran and openmpi 1.6.4. I use gfortran 4.4.6. I would not recommend any below that (you can have above that). Also you have to make sure that everything is compiled with the same compiler (libmpi.so and libmetis.)

One more thing: note that I have sfx_lib: .lib and not .a
It may have a bigger influence than we think. Do let us know if so.

Hope this helps,
Sébastien.

cmd_obj:    gfortran -c -O3 -DHAVE_MPI -ffixed-line-length-132 -fconvert=big-endian -frecord-marker=4 <mods> <incs> <f95name>
cmd_lib:    ar cru <libname> <objs>
cmd_exe:    /apps/openmpi/1.6/gcc/4.4.6/bin/mpif90 -fconvert=big-endian -frecord-marker=4 -v -lm -o <exename> <objs> <libs> 
#
hosts:      mgmt01
mpi_cmdexec: /apps/openmpi/1.6/gcc/4.4.6/bin/mpiexec -wdir <wdir> -n <ncsize> <exename> --hostfile <hostfile>
#
mods_all:   -I <config>
#
incs_parallel:  -I /apps/openmpi/1.6/gcc/4.4.6/include
libs_partel:    /home/HR/sbo/opentelemac/libs/libmetis.a
libs_all:       /apps/openmpi/1.6/gcc/4.4.6/lib/libmpi.so
#
sfx_zip:    .gztar
sfx_lib:    .lib
sfx_obj:    .o
sfx_mod:    .mod
sfx_exe:
The administrator has disabled public write access.
The following user(s) said Thank You: 716469

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11110

  • 716469
  • 716469's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 303
  • Thank you received: 6
Thank you Sebastien. I cannot explain why .../include is twice on cluster and nobody here can't, but I hope it does not cause any problems, the same is for ifort ..include is twice. It is probably cluster setting.

However, I still have problems to install in parallel on cluster. Thanks for looking at my config file. I have tried on cluster with Openmpi and gfortran but parallel did not work, it gave be constant error that gfortran: command not found. And I thought that something was wrong with gfortran set up not on every node so I moved to intel but now I cannot compile at all. The new error is:

undefined reference to 'metis_partmeshdual_'.

I looked on forum and there was note that to avoid this problem the metis should be 4.0.3 as it compiles partel. But also it is advised to use metis-5.x.x so my metis is 5.0.2 but I still have this problem.

Another question is, do I need to install MUMPS for be able to work with Telemac in parallel? I understood that it is not necessary step.

To install metis I needed Cmake and both of them are easy to install on desktop pc but not on cluster as both of the programs are looking for /usr/local.. but it is not possible on cluster since you do not have authorization and you cannot use sudo. So error might have occured there as I had to redirect them manually. It was installed but I never sure if it was done 100%, so I am going to re-install them again, as I cannot see any other solutions at the moment.


Actually just another quick question: for ifort in cmd_exe line should it be mpif90 as well?


Thanks for your reply.

Kind Regards!

Violeta
The administrator has disabled public write access.

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11113

  • sebourban
  • sebourban's Avatar
  • OFFLINE
  • Administrator
  • Principal Scientist
  • Posts: 814
  • Thank you received: 219
OK - I would stick to gfortran if you can. Indeed you seem to have problem with incompatibility between metis, mpi, gfortran (or intel). And indeed, by default a compilation of METIS will produce:
CMake Error at /home/HR/sbo/opentelemac/libs/metis-5.0.2/build/Linux-x86_64/include/cmake_install.cmake:36 (FILE):
  file INSTALL cannot copy file
  "/home/HR/sbo/opentelemac/libs/metis-5.0.2/include/metis.h" to
  "/usr/local/include/metis.h".
Call Stack (most recent call first):
  cmake_install.cmake:37 (INCLUDE)

In order to change that if you do not have access to /usr, you can do as follows:
make config prefix=~/opentelemac/libs/
(after having created ~/opentelemac/libs/)
and then
make install

With that, it should create a bin, a include and a lib directory, and the lib includes libmetis.a which you can point to in your TELEMAC config file.

Note, you can probably install metis with intel as well.

Hope this helps,
Sébastien.
The administrator has disabled public write access.
The following user(s) said Thank You: 716469

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11114

  • 716469
  • 716469's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 303
  • Thank you received: 6
Thank you very much Sebastien. I will follow your advice, it is something different that I have done before so it might work.

I have just changed back to gfortran and it worse, even scalar cannot run with gfortran, but it runs with intel. So I will try with intel with metis and cmake from scratch now. Thanks.

Kind Regards!

Violeta
The administrator has disabled public write access.

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11115

  • sebourban
  • sebourban's Avatar
  • OFFLINE
  • Administrator
  • Principal Scientist
  • Posts: 814
  • Thank you received: 219
Hello,

When you recompile TELEMAC after changing options - make sure you use the --clean option of compileTELEMAC.py just to make sure.

Good luck.
Sébastien.
The administrator has disabled public write access.
The following user(s) said Thank You: 716469

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11116

  • 716469
  • 716469's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 303
  • Thank you received: 6
Thanks a mil Sebastien. That is probably my mistake as I have never used clean option before. I will definitely use it from now on. Thanks.

Kind Regards!

Violeta
The administrator has disabled public write access.

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11122

  • 716469
  • 716469's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 303
  • Thank you received: 6
Hi Sebastien,

I wonder if you have come accross other users having similar problem as mine. I have cleaned and resistalled cmake-2.8.11 and metis-5.0.2. With metis I created libs in opentelemac and after metis installation I got new directories: bin, include and lib with libmeetis.a in it which path I entered in config file.

When I started to compile with 'clean system', the all modules are compiling fine, but when it comes to PARTEL_PRELIM I get the following error: undefined reference to `metis_partmeshdual_'. I even removed par_cmdexec: <config>/partel < PARTEL.PAR >> <partel.log> line from config file but still getting same error. Is there is anything else I have to do to link metis and telemac? I include my latest config file, just in case as there could be some new errors as I changed to intel. Please advise. Thanks.


Compiling the program PARTEL_PRELIM and dependents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- created /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/lib/utils/special/plante.o
- created /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/lib/utils/special/check_allocate.o
- created /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/lib/utils/partel/partitioner.o
- created /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/lib/utils/partel/partel_prelim.o
- created /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/lib/utils/special/partel_prelim.lib
- created /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/lib/utils/partel/partel_prelim.lib
ifort: command line remark #10010: option '-pthread' is deprecated and will be removed in a future release. See '-help deprecated'
partitioner.o: In function `partitioner_':
/home/violeta.moloney/opentelemac/v6p3/sources/utils/partel/partitioner.F:(.text+0x5ce): undefined reference to `metis_partmeshdual_'
... The following command failed for the reason above
/gpfs/apps/openmpi_intel/1.6.4/bin/mpif90 -o /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/bin/partel_prelim partitioner.o partel_prelim.o -Wl,--start-group /home/violeta.moloney/opentelemac/v6p3/builds/ubuifortopenmpi/lib/utils/special/partel_prelim.lib /gpfs/apps/openmpi_intel/1.6.4/lib/libmpi.so -Wl,--end-group
[violeta.moloney@mg01 python27]$
Attachments:
The administrator has disabled public write access.

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11124

  • sebourban
  • sebourban's Avatar
  • OFFLINE
  • Administrator
  • Principal Scientist
  • Posts: 814
  • Thank you received: 219
OK it looks like METIS is your only remaining problem.

If you are compiling TELEMAC with ifort, you need to compile metis with ifort as well -- otherwise ifort cannot read the lib created by gfortran) -- I believe the default is gcc (including gfortran). I am not sure how to switch to ifort so that cmake use it to compile metis. Maybe something like make config ...

With ifort you may have to add /fpp (even on Linux) to your cmd_obj command.
(do a --clean after that).

I think you are almost there ...

Sébastien.
The administrator has disabled public write access.

-I/gpfs/apps/openmpi_gnu/1.6.4​/include - twice? 11 years 1 day ago #11125

  • sebourban
  • sebourban's Avatar
  • OFFLINE
  • Administrator
  • Principal Scientist
  • Posts: 814
  • Thank you received: 219
Hello again,

Note also that you do not need the -Wl,--start-group ... -Wl,--end-group anymore, although it doe snot hurt, as we have done a much better job at sorting dependencies throughout the system.

Sébastien.
The administrator has disabled public write access.
The following user(s) said Thank You: 716469
Moderators: borisb

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.