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.

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?

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