Hello Charles,
Thank you for your comment.
You're talking about a local.yaml file. I don't find it ; where is it ?
I have a .hashdist/config.yaml file . I just have to copy and adapt what
you write below ?
Could you please explain me how to make fenics use openmpi instead of
mpich so that I try to do the same here ?
Thank you in advance.
Regards,
Guy
Le 22/09/2015 15:45, Charles Cook a écrit :
Hello,
I ran into similar issues when installing fenics on UF’s HPC as we
only had an older gcc as well (without c++ 11 support). I tried using
the intel compilers and MKL libraries, but getting that to work across
the components installed with hashdist was a very deep rabbit hole.
The simplest solution I found was to have hashdist install gcc in a
first run, and then on the second run have it use that version of gcc
for the remaining stack, which can be done by adding a parameters
section to local.yaml. For example:
parameters:
PATH: /home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin:/usr/bin:/bin
PROLOGUE: |
export CC=/home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin/gcc;
export CXX=/home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin/g++;
export FC=/home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin/gfortran
Also, the installation will use MPICH by default, where our cluster
expects OpenMPI. Running with MPICH caused a few alarms with the
admins as it didn’t have the instrumentation they were expected and I
had to re-install with OpenMPI at their request.
Good luck,
Charles
*From:*[email protected]
[mailto:[email protected]] *On Behalf Of
*Johannes Ring
*Sent:* Tuesday, September 22, 2015 9:26 AM
*To:* Guy Moebs <[email protected]>
*Cc:* [email protected]; Sladkova
<[email protected]>
*Subject:* Re: [FEniCS-support] Fwd: Re: Fenics cluster installation
problem
[missed the list]
Hi Guy,
Please see comments below.
On Tue, Sep 22, 2015 at 2:21 PM Guy Moebs <[email protected]
<mailto:[email protected]>> wrote:
Hello,
Thank you for your responses.
I'm the person who tries to install fenics for Katerina Sladkova
on our cluster in Nantes.
As you explained it, I put the source cache mirror in the
~/.hashdist/config.yaml and it works better, i.e. :
source_caches:
- dir: ./src
## For additional source cache mirror:
- url: http://fenicsproject.org/pub/hashdist/src
Now, the script fenics-install.sh goes further but stops with the
following error :
Downloading
http://fenicsproject.org/pub/hashdist/src/packs/tar.gz/6lm2emnxz6l7d7xg5dewmmit5p3meqgu...
[=========================] 100.0% (5.3MB of 5.3MB) 2.626MB/s ETA 0s
[parmetis] Building parmetis/3fq73xu4m2bo, follow log with:
[parmetis] tail -f
/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_hashdist/build.log
[parmetis|ERROR] Command '[u'/bin/bash', '_hashdist/build.sh']'
returned non-zero exit status 2
[parmetis|ERROR] command failed (code=2); raising
I look at the file build.log and it ends with the following lines
2015/09/22 11:57:21 - INFO: [package:run_job] Building C object
libmetis/CMakeFiles/metis.dir/__/GKlib/error.c.o
2015/09/22 11:57:21 - INFO: [package:run_job] cd
/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis/libmetis
&& /ccipl/users/gmoebs/.hashdist/bld/mpi/gmkx3ftk3tz2/bin/mpicc
-Dmetis_EXPORTS -DLINUX -D_FILE_OFFSET_BITS=64 -std=c99
-fno-strict-aliasing -fPIC -Wall -pedantic
-Wno-unused-but-set-variable -Wno-unused-variable
-Wno-unknown-pragmas -DNDEBUG -DNDEBUG2 -DHAVE_EXECINFO_H
-DHAVE_GETLINE -O3 -fPIC
-I/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/GKlib
-I/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/include
-I/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/libmetis/.
-o CMakeFiles/metis.dir/__/GKlib/error.c.o -c
/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/GKlib/error.c
2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
unrecognized command line option "-Wno-unused-but-set-variable"
2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
unrecognized command line option "-Wno-unused-but-set-variable"
2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
[libmetis/CMakeFiles/metis.dir/__/GKlib/blas.c.o] Error 1
2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: *** Waiting
for unfinished jobs....
2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
unrecognized command line option "-Wno-unused-but-set-variable"
2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
unrecognized command line option "-Wno-unused-but-set-variable"
2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
[libmetis/CMakeFiles/metis.dir/__/GKlib/b64.c.o] Error 1
2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
[libmetis/CMakeFiles/metis.dir/__/GKlib/csr.c.o] Error 1
2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
[libmetis/CMakeFiles/metis.dir/__/GKlib/error.c.o] Error 1
2015/09/22 11:57:21 - INFO: [package:run_job] make[1]: ***
[libmetis/CMakeFiles/metis.dir/all] Error 2
2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: Leaving
directory
`/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis'
2015/09/22 11:57:21 - INFO: [package:run_job] make[1]: Leaving
directory
`/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis'
2015/09/22 11:57:21 - INFO: [package:run_job] make: *** [all] Error 2
2015/09/22 11:57:21 - INFO: [package:run_job] make: Leaving
directory
`/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis'
2015/09/22 11:57:21 - ERROR: [package:run_job] Command
'[u'/bin/bash', '_hashdist/build.sh']' returned non-zero exit status 2
2015/09/22 11:57:21 - ERROR: [package:run_job] command failed
(code=2); raising
It looks like you have an old version of GCC. You will need at least
version 4.6. Are there other GCC versions available on the cluster? In
that case you will have to modify the hashdist profile such that it
will use the correct compiler.
I have an other question :
how can I tell fenics that I have some softwares already installed
and that I want to use them instead of downloaded ones ? For
instance, if I want to use Intel's compilers (icc/ifort/icpc),
Intel's MPI (wrappers and compilation options, libs), Intel's
scientific library (mkl) for blas, lapack, etc. , what and where
should I change things ?
Unfortunately, building FEniCS with Intel compilers/MPI/MKL has not
been tested with hashdist and will therefore not work with the
fenics-install.sh script. To make it work, we will have to make
changes in hashstack. This is on my TODO list, but it will probably
not happen in the near future.
So, your current options are to either build with GCC using hashdist
or with Intel and build everything from source manually.
Johannes
Thank you in advance for your advices.
Regards,
Guy Moebs
Ok. I have modified fenics-install.sh now such that it adds a
source cache mirror to fenicsproject.org
<http://fenicsproject.org> in ~/.hashdist/config.yaml if this
file does not exist. If you already have
~/.hashdist/config.yaml, you will have to add it manually.
Johannes
On Tue, Sep 22, 2015 at 10:48 AM Anders Logg
<[email protected] <mailto:[email protected]>> wrote:
I just want to add that we also experienced the problem
with OpenSSL download just now at Chalmers.
--
Anders
tis 22 sep. 2015 kl 09:41 skrev Johannes Ring
<[email protected] <mailto:[email protected]>>:
Hi,
It may look like it starts from the beginning, because
the fenics-install.sh script will download hashdist,
hashstack and fenics-developer-tools every time you
run it. However, the other packages will be stored in
~/.hashdist (unless you modify
~/.hashdist/config.yaml) and it will not build them
again unless you change the hashdist profile. I see
from your terminal output that there is a problem
downloading openssl. This problem can be fixed by
adding a source cache mirror to fenicsproject.org
<http://fenicsproject.org>. To do this, add the
following line under source_caches in
~/.hashdist/config.yaml:
- url: http://fenicsproject.org/pub/hashdist/src
Note that on a cluster it might be better to download
hashdist and hashstack manually instead of using the
fenics-install.sh script. This gives you better
control and you can setup a hashdist profile to use
modules from the cluster, like compiler and MPI
modules. See for instance the fenics.abel.gnu.yaml
example in hashstack.
Johannes
On Tue, Sep 22, 2015 at 8:00 AM Sladkova
<[email protected]
<mailto:[email protected]>> wrote:
Hi,
I am an PhD student using Fenics for my thesis and
we are trying to
installing FEnics also on our cluster (LPGN,
University of Nantes). I
would like to ask you a question regarding this
installation.
Exist there a way how to tell Fenics that he
doesn't have to start the
installation from beginning? And that he can start
the installation from
the point where he stopped the last time by for
example giving him
what's still missing?
For example: fenics-install.sh downloads lot of
thing, most of them
already exists on the cluster. But he doesn't look
for them, he just
starts from the beginning. However sometimes the
distant server doesn't
respond quickly enough and everything stops. At
this point we would like
to start from the point where we stopped before.
I am also attaching a text file with an example of
this problem.
Thank you very much for your time,
Katerina Sladkova
_______________________________________________
fenics-support mailing list
[email protected]
<mailto:[email protected]>
http://fenicsproject.org/mailman/listinfo/fenics-support
--
Ingénieur de Recherche CNRS
Laboratoire de Mathématiques Jean Leray
UMR 6629 CNRS - Université de Nantes
[email protected] <mailto:[email protected]> --- 02 51 12 59
40
--
Ingénieur de Recherche CNRS
Laboratoire de Mathématiques Jean Leray
UMR 6629 CNRS - Université de Nantes
[email protected] --- 02 51 12 59 40
_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support