(Renaming the thread as the discussion has moved on)

Hi Guilherme,

Thanks for responding on this and I think your suggestion is a good one and encodes the Intel version in the correct place. My other thought had been to remove the specification of the 'intel' module altogether from the CrayIntel toolchain adn specify it in the config file for the specific software packages but your approach is more logical.

Hoping to contribute back at some point but want to see how far I get with the tool on ARCHER first.

Cheers
Andy

On 02/06/2016 12:47, Peretti-Pezzi  Guilherme wrote:
Andy,


The only way of ensuring reproducibility is to pin the intel version, and
that was our focus when designing these toolchains, rather than having
generic/versionless build recipes that might work or not depending on the
defaults of your system.

Since the intel version can be different from one site to another, the
approach that I would recommend is to also modify the CrayIntel toolchain
version number when you tailor the intel version to match your system (for
example CrayIntel/2015.11-15.0.2).

This will require you to use the --try-toolchain-version=2015.11-15.0.2
when build other stock CrayIntel/2015.11 easyconfig files on your system,
however it will enable your recipes to co-exist with the existing ones
(and will allow you to contribute them back one day).

If you consider that this solution is not acceptable for you, please open
an issue on Github so that we can discuss if we can improve the versioning
scheme.

Cheers,
Guilherme

-----Original Message-----
From: Kenneth Hoste <[email protected]>
Date: Wednesday 1 June 2016 22:08
To: "[email protected]" <[email protected]>
Cc: Peretti-Pezzi  Guilherme <[email protected]>, Marsella  Luca
<[email protected]>, "[email protected]" <[email protected]>
Subject: Re: [easybuild] Newbie question: Generic easyblock to use for VASP

Hi Andy,

On 01/06/16 14:39, Andy Turner wrote:

Just thought I should let you know that this is now working, the final
combination of options needed was:

patches = [('makefile.include.crayxc_intel', '.')]
prebuildopts = 'cp makefile.include.crayxc_intel makefile.include && '

Thanks for all your help with this.

BTW, in working on this I noticed a bug in your CrayIntel-2015.11.eb
toolchain. This toolchain specifies a particular verison of the Intel
compiler (15.0.2.164):

--
dependencies = [
    # PrgEnv version is not pinned, as Cray recommends to use the
latest (default) version
    ('PrgEnv-intel', EXTERNAL_MODULE),
    ('intel/15.0.1.133', EXTERNAL_MODULE),
    ('cray-libsci/13.2.0', EXTERNAL_MODULE),
    ('cray-mpich/7.2.6', EXTERNAL_MODULE),
]
--

In fact, the Intel compiler versions are not part of the Cray PE
release process, their version progression is decoupled from the Cray
software release schedule.

For example, we have the Nov 2015 PE release but do not have
'intel/15.0.1.133' (we have 'intel/15.0.2.164') so I had to modify
this EasyConfig file to make the installation work.

The 'intel' version was picked by the EasyBuilders @ CSCS based on
latest/recommended version info the Cray documentation.
Guilherme/Luca (CSCS) or Petar (in CC) can provide more details on this...


Having though about this a bit I think it makes more sense for the
'intel' module to be specified as a dependency in the VASP easyconfig
rather than in the toolchain. Could the toolchain just contain:

--
dependencies = [
    # PrgEnv version is not pinned, as Cray recommends to use the
latest (default) version
    ('PrgEnv-intel', EXTERNAL_MODULE),
    ('intel', EXTERNAL_MODULE),
    ('cray-libsci/13.2.0', EXTERNAL_MODULE),
    ('cray-mpich/7.2.6', EXTERNAL_MODULE),
]
--

and then specify the specific intel version (if needed) in the
software easyconfig?

No, that won't work, because this would mean that you let EasyBuild load
whatever 'intel' version is the default, and then let intel/15.0.1.133
be loaded as a dependency for VASP. That will most likely not work, and
result in a version conflict...

If you want to change this, I would recommend slightly tweaking the
definition of the CrayIntel/2015.11 toolchain to use the 'intel' version
you have available.

Ideally, these versions should be picked such that they work for anyone
who has that particular version of Cray PE release, but I'm not sure if
that's feasible, there seem to be small differences between Cray sites.

Again, this discussion should probably be picked up with the folks at
CSCS...


regards,

Kenneth


--
=============================================
         Dr Andrew R. Turner
      e: [email protected]
  skype: aturner-epcc
      t: +44 (0)131 650 5845
      p: EPCC, University of Edinburgh EH9 3FD

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Reply via email to