Hi Joachim,

I think you're confusing two things here.

1) a PGI module file that points to a PGI installation performed with EB; that's what you have now, and what is supported since EB v2.6.0

2) using that PGI module as a toolchain in other easyconfig files; that's what you need to build/install OpenMPI with PGI, and that's what the open pull request (https://github.com/hpcugent/easybuild-framework/pull/1342) is adding; the EasyBuild framework needs to be know how to use a particular toolchain (whether it's compiler-only or compiler+MPI or more is not that important in this discussion), to set up the build environment accordingly ($CC, $CFLAGS, etc.).

Bart implemented this support, but it hasn't been thoroughly tested yet, and so hasn't been merged yet.

If you want to test this, you can download toolchains/pgi.py and toolchains/compiler/pgi.py from the pull request, and include them into EasyBuild as follows:

eb --include-toolchains=/path/to/pgi.py,/path/to/compiler/pgi.py OpenMPI-with-PGI.eb

Do report back if you're up for testing this, preferably in the pull request.


regards,

Kenneth


On 11/02/16 16:34, Joachim Hein wrote:
Hi Bart,

Cool.  Thanks for providing the PGI in first place.

There must be more to this. To build the openmpi, and looking into $CFGS2/o/OpenMPI/OpenMPI-1.10.2-GCC-4.9.3-2.25.eb it seems I need a PGI toolchain. It seems the GCC is a compiler module and a toolchain. What I got from your PGI easyconfig is just a compiler module. I am currently looking how to create a PGI compiler module which is known to EB as a toolchain.

Asked differently, how do you build OpenMPI for PGI without a plain PGI toolchain? Declaring PGI as a dependency would have side effects in a hierarchical module tree.

When looking at eb --list-toolchains, there are a lot of things we have not build on our system. So there must be a repository of known toolchains. Studying things I have not been able to spot how that thing is generated.

Best wishes
  Joachim

On 11 Feb 2016, at 16:03, Bart Oldeman <[email protected] <mailto:[email protected]>> wrote:

Hi Joachim,

(disclaimer: I contributed the PGI easyconfig and easyblock).

Kenneth decided to ship the PGI easyconfigs/block just in time for 2.6.0, but left out the toolchain with a milestone of 2.7.0. You can find it here:

https://github.com/hpcugent/easybuild-framework/pull/1342

Once that's there the higher-level toolchains are fairly straightforward. This is my pompi/2015b toolchain easyconfig:

===
easyblock = "Toolchain"

name = 'pompi'
version = '2015b'
pgisuffix = '-GNU-4.9.3-2.25'

homepage = 'http://www.pgroup.com/index.htm'
description = """Toolchain with PGI C, C++ and Fortran compilers, alongside OpenMPI."""

toolchain = {'name': 'dummy', 'version': 'dummy'}

compver = '15.7'

dependencies = [
    ('pgi', compver, pgisuffix),
    ('OpenMPI', '1.8.8', '', ('pgi', '%s%s' % (compver, pgisuffix))),
]

moduleclass = 'toolchain'
===

I'll have a look at the license file thing too. I modelled it after Intel but the intel easyblock went through some changes in the mean time. Locally I just modify the easyconfig to set this:

# license file
import os
license_file = os.path.sep + os.path.join("software", "CentOS-6", "compilers", "pgi", "license.dat")


Bart

On Thu, Feb 11, 2016 at 9:50 AM, Joachim Hein <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    I have build a PGI compiler (PGI/15.10-GCC-4.9.3-2.25) using
    EasyBuild and need to build more packages against it.   I tried with

    toolchain = {'name': 'PGI', 'version': '15.10-GCC-4.9.3-2.25'}

    inside my easyconfig, but am getting

    Toolchain PGI not found, available toolchains: ...

    There are other toolchains that are essentially just a compiler
    (e.g. GCC/4.9.3-2.25).  How can I promote the PGI module to a
    toolchain?  I hope this is not a major hack.

    In the long run we would also need a PGI-OpenMPI toolchain -
    anyone interested?

    Thanks and best wishes
       Joachim





--
Dr. Bart E. Oldeman | [email protected] <mailto:[email protected]> | [email protected] <mailto:[email protected]>
Scientific Computing Analyst / Analyste en calcul scientifique
McGill HPC Centre / Centre de Calcul Haute Performance de McGill | http://www.hpc.mcgill.ca <http://www.hpc.mcgill.ca/>
Calcul Québec | http://www.calculquebec.ca <http://www.calculquebec.ca/>
Compute/Calcul Canada | http://www.computecanada.ca <http://www.computecanada.ca/>
Tel/Tél: 514-396-8926 | Fax/Télécopieur: 514-396-8934


Reply via email to