[petsc-users] PETSC on Cray Hazelhen

Stefano Zampini stefano.zampini at gmail.com
Tue Jun 13 09:10:04 CDT 2017


Cray machines can be used with shared libraries, it’s not like the earlier versions of BG/Q

Yes, you need almost all of this. If you run with configure with the option —with-batch=1, will then generate something like the one I have sent you.

—with-shared-libraries is a PETSc configuration, i.e. you will create libpetsc.so
—LDFLAGS=-dynamic is used to link dynamically a PETSc executable
—known-mpi-shared-libraries=0 will use a statically linked MPI

You can remove the first two options listed above if you would like to have a static version of PETSC.
You may want to refine the options for optimized builds, i.e. add your favorite COPTFLAGS and remove —with-debugging=1
Another thing you can do. Load any of the PETSc modules on the XC40, and then look at the file

$PETSC_DIR/include/petscconfiginfo.h


> On Jun 13, 2017, at 4:01 PM, Vaz, Guilherme <G.Vaz at marin.nl> wrote:
> 
> Stefano/Mathew,
> 
> Do I need all this :-)?
> And I dont want a debug version, just an optimized release version. Thus I understand the -g -O0 flags for debug, but the rest I am not sure what is for debug and for a release version.  Sorry...
> I am also kind of confused on the shared libraries issue,
> '--known-mpi-shared-libraries=0',
>  '--with-shared-libraries=1',
> on the static vs dynamic linking (I thought in XC-40 we had to compile everything statically,
> --LDFLAGS=-dynamic
> and on the FFFLAG:
> --FFLAGS=-mkl=sequential -g -O0 -lstdc++
> Is this to be used with Intel MKL libraries?
> 
> Thanks for the help, you both.
> 
> Guilherme V.
> 
> dr. ir. Guilherme Vaz | CFD Research Coordinator / Senior CFD Researcher  | Research & Development
> MARIN | T +31 317 49 33 25 | M +31 621 13 11 97 | G.Vaz at marin.nl <mailto:G.Vaz at marin.nl> | www.marin.nl <http://www.marin.nl/>
> 
> <image067d96.PNG> <https://www.linkedin.com/company/marin> <image0c3f53.PNG> <http://www.youtube.com/marinmultimedia> <image887afd.PNG> <https://twitter.com/MARIN_nieuws> <image2a2a45.PNG> <https://www.facebook.com/marin.wageningen>
> MARIN news: MARIN deelt onderzoek tijdens R&D Seminar, 21 juni 2017 <http://www.marin.nl/web/News/News-items/MARIN-deelt-onderzoek-tijdens-RD-Seminar-21-juni-2017.htm>
> From: Stefano Zampini <stefano.zampini at gmail.com <mailto:stefano.zampini at gmail.com>>
> Sent: Tuesday, June 13, 2017 3:42 PM
> To: Vaz, Guilherme
> Cc: Matthew Knepley; PETSc
> Subject: Re: [petsc-users] PETSC on Cray Hazelhen
>  
> Guilherme,
> 
> here is my debug configuration (with shared libraries) in PETSc on a XC40
> 
>     '--CFLAGS=-mkl=sequential -g -O0 ',
>     '--CXXFLAGS=-mkl=sequential -g -O0 ',
>     '--FFLAGS=-mkl=sequential -g -O0 -lstdc++',
>     '--LDFLAGS=-dynamic',
>     '--download-metis-cmake-arguments=-DCMAKE_C_COMPILER_FORCED=1',
>     '--download-metis=1',
>     '--download-parmetis-cmake-arguments=-DCMAKE_C_COMPILER_FORCED=1',
>     '--download-parmetis=1',
>     '--known-bits-per-byte=8',
>     '--known-has-attribute-aligned=1',
>     '--known-level1-dcache-assoc=8',
>     '--known-level1-dcache-linesize=64',
>     '--known-level1-dcache-size=32768',
>     '--known-memcmp-ok=1',
>     '--known-mpi-c-double-complex=1',
>     '--known-mpi-int64_t=1',
>     '--known-mpi-long-double=1',
>     '--known-mpi-shared-libraries=0',
>     '--known-sdot-returns-double=0',
>     '--known-sizeof-MPI_Comm=4',
>     '--known-sizeof-MPI_Fint=4',
>     '--known-sizeof-char=1',
>     '--known-sizeof-double=8',
>     '--known-sizeof-float=4',
>     '--known-sizeof-int=4',
>     '--known-sizeof-long-long=8',
>     '--known-sizeof-long=8',
>     '--known-sizeof-short=2',
>     '--known-sizeof-size_t=8',
>     '--known-sizeof-void-p=8',
>     '--known-snrm2-returns-double=0',
>     '--with-ar=ar',
>     '--with-batch=1',
>     '--with-cc=/opt/cray/craype/2.4.2/bin/cc',
>     '--with-clib-autodetect=0',
>     '--with-cmake=/home/zampins/local/bin/cmake',
>     '--with-cxx=/opt/cray/craype/2.4.2/bin/CC',
>     '--with-cxxlib-autodetect=0',
>     '--with-debugging=1',
>     '--with-dependencies=0',
>     '--with-etags=0',
>     '--with-fc=/opt/cray/craype/2.4.2/bin/ftn',
>     '--with-fortran-datatypes=0',
>     '--with-fortran-interfaces=0',
>     '--with-fortranlib-autodetect=0',
>     '--with-pthread=0',
>     '--with-ranlib=ranlib',
>     '--with-scalar-type=real',
>     '--with-shared-ld=ar',
>     '--with-shared-libraries=1',
>     'PETSC_ARCH=arch-intel-debug',
> 
> 
> 2017-06-13 15:34 GMT+02:00 Vaz, Guilherme <G.Vaz at marin.nl <mailto:G.Vaz at marin.nl>>:
> Dear Matthew,
> 
> Thanks. It went further, but now I get:
> TESTING: configureMPIEXEC from config.packages.MPI(/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/packages/MPI.py:143)
> *******************************************************************************
>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
> -------------------------------------------------------------------------------
> Must give a default value for known-mpi-shared-libraries since executables cannot be run
> *******************************************************************************
> 
> Last lines from the log:
>  File "./config/configure.py", line 405, in petsc_configure
>     framework.configure(out = sys.stdout)
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/framework.py", line 1090, in configure
>     self.processChildren()
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/framework.py", line 1079, in processChildren
>     self.serialEvaluation(self.childGraph)
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/framework.py", line 1060, in serialEvaluation
>     child.configure()
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/package.py", line 791, in configure
>     self.executeTest(self.checkSharedLibrary)
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/base.py", line 126, in executeTest
>     ret = test(*args,**kargs)
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/packages/MPI.py", line 135, in checkSharedLibrary
>     self.shared = self.libraries.checkShared('#include <mpi.h>\n','MPI_Init','MPI_Initialized','MPI_Finalize',checkLink = self.checkPackageLink,libraries = self.lib, defaultArg = 'known-mpi-shared-libraries', ex
> ecutor = self.mpiexec)
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/libraries.py", line 471, in checkShared
>     if self.checkRun(defaultIncludes, body, defaultArg = defaultArg, executor = executor):
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/base.py", line 628, in checkRun
>     (output, returnCode) = self.outputRun(includes, body, cleanup, defaultArg, executor)
>   File "/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/base.py", line 598, in outputRun
>     raise ConfigureSetupError('Must give a default value for '+defaultOutputArg+' since executables cannot be run')
> 
> ​Any ideas? Something related with 
>  --with-shared-libraries=0 \ 
>  --with-batch=1 \
> ​The first I set because it was in the cray example, and the second because aprun (the mpiexec of Cray) is not available in the frontend. 
> 
> Thanks,
> 
> Guilherme V.
> 
> dr. ir. Guilherme Vaz | CFD Research Coordinator / Senior CFD Researcher  | Research & Development
> MARIN | T +31 317 49 33 25 | M +31 621 13 11 97 | G.Vaz at marin.nl <mailto:G.Vaz at marin.nl> | www.marin.nl <http://www.marin.nl/>
> 
> <image628296.PNG> <https://www.linkedin.com/company/marin> <imagecdd6dd.PNG> <http://www.youtube.com/marinmultimedia> <imageae7ad3.PNG> <https://twitter.com/MARIN_nieuws> <image9aa6ed.PNG> <https://www.facebook.com/marin.wageningen>
> MARIN news: MARIN deelt onderzoek tijdens R&D Seminar, 21 juni 2017 <http://www.marin.nl/web/News/News-items/MARIN-deelt-onderzoek-tijdens-RD-Seminar-21-juni-2017.htm>
> From: Matthew Knepley <knepley at gmail.com <mailto:knepley at gmail.com>>
> Sent: Tuesday, June 13, 2017 2:34 PM
> To: Vaz, Guilherme
> Cc: PETSc
> Subject: Re: [petsc-users] PETSC on Cray Hazelhen
>  
> On Tue, Jun 13, 2017 at 3:48 AM, Vaz, Guilherme <G.Vaz at marin.nl <mailto:G.Vaz at marin.nl>> wrote:
> Dear all,
> I am trying to install PETSC on a Cray XC40 system (Hazelhen) with the usual Cray wrappers for Intel compilers, with some chosen external packages and MKL libraries.
> I read some threads in the mailing list about this, and I tried the petsc-3.7.5/config/examples/arch-cray-xt6-pkgs-opt.py configuration options. After trying this (please abstract from my own env vars),
> CONFOPTS="--prefix=$PETSC_INSTALL_DIR \
>               --with-cc=cc \
>               --with-cxx=CC \
>               --with-fc=ftn \
>               --with-clib-autodetect=0 \
>               --with-cxxlib-autodetect=0 \
>               --with-fortranlib-autodetect=0 \
>               --COPTFLAGS=-fast -mp \
>               --CXXOPTFLAGS=-fast -mp \
>               --FOPTFLAGS=-fast -mp \
>               --with-shared-libraries=0 \ 
>               --with-batch=1 \
>               --with-x=0 \
>               --with-mpe=0 \
>               --with-debugging=0 \
>               --download-superlu_dist=$SOURCE_DIR/$SUPERLU_SOURCE_FILE \
>               --with-blas-lapack-dir=$BLASDIR \
>               --download-parmetis=$SOURCE_DIR/$PARMETIS_SOURCE_FILE \
>               --download-metis=$SOURCE_DIR/$METIS_SOURCE_FILE \
>               --with-external-packages-dir=$INSTALL_DIR \
>               --with-ssl=0 "
> 
> I get the following error:
> 
> TESTING: checkFortranLinkingCxx from config.compilers(/zhome/academic/HLRS/pri/iprguvaz/ReFRESCO/Dev/trunk/Libs/build/petsc-3.7.5/config/BuildSystem/config/compilers.py:1097)
> *******************************************************************************
>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
> -------------------------------------------------------------------------------
> Fortran could not successfully link C++ objects
> *******************************************************************************
> 
> Does it ring a bell? Any tips?
> 
> You turned off autodetection, so it will not find libstdc++. That either has to be put in LIBS, or I would recommend
> 
>   --with-cxx=0
> 
> since nothing you have there requires C++.
> 
>   Thanks,
> 
>     Matt
>  
> Thanks,
> Guilherme V.
> 
> dr. ir. Guilherme Vaz | CFD Research Coordinator / Senior CFD Researcher  | Research & Development
> MARIN | T +31 317 49 33 25 <tel:+31%20317%20493%20325> | M +31 621 13 11 97 | G.Vaz at marin.nl <mailto:G.Vaz at marin.nl> | www.marin.nl <http://www.marin.nl/>
> 
> <imageb0ee12.PNG> <https://www.linkedin.com/company/marin> <imaged8f08c.PNG> <http://www.youtube.com/marinmultimedia> <imagedacd80.PNG> <https://twitter.com/MARIN_nieuws> <image1bd020.PNG> <https://www.facebook.com/marin.wageningen>
> MARIN news: Maritime Safety seminar, September 12, Singapore <http://www.marin.nl/web/News/News-items/Maritime-Safety-seminar-September-12-Singapore.htm>
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
> 
> http://www.caam.rice.edu/~mk51/ <http://www.caam.rice.edu/~mk51/>
> 
> 
> 
> -- 
> Stefano

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170613/ce9d27ed/attachment-0001.html>


More information about the petsc-users mailing list