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
Branches
No related tags found
No related merge requests found
...@@ -22,6 +22,7 @@ from easybuild.tools.filetools import copy, expand_glob_paths, mkdir ...@@ -22,6 +22,7 @@ from easybuild.tools.filetools import copy, expand_glob_paths, mkdir
from easybuild.tools.run import run_cmd from easybuild.tools.run import run_cmd
from easybuild.tools.systemtools import get_shared_lib_ext from easybuild.tools.systemtools import get_shared_lib_ext
class EB_nvidia_minus_driver(Binary): class EB_nvidia_minus_driver(Binary):
""" """
Support for installing NVIDIA libs. Support for installing NVIDIA libs.
...@@ -54,8 +55,10 @@ class EB_nvidia_minus_driver(Binary): ...@@ -54,8 +55,10 @@ class EB_nvidia_minus_driver(Binary):
else: else:
# Decompress initial file # Decompress initial file
execpath = self.src[0]['path'] execpath = self.src[0]['path']
run_cmd("/bin/sh " + execpath + " --noexec --nox11 --target " + self.builddir) run_cmd("/bin/sh " + execpath +
execpath = os.path.join(self.builddir, run_files_dir, 'NVIDIA-Linux-x86_64-%s.run' % version) " --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 # Decompress file containing libraries
self.libsdir = os.path.join(self.builddir, "nvidia-libs") self.libsdir = os.path.join(self.builddir, "nvidia-libs")
...@@ -105,7 +108,8 @@ class EB_nvidia_minus_driver(Binary): ...@@ -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 # 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'] missing_links = ['libcuda.so', 'libnvidia-ml.so']
for missing_link in missing_links: 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() super(EB_nvidia_minus_driver, self).post_install_step()
...@@ -116,11 +120,13 @@ class EB_nvidia_minus_driver(Binary): ...@@ -116,11 +120,13 @@ class EB_nvidia_minus_driver(Binary):
chk_libdir = ["lib64"] chk_libdir = ["lib64"]
nvlibs = ["cuda", "nvidia-ml"] nvlibs = ["cuda"]
custom_paths = { custom_paths = {
'files': [os.path.join("bin", x) for x in ["nvidia-smi"]] + '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': [''], '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