Hi Joachim,

Whoops I never replied to this. The solution in the end for me was to
create my own custom naming scheme. Basically it's a copy of HMNS but I
have special cases for icc/ifort/iccifort where iccifort is what extends
the path.

You can ignore the is_short_modname_for function, I mess with that because
I prefer more descriptive names for the modules for iccifort, psmpi and
impi in a HMNS

Best,

Alan

On 19 February 2016 at 10:23, Alan O'Cais <[email protected]> wrote:

> Hi Joachim,
>
> I think that since icc/ifort sit at the core level then they are not
> visible to spider when they are invisible modules, which would mean that
> the path extension would be seen come from iccifort...but I was only taking
> that for a test drive recently and haven't actually done a proper test.
> I'll do some further testing today and get back to you.
>
> The other option I will explore is changing the class of icc/ifort to
> something other than compiler (which will bypass the exception code in the
> naming scheme and cause the path not to be extended) and change the module
> class of iccifort to 'compiler' (which causes the path to be extended).
> This would also require a trivial change to the easyblock used for iccifort
> (easyblock = 'Bundle') but something similar is already done for GCC in the
> latest EasyBuild releases. If that works, we could think about a PR that
> explicitly does the same thing for this special case.
>
> Will get back to you later,
>
> Alan
>
> On 18 February 2016 at 21:10, Joachim Hein <[email protected]>
> wrote:
>
>> Hi Alan
>>
>> I sort of agree that the icc ifort split is somewhat an issue. Though the
>> iccifort modules are what I would call "the Intel compiler".  Changing
>> matters would (might?) cause trouble in other places, such as the try
>> options.
>>
>> If I use the HIDE_DEPS var - what would happen to
>>
>>   module spider scipy
>>
>> Which compiler would be stated in that output?
>>
>> Thanks Joachim
>>
>>
>>
>> Sent from my iPad
>>
>> On 18 Feb 2016, at 16:39, Alan O'Cais <[email protected]> wrote:
>>
>> Dear Joachim,
>>
>> I consider this a flaw of the current hierarchical implementation, or
>> more specifically the module classes of icc/ifort in the easyconfig files.
>> Only icc together with ifort should be classed as a compiler (so icc/ifort
>> should maybe be classed as tools and iccifort as a compiler not a
>> toolchain). It was lmod output like yours that prompted us to use a
>> toolchain-based hierarchical scheme. We've learned that this is difficult
>> to make robust however and get's messy when you have (3 compilers)x(4 MPI
>> implementations).
>>
>> You can sidestep this issue by adding icc and ifort to the
>> EASYBUILD_HIDE_DEPS env var (or your eb configuration, or the command line)
>> when building software. This will hide icc/ifort by default and they won't
>> show up in your spider output...but doing this means you need to rebuild
>> your module tree (you only need new modules, --module-only, the software
>> installations themselves are fine)
>>
>> Alan
>>
>> On 18 February 2016 at 16:05, Joachim Hein <[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> We use easybuild with an hierarchical naming scheme.  I have build
>>> scipy-0.16.1-intel-2015b-Python-2.7.10.eb  (EB 2.6) and when doing a
>>> module spider I get
>>>
>>> -bash-4.2$ module spider scipy/0.16.1-Python-2.7.10
>>>
>>>
>>> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>   scipy: scipy/0.16.1-Python-2.7.10
>>>
>>> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>>     This module can only be loaded through the following modules:
>>>
>>>       icc/2015.3.187-GNU-4.9.3-2.25  impi/5.0.3.048
>>>       ifort/2015.3.187-GNU-4.9.3-2.25  impi/5.0.3.048
>>>
>>>
>>>     Help:
>>>        SciPy is a collection of mathematical algorithms and convenience
>>>        functions built on the Numpy extension for Python. - Homepage:
>>> http://www.scipy.org
>>>
>>> When doing
>>>
>>> module load icc/2015.3.187-GNU-4.9.3-2.25  impi/5.0.3.048
>>> scipy/0.16.1-Python-2.7.10
>>>
>>> it will not pull in the ifort.  A user reported that:
>>>
>>> -bash-4.2$ python
>>> Python 2.7.10 (default, Jan 25 2016, 13:14:08)
>>> [GCC Intel(R) C++ gcc 4.9 mode] on linux2
>>> Type "help", "copyright", "credits" or "license" for more information.
>>> >>> from scipy.signal import argrelextrema
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in <module>
>>>   File "/sw/easybuild/software/MPI/intel/2015.3.187-GNU-4.9.3-2.25/impi/
>>> 5.0.3.048/scipy/0.16.1-Python-2.7.10/lib/python2.7/site-packages/scipy/signal/__init__.py",
>>> line 280, in <module>
>>>     from .bsplines import *
>>>   File "/sw/easybuild/software/MPI/intel/2015.3.187-GNU-4.9.3-2.25/impi/
>>> 5.0.3.048/scipy/0.16.1-Python-2.7.10/lib/python2.7/site-packages/scipy/signal/bsplines.py",
>>> line 12, in <module>
>>>     from scipy.special import comb, gamma
>>>   File "/sw/easybuild/software/MPI/intel/2015.3.187-GNU-4.9.3-2.25/impi/
>>> 5.0.3.048/scipy/0.16.1-Python-2.7.10/lib/python2.7/site-packages/scipy/special/__init__.py",
>>> line 601, in <module>
>>>     from ._ufuncs import *
>>> ImportError: libifport.so.5: cannot open shared object file: No such
>>> file or directory
>>>
>>>
>>>
>>> The problem goes away if I load the matching intel toolchain.  I assume
>>> some of the modules involved should load the relevant iccifort to make sure
>>> whether loaded via the icc or the ifort route, both modules are present
>>> once the scipy is loaded.
>>>
>>> I am not sure at which level (Python, numpy or scipy) Fortran and C
>>> report is required and which module should be modified.  I leave that to
>>> the experts to decide.
>>>
>>> Best wishes
>>>   Joachim
>>>
>>>
>>
>>
>> --
>> Dr. Alan O'Cais
>> Application Support
>> Juelich Supercomputing Centre
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich, Germany
>>
>> Phone: +49 2461 61 5213
>> Fax: +49 2461 61 6656
>> E-mail: [email protected]
>> WWW:    http://www.fz-juelich.de/ias/jsc/EN
>>
>>
>>
>> ------------------------------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------------------------
>> 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
> Application Support
> Juelich Supercomputing Centre
> Forschungszentrum Juelich GmbH
> 52425 Juelich, Germany
>
> Phone: +49 2461 61 5213
> Fax: +49 2461 61 6656
> E-mail: [email protected]
> WWW:    http://www.fz-juelich.de/ias/jsc/EN
>



-- 
Dr. Alan O'Cais
Application Support
Juelich Supercomputing Centre
Forschungszentrum Juelich GmbH
52425 Juelich, Germany

Phone: +49 2461 61 5213
Fax: +49 2461 61 6656
E-mail: [email protected]
WWW:    http://www.fz-juelich.de/ias/jsc/EN

Attachment: custom_mns.py
Description: Binary data

Reply via email to