Remove import distro from packages and docs (#43772)
This commit is contained in:
parent
7d5e27d5e8
commit
01f61a2eba
10 changed files with 21 additions and 27 deletions
|
@ -552,11 +552,11 @@ With either interpreter you can run a single command:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
$ spack python -c 'import distro; distro.linux_distribution()'
|
$ spack python -c 'from spack.spec import Spec; Spec("python").concretized()'
|
||||||
('Ubuntu', '18.04', 'Bionic Beaver')
|
...
|
||||||
|
|
||||||
$ spack python -i ipython -c 'import distro; distro.linux_distribution()'
|
$ spack python -i ipython -c 'from spack.spec import Spec; Spec("python").concretized()'
|
||||||
Out[1]: ('Ubuntu', '18.04', 'Bionic Beaver')
|
Out[1]: ...
|
||||||
|
|
||||||
or a file:
|
or a file:
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@
|
||||||
import spack.variant
|
import spack.variant
|
||||||
from spack.directives import conflicts, depends_on, variant
|
from spack.directives import conflicts, depends_on, variant
|
||||||
from spack.package_base import PackageBase
|
from spack.package_base import PackageBase
|
||||||
|
from spack.util.environment import EnvironmentModifications
|
||||||
|
|
||||||
|
|
||||||
class ROCmPackage(PackageBase):
|
class ROCmPackage(PackageBase):
|
||||||
|
@ -156,30 +157,23 @@ def hip_flags(amdgpu_target):
|
||||||
archs = ",".join(amdgpu_target)
|
archs = ",".join(amdgpu_target)
|
||||||
return "--amdgpu-target={0}".format(archs)
|
return "--amdgpu-target={0}".format(archs)
|
||||||
|
|
||||||
# ASAN
|
def asan_on(self, env: EnvironmentModifications):
|
||||||
@staticmethod
|
llvm_path = self.spec["llvm-amdgpu"].prefix
|
||||||
def asan_on(env, llvm_path):
|
|
||||||
env.set("CC", llvm_path + "/bin/clang")
|
env.set("CC", llvm_path + "/bin/clang")
|
||||||
env.set("CXX", llvm_path + "/bin/clang++")
|
env.set("CXX", llvm_path + "/bin/clang++")
|
||||||
env.set("ASAN_OPTIONS", "detect_leaks=0")
|
env.set("ASAN_OPTIONS", "detect_leaks=0")
|
||||||
|
|
||||||
for root, dirs, files in os.walk(llvm_path):
|
for root, _, files in os.walk(llvm_path):
|
||||||
if "libclang_rt.asan-x86_64.so" in files:
|
if "libclang_rt.asan-x86_64.so" in files:
|
||||||
asan_lib_path = root
|
asan_lib_path = root
|
||||||
env.prepend_path("LD_LIBRARY_PATH", asan_lib_path)
|
env.prepend_path("LD_LIBRARY_PATH", asan_lib_path)
|
||||||
SET_DWARF_VERSION_4 = ""
|
if "rhel" in self.spec.os or "sles" in self.spec.os:
|
||||||
try:
|
|
||||||
# This will throw an error if imported on a non-Linux platform.
|
|
||||||
import distro
|
|
||||||
|
|
||||||
distname = distro.id()
|
|
||||||
except ImportError:
|
|
||||||
distname = "unknown"
|
|
||||||
if "rhel" in distname or "sles" in distname:
|
|
||||||
SET_DWARF_VERSION_4 = "-gdwarf-5"
|
SET_DWARF_VERSION_4 = "-gdwarf-5"
|
||||||
|
else:
|
||||||
|
SET_DWARF_VERSION_4 = ""
|
||||||
|
|
||||||
env.set("CFLAGS", "-fsanitize=address -shared-libasan -g " + SET_DWARF_VERSION_4)
|
env.set("CFLAGS", f"-fsanitize=address -shared-libasan -g {SET_DWARF_VERSION_4}")
|
||||||
env.set("CXXFLAGS", "-fsanitize=address -shared-libasan -g " + SET_DWARF_VERSION_4)
|
env.set("CXXFLAGS", f"-fsanitize=address -shared-libasan -g {SET_DWARF_VERSION_4}")
|
||||||
env.set("LDFLAGS", "-Wl,--enable-new-dtags -fuse-ld=lld -fsanitize=address -g -Wl,")
|
env.set("LDFLAGS", "-Wl,--enable-new-dtags -fuse-ld=lld -fsanitize=address -g -Wl,")
|
||||||
|
|
||||||
# HIP version vs Architecture
|
# HIP version vs Architecture
|
||||||
|
|
|
@ -31,4 +31,4 @@ class HipTensor(CMakePackage, ROCmPackage):
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
env.set("CXX", self.spec["hip"].hipcc)
|
env.set("CXX", self.spec["hip"].hipcc)
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
|
@ -117,7 +117,7 @@ def determine_version(cls, lib):
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
args = [
|
args = [
|
||||||
|
|
|
@ -89,7 +89,7 @@ def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies("+rocm"):
|
if self.spec.satisfies("+rocm"):
|
||||||
env.set("CXX", self.spec["hip"].hipcc)
|
env.set("CXX", self.spec["hip"].hipcc)
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
args = [self.define("BUILD_TEST", self.run_tests)]
|
args = [self.define("BUILD_TEST", self.run_tests)]
|
||||||
|
|
|
@ -94,7 +94,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
args = [self.define("BUILD_CLIENTS_SAMPLES", "OFF")]
|
args = [self.define("BUILD_CLIENTS_SAMPLES", "OFF")]
|
||||||
|
|
|
@ -108,7 +108,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
env.set("CXX", self.spec["hip"].hipcc)
|
env.set("CXX", self.spec["hip"].hipcc)
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def determine_version(cls, lib):
|
def determine_version(cls, lib):
|
||||||
|
|
|
@ -127,7 +127,7 @@ def determine_version(cls, lib):
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
args = [
|
args = [
|
||||||
|
|
|
@ -103,7 +103,7 @@ def determine_version(cls, lib):
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
args = [
|
args = [
|
||||||
|
|
|
@ -105,7 +105,7 @@ def patch(self):
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
if self.spec.satisfies("+asan"):
|
if self.spec.satisfies("+asan"):
|
||||||
self.asan_on(env, self.spec["llvm-amdgpu"].prefix)
|
self.asan_on(env)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
args = [
|
args = [
|
||||||
|
|
Loading…
Reference in a new issue