As Bernd & Alan suggest, letting EasyBuild create a wrapper module for
the toolchain components you already have installed is another option,
but that may be overkill since you already have modules in place...
Also, it's not going to help much if the toolchain you compose using
external installations isn't exactly what EasyBuild expects.
regards,
Kenneth
On 18/05/2018 11:45, Alan O'Cais wrote:
Dear Samuel,
Components of a toolchain are not ordinary dependencies and are treated
in a special way by EB, which expects them to be present in a particular
manner. I did quite a bit of work on the system compiler and system MPI
easyblocks a few months back. The systemcompiler supports GCC and Intel
compilers (if you have the compilers in your path it should figure out
the rest). Examples of use of this and the systemmpi easyblock can be
found in https://github.com/easybuilders/easybuild-easyconfigs/pull/4136
. Since this is already merged, you will be able to wrap your intel
compilers with
eb iccifort-system-GCC-system-2.29.eb
<https://github.com/easybuilders/easybuild-easyconfigs/pull/4136/files#diff-d3414ec582f96e5a4975744e03ac5e3e> (this
will also wrap your system GCC and build binutils 2.29)
The systemmpi easyblock would need work for your use case, that
easyblock
<https://github.com/easybuilders/easybuild-easyblocks/blob/master/easybuild/easyblocks/generic/systemmpi.py> would
need to be extended to support MVAPICH2 (currently it supports OpenMPI
and IntelMPI).
For the maths libraries there is currently no system easyblock
available, that would have to be written from scratch.
Kind regards,
Alan
On 18 May 2018 at 11:19, Bernd Mohr <[email protected]
<mailto:[email protected]>> wrote:
Dear Samuel,
I guess the simplest way to achieve what you want is to create EasyBuild
modules for your compiler and MPI installed outside of EasyBuild
with the "SystemCompiler" and "SystemMPI" easyblocks.
Bernd
On Thu, May 17, 2018 at 10:25:10PM +0200, [email protected]
<mailto:[email protected]> wrote:
> Hello,
>
> I am new to EasyBuild and am trying to create a custom toolchain
which uses
> external dependencies where the compiler and MPI are have
manually created
> modules outside of Easybuild.
>
> I created an easyconfig file imv2.eb:
> easyblock = "Toolchain"
> name = 'imv2'
> version = '1.1.2'
> homepage =
'http://software.intel.com/en-us/intel-cluster-toolkit-compiler/
<http://software.intel.com/en-us/intel-cluster-toolkit-compiler/>'
> description = """Intel Cluster Toolkit Compiler Edition provides
Intel C/C++
> and Fortran compilers, Intel MPI & Intel MKL."""
> toolchain = {'name': 'dummy', 'version': 'dummy'}
> dependencies = [ #
version/released
> ('intel/18.0.0', EXTERNAL_MODULE),
> ('mvapich2/2.3rc2', EXTERNAL_MODULE),
> ]
> moduleclass = 'toolchain'
> module_depends_on = {('intel/18.0.0'), ('mvapich2/2.3rc2')}
>
> and easyblock:
> from easybuild.toolchains.mpi.mvapich2 import Mvapich2
> from easybuild.toolchains.fft.intelfftw import IntelFFTW
> from easybuild.toolchains.linalg.intelmkl import IntelMKL
> from easybuild.toolchains.iccifort import IccIfort
>
> class Imv2(IccIfort, Mvapich2, IntelMKL, IntelFFTW):
> """
> Compiler toolchain with Intel compilers (icc/ifort), MVAPICH2
MPI,
> Intel Math Kernel Library (MKL) and Intel FFTW wrappers.
> """
> NAME = 'imv2'
> SUBTOOLCHAIN = IccIfort.NAME
>
> However when I try installing a package that depends on this
toolchain I get
> the following message:
>
> FAILED: Installation ended unsuccessfully (build directory:
/users/PZS0530/
> skhuvis/.local/easybuild/build/ScaLAPACK/2.0.2/imv2-1.1.2): build
failed
> (first 300 chars): List of toolchain dependency modules and toolchain
> definition do not match (found ['intel/18.0.0',
'mvapich2/2.3rc2'] vs expected
> set(['MVAPICH2', 'icc', 'imkl', 'ifort']))
>
> What would be the correct way to create this module to use
external modules?
>
> Thank you,
> Samuel Khuvis
> Scientific Applications Engineer
> Ohio Supercomputer Center (OSC)
> A member of the Ohio Technology Consortium
> 1224 Kinnear Road, Columbus, Ohio 43212
--
Dr.-Ing. Bernd Mohr
Juelich Supercomputing Centre
Institute for Advanced Simulation
E-Mail: [email protected] <mailto:[email protected]>
WWW:
http://www.fz-juelich.de/SharedDocs/Personen/IAS/JSC/EN/staff/mohr_b.html
<http://www.fz-juelich.de/SharedDocs/Personen/IAS/JSC/EN/staff/mohr_b.html>
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
--
Dr. Alan O'Cais
E-CAM Software Manager
Juelich Supercomputing Centre
Forschungszentrum Juelich GmbH
52425 Juelich, Germany
Phone: +49 2461 61 5213
Fax: +49 2461 61 6656
E-mail: [email protected] <mailto:[email protected]>
WWW: http://www.fz-juelich.de/ias/jsc/EN