Skip to content
Snippets Groups Projects
Commit d037b379 authored by Sebastian Achilles's avatar Sebastian Achilles
Browse files

Update nvidia_driver EasyBlock: add changes from 2020 branch: To get rid of...

Update nvidia_driver EasyBlock: add changes from 2020 branch: To get rid of NVML conflicts with the kernel driver
parent 30948ffc
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@ from easybuild.tools.filetools import copy, expand_glob_paths, mkdir
from easybuild.tools.run import run_cmd
from easybuild.tools.systemtools import get_shared_lib_ext
class EB_nvidia_minus_driver(Binary):
"""
Support for installing NVIDIA libs.
......@@ -54,8 +55,10 @@ class EB_nvidia_minus_driver(Binary):
else:
# Decompress initial file
execpath = self.src[0]['path']
run_cmd("/bin/sh " + execpath + " --noexec --nox11 --target " + self.builddir)
execpath = os.path.join(self.builddir, run_files_dir, 'NVIDIA-Linux-x86_64-%s.run' % version)
run_cmd("/bin/sh " + execpath +
" --noexec --nox11 --target " + self.builddir)
execpath = os.path.join(
self.builddir, run_files_dir, 'NVIDIA-Linux-x86_64-%s.run' % version)
# Decompress file containing libraries
self.libsdir = os.path.join(self.builddir, "nvidia-libs")
......@@ -105,7 +108,8 @@ class EB_nvidia_minus_driver(Binary):
# Create an extra symlink for libnvidia-ml.so, otherwise MVAPICH2 doesn't find it if it doesn't rely on stubs
missing_links = ['libcuda.so', 'libnvidia-ml.so']
for missing_link in missing_links:
run_cmd("ln -s %s/%s.1 %s/%s" % (libdir, missing_link, libdir, missing_link))
run_cmd("ln -s %s/%s.1 %s/%s" %
(libdir, missing_link, libdir, missing_link))
super(EB_nvidia_minus_driver, self).post_install_step()
......@@ -116,11 +120,13 @@ class EB_nvidia_minus_driver(Binary):
chk_libdir = ["lib64"]
nvlibs = ["cuda", "nvidia-ml"]
nvlibs = ["cuda"]
custom_paths = {
'files': [os.path.join("bin", x) for x in ["nvidia-smi"]] +
[os.path.join("%s", "lib%s.%s.1") % (x, y, shlib_ext) for x in chk_libdir for y in nvlibs],
[os.path.join("%s", "lib%s.%s.1") % (x, y, shlib_ext)
for x in chk_libdir for y in nvlibs],
'dirs': [''],
}
super(EB_nvidia_minus_driver, self).sanity_check_step(custom_paths=custom_paths)
super(EB_nvidia_minus_driver, self).sanity_check_step(
custom_paths=custom_paths)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment