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