Hello,
Firsty thanks to the forum posts and documentation, I've been able to get quite close to a working system.
But like others, I too am having trouble getting Telemac to compile. Specifically, parallel mode on Ubuntu 18.04.
I want to run telemac in parallel across a number of servers, each with many cores - we don't have an HPC setup here, but will utilise openmpi.
I believed I got Telemac to compile, but could see it was only using 1 core. Upon investigating, I found these lines echoed out by Telemac2d.py when running the t2d_malpasset.cas example file:
... modifying run command to MPI instruction
... modifying run command to PARTEL instruction
... partitioning base files (geo, conlim, sections, zones and weirs)
+> /home/mpiuser/telemac-mascaret/v8p0r2/builds/ubugfmpich2/bin/partel < PARTEL.PAR >> partel_T2DGEO.log
STOP 1
runPartition:
|runPARTEL: Could not split your file T2DGEO (runcode=1) with the error as follows:
|
|... The following command failed for the reason above (or below)
|/home/mpiuser/telemac-mascaret/v8p0r2/builds/ubugfmpich2/bin/partel < PARTEL.PAR >> partel_T2DGEO.log
|
| You may have forgotten to compile PARTEL with the appropriate compiler directive
| (add -DHAVE_MPI to your cmd_obj in your configuration file).
|
|
I spotted a typo in my systel cfg file, it said: "-DAHVE_MPI". I corrected this, and re-compiled but am now left with the following error:
When I recompile, using 'compileTELEMAC.py --clean' I get the following output:
- completed: .../v8p0r2/sources/utils/special/declarations_special.F
[ ] 0% | ---s
- completed: .../v8p0r2/sources/utils/partel/c_binding.F
[\\\\\\\\\\\ ] 16% | 3s
- completed: .../v8p0r2/sources/utils/special/check_allocate.f
[\\\\\\\\\\\\\\\\\\\\\\ ] 33% | 2s
- completed: .../v8p0r2/sources/utils/special/plante.F
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ] 50% | 1s
- completed: .../v8p0r2/sources/utils/partel/partel_prelim.F
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ] 66% | 1s
- completed: .../v8p0r2/sources/utils/partel/partitioner.F
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ] 83% | 1s
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
Driving: /usr/bin/gfortran -fconvert=big-endian -frecord-marker=4 -lpthread -v -o /home/mpiuser/telemac-mascaret/v8p0r2/builds/ubugfmpich2/bin/partel_prelim c_binding.o partitioner.o partel_prelim.o /home/mpiuser/telemac-mascaret/v8p0r2$Using built-in specs.
COLLECT_GCC=/usr/bin/gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-vers$Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
Reading specs from /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.spec
rename spec lib to liborig
COLLECT_GCC_OPTIONS='-fconvert=big-endian' '-frecord-marker=4' '-v' '-o' '/home/mpiuser/telemac-mascaret/v8p0r2/builds/ubugfmpich2/bin/partel_prelim' '-L/usr/lib/openmpi/lib/libmpi.so' '-L/home/mpiuser/telemac-mascaret/metis-5.1.0/lib/l$COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/u$COLLECT_GCC_OPTIONS='-fconvert=big-endian' '-frecord-marker=4' '-v' '-o' '/home/mpiuser/telemac-mascaret/v8p0r2/builds/ubugfmpich2/bin/partel_prelim' '-L/usr/lib/openmpi/lib/libmpi.so' '-L/home/mpiuser/telemac-mascaret/metis-5.1.0/lib/l$ /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGZDDW3.res -plugin-opt=-pass-through=-lgcc_s -plu$c_binding.o: In function `__c_binding_MOD_mymetis_partmeshdual':
c_binding.F:(.text+0x1f): undefined reference to `METIS_PartMeshDual'
collect2: error: ld returned 1 exit status
I am guessing this is something to do with metis - I guess I will have to recompile it using a different compiler? But am unsure how to tell cmake to do this but I could be completely wrong about this.
Thanks for any help, in advance.
Regards