Thanks Jack for the hints!

I created a new icc-system.eb easyblock with the following contents:

easyblock = 'SystemCompiler'
name = 'icc'
version = 'system'
homepage = 'http://software.intel.com/en-us/intel-compilers/'
description = """C and C++ compiler from Intel"""
toolchain = {'name': 'dummy', 'version': 'dummy'}
moduleclass = 'compiler'

Next, I simply ran

eb icc-system.eb --robot

which then lead to a newly available module icc/system. Great!

My next question would be:
How is this re-usable: in order to create a toolchain module like "ictce"
using pre-installed components, do I need to create these "system"
easyblocks for all of the components in the toolchain (icc, ifort, mkl,
mpi)?

Or, preferably, is there a way to use the newly created icc-system module
in lieu of an unavailable icc-XXX in an existing definition of an ictce
easyblock?

I think my question boils down to this:
Is there a way to specify a compiler toolchain without the requirements to
specify its exact version number? The idea would be that some software is
robust enough to accept whatever version of a toolchain is available. Or is
this too unrealistic to imagine?

Nick


On Tue, Dec 22, 2015 at 5:47 PM, Jack Perdue <[email protected]> wrote:

> On 12/22/2015 04:26 PM, [email protected] wrote:
>
>> Hi,
>>
>> I am very new to easy_build, and it seems like a great tool!
>>
>> from the mailing list
>> (https://lists.ugent.be/wws/arc/easybuild/2015-09/msg00060.html), I
>> learned it
>> is non-trivial to create a toolchain from the Intel parallel studio 2016
>> tar
>> file. Instead, I simply installed the Intel compilers through Intel's
>> wizard.
>>
>> Is there any documentation that explains how can I use these installed
>> Intel
>> components in easy_build? For example, if the toolchain "ictce" pops up
>> as a
>> dependency for software X, how can I tell easy_build to use the installed
>> Intel parallel studio instead? Or is there a way to create an ictce
>> module out
>> of the installed Parallel studio?
>>
>> Thanks in advance,
>> Nick
>>
>
> Howdy Nick,
>
> You can use the SystemCompiler easyblock to accomplish that
> fairly easily. See:
>
>
> http://www.siliconslick.com/easybuild/ebfiles_repo_cleaned/curie/xlcbase/xlcbase-13.01.0.eb
> (which is a work in progress here)
>
> and
>
>
> https://raw.githubusercontent.com/hpcugent/easybuild-easyconfigs/master/easybuild/easyconfigs/g/GCC/GCC-system.eb
> (which is the "official" EB example)
>
> For details, see:
>
>
> https://raw.githubusercontent.com/hpcugent/easybuild-easyblocks/master/easybuild/easyblocks/generic/systemcompiler.py
>
> Just make sure icc/ifort are in your PATH before you try to build.
>
> jack (who was recently enlightened on the powers of systemcompiler.py)
>



--

Reply via email to