Re: [easybuild] override sanity check for futures with Python 2.7

2019-03-26 Thread Åke Sandgren
https://github.com/easybuilders/easybuild-easyconfigs/pull/7961

On 3/26/19 3:47 PM, Åke Sandgren wrote:
> Ok, I have dask 1.1.4 for fosscuda/2018b with Python 2.7.15 done.
> Based on the existing dask-1.0.0-intel-2018b-Python-3.6.6.eb
> 
> I'll PR it and you can take a look if there is something you think is
> missing.
> 
> On 3/26/19 3:02 PM, Yann Sagon wrote:
>> Excellent, this was what I was looking for!
>>
>> Thanks
>>
>> On Tue, Mar 26, 2019 at 2:10 PM Alan O'Cais > > wrote:
>>
>> See 
>> https://github.com/easybuilders/JSC/blob/0e9a247beec6984052e9a8f0980fec4c465606f4/Golden_Repo/2018b/d/Dask/Dask-Nov2018Bundle-ipsmpi-2018b-Python-2.7.15.eb
>> for an example of how to do it.
>>
>> Alan
>>
>> On Tue, 26 Mar 2019 at 14:02, Yann Sagon > > wrote:
>>
>> Dear list,
>>
>> I'm trying to build dask for python 2.7.15 with the toolchain
>> fosscuda/2018b
>>
>> the Python extension "distributed" needs the extension "futures"
>> which I have added to the ext_list.
>>
>> https://github.com/agronholm/pythonfutures
>>
>> The sanity check isn't working, probably because it's not
>> possible to do an import futures.
>> How should I override the sanity check of this module only?
>>
>> See the relevant part of the log:
>>
>> == 2019-03-26 13:40:57,371 build_log.py:162 ERROR EasyBuild
>> crashed with an error (at ?:124 in __init__): Sanity check
>> failed: extensions sanity check failed for 1 extensions: futures
>> failing sanity check for 'futures' extension: command
>> 
>> "/opt/ebsofts/MPI/GCC-CUDA/7.3.0-2.30-9.2.88/OpenMPI/3.1.1/Python/2.7.15/bin/python
>> -c "import futures"" failed; output:
>> Traceback (most recent call last):
>>   File "", line 1, in 
>> ImportError: No module named futures,  (at
>> easybuild/framework/easyblock.py:2369 in _sanity_check_step)
>>
>> Best
>>
>> -- 
>> Logo UNIGE   Yann Sagon
>> Référent HPC
>>
>> Division du système et des technologies de l'information et de
>> la communication
>> Université de Genève | 24 rue Général-Dufour
>> Tél 022 379 77 37 | Bureau 151
>>
>> www.unige.ch/stic 
>>
>>
>>
>> -- 
>> Dr. Alan O'Cais
>> E-CAM Software Manager
>> Juelich Supercomputing Centre
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich, Germany
>>
>> Phone: +49 2461 61 5213
>> Fax: +49 2461 61 6656
>> E-mail: a.oc...@fz-juelich.de 
>> 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
>> 
>> 
>> 
>> 
>>
>>
>>
>> -- 
>> Logo UNIGE   Yann Sagon
>> Référent HPC
>>
>> Division du système et des technologies de l'information et de la
>> communication
>> Université de Genève | 24 rue Général-Dufour
>> Tél 022 379 77 37 | Bureau 151
>>
>> www.unige.ch/stic 
>>
> 

-- 
Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden
Internet: a...@hpc2n.umu.se   Phone: +46 90 7866134 Fax: +46 90-580 14
Mobile: +46 70 7716134 WWW: http://www.hpc2n.umu.se


Re: [easybuild] override sanity check for futures with Python 2.7

2019-03-26 Thread Yann Sagon
Excellent, this was what I was looking for!

Thanks

On Tue, Mar 26, 2019 at 2:10 PM Alan O'Cais  wrote:

> See
> https://github.com/easybuilders/JSC/blob/0e9a247beec6984052e9a8f0980fec4c465606f4/Golden_Repo/2018b/d/Dask/Dask-Nov2018Bundle-ipsmpi-2018b-Python-2.7.15.eb
> for an example of how to do it.
>
> Alan
>
> On Tue, 26 Mar 2019 at 14:02, Yann Sagon  wrote:
>
>> Dear list,
>>
>> I'm trying to build dask for python 2.7.15 with the toolchain
>> fosscuda/2018b
>>
>> the Python extension "distributed" needs the extension "futures" which I
>> have added to the ext_list.
>>
>> https://github.com/agronholm/pythonfutures
>>
>> The sanity check isn't working, probably because it's not possible to do
>> an import futures.
>> How should I override the sanity check of this module only?
>>
>> See the relevant part of the log:
>>
>> == 2019-03-26 13:40:57,371 build_log.py:162 ERROR EasyBuild crashed with
>> an error (at ?:124 in __init__): Sanity check failed: extensions sanity
>> check failed for 1 extensions: futures
>> failing sanity check for 'futures' extension: command
>> "/opt/ebsofts/MPI/GCC-CUDA/7.3.0-2.30-9.2.88/OpenMPI/3.1.1/Python/2.7.15/bin/python
>> -c "import futures"" failed; output:
>> Traceback (most recent call last):
>>   File "", line 1, in 
>> ImportError: No module named futures,  (at
>> easybuild/framework/easyblock.py:2369 in _sanity_check_step)
>>
>> Best
>>
>> --
>> [image: Logo UNIGE] Yann Sagon
>> Référent HPC
>>
>> Division du système et des technologies de l'information et de la
>> communication
>> Université de Genève | 24 rue Général-Dufour
>> Tél 022 379 77 37 | Bureau 151
>>
>> www.unige.ch/stic
>>
>
>
> --
> Dr. Alan O'Cais
> E-CAM Software Manager
> Juelich Supercomputing Centre
> Forschungszentrum Juelich GmbH
> 52425 Juelich, Germany
>
> Phone: +49 2461 61 5213
> Fax: +49 2461 61 6656
> E-mail: a.oc...@fz-juelich.de
> 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
>
> 
>
> 
>
>

-- 
[image: Logo UNIGE] Yann Sagon
Référent HPC

Division du système et des technologies de l'information et de la
communication
Université de Genève | 24 rue Général-Dufour
Tél 022 379 77 37 | Bureau 151

www.unige.ch/stic


Re: [easybuild] TensorFlow with GPU support.

2019-03-26 Thread Jakob Schiøtz
Thank you!

I do not think OpenMPI with cuda support is particularly relevant for us.   I 
will read the docs and try to understand what --minmal-toolchains does.

Thanks for your suggestions

Jakob

> On 26 Mar 2019, at 14:41, Jack Perdue  wrote:
> 
> Howdy Jakob,
> 
> The primary difference between fosscuda and
> foss+CUDA is that fosscuda has an OpenMPI built
> with CUDA support where as the latter does not.
> 
> We run with:
> 
> EASYBUILD_MINIMAL_TOOLCHAINS
> 
> which cuts down on the number of things that
> have be rebuilt here  For example for
> 
> TensorFlow/1.10.1-fosscuda-2018b-Python-3.6.6
> 
> we only had to rebuild these packages:
> 
> Python/3.6.6-fosscuda-2018b
> protobuf-python/3.6.0-fosscuda-2018b-Python-3.6.6
> cuDNN/7.1.4.18-fosscuda-2018b
> 
> so you might want look at the --minmal-toolchains option.
> 
> 
> Jack Perdue
> Lead Systems Administrator
> High Performance Research Computing
> TAMU Division of Research
> j-per...@tamu.eduhttp://hprc.tamu.edu
> HPRC Helpdesk: h...@hprc.tamu.edu
> 
> On 3/26/19 8:26 AM, Jakob Schiøtz wrote:
>> Dear EasyBuilders,
>> 
>> I would like to build a TensorFlow module supporting GPUs.  Currently, that 
>> looks to be TensorFlow-1.12.0-fosscuda-2018b-Python-3.6.6.eb, but this 
>> requires building a new toolchain (fosscuda), including rebuilding both 
>> OpenMPI and Python with GPU support.  In addition, any other software that 
>> the user may need alongside TensorFlow will also have to be rebuilt with the 
>> fosscuda toolchain to prevent mixing toolchains.  That seems to be overkill 
>> to me - after all little if anything is gained by rebuilding Python and 
>> stuff with GPU support unless the scripts are actually going to use it.  I 
>> don’t know if numpy will begin offloading computations to the GPU, but 
>> presumably moving data back and forth will be expensive, and TensorFlow will 
>> allocate all the GPU memory anyway.
>> 
>> There used to be a tensorflow variant for the normal toolchain which just 
>> depended on CUDA explicitly.  Is there a reason not to do it this way?  I 
>> guess I could try to make a .eb file inspired on the existing ones doing 
>> just that - or have I overlooked something?
>> 
>> Best regards
>> 
>> Jakob
>> 
>> 
>> --
>> Jakob Schiøtz, professor, Ph.D.
>> Department of Physics
>> Technical University of Denmark
>> DK-2800 Kongens Lyngby, Denmark
>> http://www.fysik.dtu.dk/~schiotz/
>> 
>> 
>> 
> 

--
Jakob Schiøtz, professor, Ph.D.
Department of Physics
Technical University of Denmark
DK-2800 Kongens Lyngby, Denmark
http://www.fysik.dtu.dk/~schiotz/





Re: [easybuild] TensorFlow with GPU support.

2019-03-26 Thread Jack Perdue

Howdy Jakob,

The primary difference between fosscuda and
foss+CUDA is that fosscuda has an OpenMPI built
with CUDA support where as the latter does not.

We run with:

EASYBUILD_MINIMAL_TOOLCHAINS

which cuts down on the number of things that
have be rebuilt here  For example for

TensorFlow/1.10.1-fosscuda-2018b-Python-3.6.6

we only had to rebuild these packages:

Python/3.6.6-fosscuda-2018b
protobuf-python/3.6.0-fosscuda-2018b-Python-3.6.6
cuDNN/7.1.4.18-fosscuda-2018b

so you might want look at the --minmal-toolchains option.


Jack Perdue
Lead Systems Administrator
High Performance Research Computing
TAMU Division of Research
j-per...@tamu.eduhttp://hprc.tamu.edu
HPRC Helpdesk: h...@hprc.tamu.edu

On 3/26/19 8:26 AM, Jakob Schiøtz wrote:

Dear EasyBuilders,

I would like to build a TensorFlow module supporting GPUs.  Currently, that 
looks to be TensorFlow-1.12.0-fosscuda-2018b-Python-3.6.6.eb, but this requires 
building a new toolchain (fosscuda), including rebuilding both OpenMPI and 
Python with GPU support.  In addition, any other software that the user may 
need alongside TensorFlow will also have to be rebuilt with the fosscuda 
toolchain to prevent mixing toolchains.  That seems to be overkill to me - 
after all little if anything is gained by rebuilding Python and stuff with GPU 
support unless the scripts are actually going to use it.  I don’t know if numpy 
will begin offloading computations to the GPU, but presumably moving data back 
and forth will be expensive, and TensorFlow will allocate all the GPU memory 
anyway.

There used to be a tensorflow variant for the normal toolchain which just 
depended on CUDA explicitly.  Is there a reason not to do it this way?  I guess 
I could try to make a .eb file inspired on the existing ones doing just that - 
or have I overlooked something?

Best regards

Jakob


--
Jakob Schiøtz, professor, Ph.D.
Department of Physics
Technical University of Denmark
DK-2800 Kongens Lyngby, Denmark
http://www.fysik.dtu.dk/~schiotz/







[easybuild] TensorFlow with GPU support.

2019-03-26 Thread Jakob Schiøtz
Dear EasyBuilders,

I would like to build a TensorFlow module supporting GPUs.  Currently, that 
looks to be TensorFlow-1.12.0-fosscuda-2018b-Python-3.6.6.eb, but this requires 
building a new toolchain (fosscuda), including rebuilding both OpenMPI and 
Python with GPU support.  In addition, any other software that the user may 
need alongside TensorFlow will also have to be rebuilt with the fosscuda 
toolchain to prevent mixing toolchains.  That seems to be overkill to me - 
after all little if anything is gained by rebuilding Python and stuff with GPU 
support unless the scripts are actually going to use it.  I don’t know if numpy 
will begin offloading computations to the GPU, but presumably moving data back 
and forth will be expensive, and TensorFlow will allocate all the GPU memory 
anyway.

There used to be a tensorflow variant for the normal toolchain which just 
depended on CUDA explicitly.  Is there a reason not to do it this way?  I guess 
I could try to make a .eb file inspired on the existing ones doing just that - 
or have I overlooked something?

Best regards

Jakob


--
Jakob Schiøtz, professor, Ph.D.
Department of Physics
Technical University of Denmark
DK-2800 Kongens Lyngby, Denmark
http://www.fysik.dtu.dk/~schiotz/





Re: [easybuild] override sanity check for futures with Python 2.7

2019-03-26 Thread Alan O'Cais
See 
https://github.com/easybuilders/JSC/blob/0e9a247beec6984052e9a8f0980fec4c465606f4/Golden_Repo/2018b/d/Dask/Dask-Nov2018Bundle-ipsmpi-2018b-Python-2.7.15.eb
 for an example of how to do it.

Alan

On Tue, 26 Mar 2019 at 14:02, Yann Sagon 
mailto:yann.sa...@unige.ch>> wrote:
Dear list,

I'm trying to build dask for python 2.7.15 with the toolchain fosscuda/2018b

the Python extension "distributed" needs the extension "futures" which I have 
added to the ext_list.

https://github.com/agronholm/pythonfutures

The sanity check isn't working, probably because it's not possible to do an 
import futures.
How should I override the sanity check of this module only?

See the relevant part of the log:

== 2019-03-26 13:40:57,371 build_log.py:162 ERROR EasyBuild crashed with an 
error (at ?:124 in __init__): Sanity check failed: extensions sanity check 
failed for 1 extensions: futures
failing sanity check for 'futures' extension: command 
"/opt/ebsofts/MPI/GCC-CUDA/7.3.0-2.30-9.2.88/OpenMPI/3.1.1/Python/2.7.15/bin/python
 -c "import futures"" failed; output:
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named futures,  (at 
easybuild/framework/easyblock.py:2369 in _sanity_check_step)

Best

--
[Logo UNIGE]Yann Sagon
Référent HPC



Division du système et des technologies de l'information et de la communication
Université de Genève | 24 rue Général-Dufour
Tél 022 379 77 37 | Bureau 151

www.unige.ch/stic 




--
Dr. Alan O'Cais
E-CAM Software Manager
Juelich Supercomputing Centre
Forschungszentrum Juelich GmbH
52425 Juelich, Germany

Phone: +49 2461 61 5213
Fax: +49 2461 61 6656
E-mail: a.oc...@fz-juelich.de
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





[easybuild] override sanity check for futures with Python 2.7

2019-03-26 Thread Yann Sagon
Dear list,

I'm trying to build dask for python 2.7.15 with the toolchain fosscuda/2018b

the Python extension "distributed" needs the extension "futures" which I
have added to the ext_list.

https://github.com/agronholm/pythonfutures

The sanity check isn't working, probably because it's not possible to do an
import futures.
How should I override the sanity check of this module only?

See the relevant part of the log:

== 2019-03-26 13:40:57,371 build_log.py:162 ERROR EasyBuild crashed with an
error (at ?:124 in __init__): Sanity check failed: extensions sanity check
failed for 1 extensions: futures
failing sanity check for 'futures' extension: command
"/opt/ebsofts/MPI/GCC-CUDA/7.3.0-2.30-9.2.88/OpenMPI/3.1.1/Python/2.7.15/bin/python
-c "import futures"" failed; output:
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named futures,  (at
easybuild/framework/easyblock.py:2369 in _sanity_check_step)

Best

-- 
[image: Logo UNIGE] Yann Sagon
Référent HPC

Division du système et des technologies de l'information et de la
communication
Université de Genève | 24 rue Général-Dufour
Tél 022 379 77 37 | Bureau 151

www.unige.ch/stic