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

Reply via email to