easybuilders / easybuild-easyblocks

Collection of easyblocks that implement support for building and installing software with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
104 stars 284 forks source link

Provide popular PRACE packages, ensure they are available as a meta-module #82

Open boegel opened 11 years ago

boegel commented 11 years ago

(originally by @fgeorgatos)

most of the content on this has been shamelessly copied^H^H^H^H^H^H borrowed from: https://openwiki.uninett.no/metacenter:reference:noturcpe

boegel commented 11 years ago

Moved from https://github.com/hpcugent/easybuild-framework/issues/333

fgeorgatos commented 11 years ago

Updating status as of v2.2.0:

Required Components

Application name and remarks follow:

Python module

There is also an apparent need for an extended Python module, covering

PRACE CPE Compatibility - issue objective

Finally, the PRACE CPE is the compatibility layer centers strive to be compliant against:

As per the following, some aliasing work will be required (or it can be done via alt. namespace):

[1] provide an alias to the recommended, highest performance, library or utility, supporting the platform recommended compiler. In case of a library, this might be fully contained in another product. If a recommended vendor library does not fully contain the module file library (including its API), separate libraries must be provided (e.g. IBM ESSL). [2] provide an alias to the recommended compiler, capable of compiling parallel (MPI) programs, with or without OpenMP.

btw. sources to bootstrap some easyconfigs needed above - some are working already

Mockup -untested- versions for some of the missing small items above can be found at: https://github.com/fgeorgatos/easybuild.experimental/blob/master/contrib/pkgsrc/20121226/e/emacs-22.3.eb https://github.com/fgeorgatos/easybuild.experimental/blob/master/contrib/pkgsrc/20121226/n/nedit--src.eb

Default PRACE module dependencies and variables

The PRACE module should automatically bring up as dependencies (ie. behave as an extended toolchain): c c++ fortran mpi blas lapack blacs scalapack fftw/3 netcdf hdf5 and ensure it adjusts variables (ie. define modextravars in relation to $EBPRACEDEVEL?):

$PRACE_{FFLAGS,CFLAGS,LDFLAGS,STORE,SCRATCH,ARCH}

PRACE Applications - this is fyi. only

Finally, these apps have to be available as modules, too:

PRACE Benchmarks - this is fyi. only

For completeness -but not a prerequisite to resolve this issue-, here are the applications selected for the PRACE application benchmark suite:

Ref: http://www.hpcwire.com/hpcwire/2010-02-15/prace_benchmark_suite_finalised.html

fgeorgatos commented 11 years ago

Hoi *,

Getting ready to contribute the first iteration of the PRACE environment during the hackathon @ Cyprus: https://github.com/fgeorgatos/easybuild.experimental/tree/master/users/fgeorgatos/PRACE

Toolchains tested: goalf/1.1.0, ictce/4.1.13, ictce/5.2.0

We still have some way to go as regards minor tools and also variables, as defined here: http://www.prace-ri.eu/PRACE-Common-Production

Overall, it's looking good but gives some errors with the $EBDEVELPRACE (it has to be tuned, because the whole point of the PRACE CPE is to eliminate such issues)

The upcoming hackathon in Nicosia next week is a prime opportunity to follow up on the issues, before we hit the trigger for the grand pull request.

Don't be dismayed to give it a try, its status is already pretty good for the majority of users;

fgeorgatos@gaia-10:~/easybuild.experimental/users/fgeorgatos/PRACE$ module load PRACE
fgeorgatos@gaia-10:~/easybuild.experimental/users/fgeorgatos/PRACE$ module list
Currently Loaded Modulefiles:
  1) EasyBuild/1.2.0               5) imkl/11.0.2.146               9) Bash/4.2-ictce-5.2.0         13) zlib/1.2.7-ictce-5.2.0       17) Bison/2.5-ictce-5.2.0
  2) icc/2013.2.146                6) ictce/5.2.0                  10) tcsh/6.18.01-ictce-5.2.0     14) Szip/2.1-ictce-5.2.0         18) Doxygen/1.8.1.1-ictce-5.2.0
  3) ifort/2013.2.146              7) make/3.82-ictce-5.2.0        11) Tcl/8.5.12-ictce-5.2.0       15) HDF5/1.8.9-ictce-5.2.0       19) netCDF/4.1.3-ictce-5.2.0
  4) impi/4.1.0.030                8) Java/1.7.0_10                12) Tk/8.5.12-ictce-5.2.0        16) flex/2.5.35-ictce-5.2.0      20) PRACE/20130306-ictce-5.2.0
fgeorgatos@gaia-10:~/easybuild.experimental/users/fgeorgatos/PRACE$
fgeorgatos@gaia-10:~/easybuild.experimental/users/fgeorgatos/PRACE$ echo $EBDEVELPRACE
/home/users/fgeorgatos/.local/easybuild/software/PRACE/20130306-ictce-5.2.0/easybuild/PRACE-20130306-ictce-5.2.0-easybuild-devel

enjoy, Fotis

fgeorgatos commented 11 years ago

Progress report: We now have 2 PRACE toolchains, which cover both recent Intel and GNU compiler toolkits: https://github.com/fgeorgatos/easybuild.experimental/tree/master/users/fgeorgatos/PRACE PrgEnv business requires more work but the structure I think is relatively correct.

fgeorgatos commented 4 years ago

this feels like necroposting, nevertheless here is some newer information in relation to $subject: https://repository.prace-ri.eu/git/UEABS/ueabs#the-application-codes-that-constitute-the-ueabs-are

It basically has explicit instructions/info about the PRACE benchmark suite's components:

boegel commented 4 years ago

Oh they even added TensorFlow recently to it, see https://repository.prace-ri.eu/git/UEABS/ueabs#tensorflow .

Now it's getting interesting... I've been looking for a decent TensorFlow benchmark for a while now.