Hi Damian,

On 13/10/16 18:04, Alvarez, Damian wrote:
Well, you can simply put CUDA as a dependency in the OpenMPI easyconfig, right? 
You don’t really need to have a gcccuda toolchain for it, GCC would work just 
fine.


Sure, the idea of gcccuda is that EasyBuild can use that as a toolchain; it knows how to use the CUDA compiler, but this never really took off.

Also, as far as I remember, the CUDA installation doesn’t actively check which 
version of GCC you are using. That is done at compile time via 
include/host_config.h. Or am I missing something?

OK, I may be mistaken here, I was recalling from memory.


K.

Damian

On 13/10/16 16:53, "easybuild-requ...@lists.ugent.be on behalf of Kenneth Hoste" 
<easybuild-requ...@lists.ugent.be on behalf of kenneth.ho...@ugent.be> wrote:

     On 11/10/16 15:54, Joachim Hein wrote:
     > Hi Åke and everyone else:
     >
     > Many thanks that builds.  (Only tried the cuda easy config, not the rest 
yet).    As far as I can see the key difference is, that you package uses a 
GCC-5.4.0-2.26 toolchain while the standard Cuda 7.5.18 that comes with EB 2.9.0 
utilises a dummy toolchain.   So I am wondering whether the Cuda modules in EB 
should be moved to a non-dummy toolchain.
     >
     > Our systems gcc is 4.8.5 (CentOS 7).  Though there might be an issue 
with the GPU node (missing package) I am using to build Cuda.  Normally I use a 
different node for EB work.  Any comments/suggestions?

     Well, there's a difference between an OpenMPI built on top of CUDA, or
     just installing them side-by-side.

     See for example
     
https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/o/OpenMPI/OpenMPI-1.7.3-gcccuda-2.6.10.eb
     that includes this:

          configopts += '--with-cuda=$CUDA_HOME '             # CUDA-aware
     build; N.B. --disable-dlopen is incompatible

     The OpenMPI easyconfig in
     https://github.com/hpcugent/easybuild-easyconfigs/pull/3666 also
     includes this.


     Whether you're installing CUDA on top of a GCC or not doesn't really
     matter though, since it's a binary installation.

     The only advantage (I can think of) is that the CUDA installer checks
     the GCC version being used.
     If you install CUDA with a dummy toolchain, it'll check the version of
     the system GCC, after which you'll sneakily combine that CUDA
     installation with a different GCC provided via EasyBuild.


     regards,

     Kenneth
     >
     > Best wishes
     >    Joachim
     >
     >
     >
     >> On 11 Oct 2016, at 14:19, Åke Sandgren <ake.sandg...@hpc2n.umu.se> 
wrote:
     >>
     >> It's easyconfig PR 3666
     >>
     >> On 10/11/2016 12:34 PM, Joachim Hein wrote:
     >>> Hi Åke,
     >>>
     >>> Thanks for your reply.  For that you must have created a cuda 8.0.44 
configuration file.  Could you share that in some way (or is it in github in some place)?
     >>>
     >>> Best wishes
     >>>   Joachim
     >>>
     >>>
     >>>> On 11 Oct 2016, at 12:21, Åke Sandgren <ake.sandg...@hpc2n.umu.se> 
wrote:
     >>>>
     >>>> No clue on the 7.5.18, but i've just made a goolfc toolchain based on
     >>>> cuda 8.0.44, gcc 5.4.0 (they still don't support any newer version of
     >>>> gcc) and the latest fftw/scalapack/openblas
     >>>>
     >>>> That one seemed to build at least, haven't had time to test it.
     >>>>
     >>>> On 10/11/2016 11:57 AM, Joachim Hein wrote:
     >>>>> Hi,
     >>>>>
     >>>>> We are still struggling to build a CUDA 7.5.18 with EB 2.9.0.  It 
seems
     >>>>> to be failing in the “sanity check”, though the actual nvidia 
installer
     >>>>> doesn’t give an error and the bin directory looks reasonable to us.  
We
     >>>>> get a “KeyError: ‘GCC’
     >>>>>
     >>>>> Anyone could comment with regards to what went wrong:
     >>>>>
     >>>>> -bash-4.2$ eb CUDA-7.5.18.eb
     >>>>> == temporary log file in case of crash 
/tmp/eb-wjA2JG/easybuild-2WrNil.log
     >>>>> == processing EasyBuild easyconfig
     >>>>> 
/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_easyconfigs-2.9.0-py2.7.egg/easybuild/easyconfigs/c/CUDA/CUDA-7.5.18.eb
     >>>>> == building and installing Core/CUDA/7.5.18...
     >>>>> == fetching files...
     >>>>> == creating build dir, resetting environment...
     >>>>> == unpacking...
     >>>>> == patching...
     >>>>> == preparing...
     >>>>> == configuring...
     >>>>> == building...
     >>>>> == testing...
     >>>>> == installing...
     >>>>> == taking care of extensions...
     >>>>> == postprocessing...
     >>>>> == sanity checking...
     >>>>> ERROR: Traceback (most recent call last):
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/main.py",
     >>>>> line 115, in build_and_install_software
     >>>>>    (ec_res['success'], app_log, err) = build_and_install_one(ec, 
init_env)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 2376, in build_and_install_one
     >>>>>    result = app.run_all_steps(run_test_cases=run_test_cases)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 2292, in run_all_steps
     >>>>>    self.run_step(step_name, step_methods)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 2171, in run_step
     >>>>>    step_method(self)()
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_easyblocks-2.9.0-py2.7.egg/easybuild/easyblocks/c/cuda.py",
     >>>>> line 137, in sanity_check_step
     >>>>>    super(EB_CUDA, self).sanity_check_step(custom_paths=custom_paths)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 1790, in sanity_check_step
     >>>>>    self._sanity_check_step(*args, **kwargs)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 1910, in _sanity_check_step
     >>>>>    fake_mod_data = self.load_fake_module(purge=True)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 1183, in load_fake_module
     >>>>>    fake_mod_path = self.make_module_step(fake=True)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 1997, in make_module_step
     >>>>>    txt += self.make_module_extend_modpath()
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyblock.py",
     >>>>> line 1072, in make_module_extend_modpath
     >>>>>    modpath_exts = ActiveMNS().det_modpath_extensions(self.cfg)
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/framework/easyconfig/easyconfig.py",
     >>>>> line 1610, in det_modpath_extensions
     >>>>>    modpath_extensions =
     >>>>> self.mns.det_modpath_extensions(self.check_ec_type(ec))
     >>>>> File
     >>>>> 
"/sw/easybuild/software/Core/EasyBuild/2.9.0/lib/python2.7/site-packages/easybuild_framework-2.9.0-py2.7.egg/easybuild/tools/module_naming_scheme/hierarchical_mns.py",
     >>>>> line 177, in det_modpath_extensions
     >>>>>    comp_name_ver = [comp_name, comp_ver_tmpl % comp_versions]
     >>>>> KeyError: 'GCC'
     >>>>>
     >>>>> Thanks
     >>>>>   Joachim
     >>>>>
     >>>>>
     >>>> --
     >>>> 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
     >> --
     >> 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





------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
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
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------


Reply via email to