44 cuobjdump = os.path.join(CUDA_HOME,
"bin",
"cuobjdump")
45 if os.path.isfile(cuobjdump):
46 output = subprocess.check_output(
47 "'{}' --list-elf '{}'".format(cuobjdump, so_file), shell=
True
49 output = output.decode(
"utf-8").strip().split(
"\n")
52 line = re.findall(
r"\.sm_[0-9]*\.", line)[0]
53 sm.append(line.strip(
"."))
57 return so_file +
"; cannot find cuobjdump"
64 has_gpu = torch.cuda.is_available()
65 torch_version = torch.__version__
69 from torch.utils.cpp_extension
import CUDA_HOME
72 if tuple(map(int, torch_version.split(
".")[:2])) >= (1, 5):
73 from torch.utils.cpp_extension
import ROCM_HOME
75 if (getattr(torch.version,
"hip",
None)
is not None)
and (ROCM_HOME
is not None):
77 has_cuda = has_gpu
and (
not has_rocm)
80 data.append((
"sys.platform", sys.platform))
81 data.append((
"Python", sys.version.replace(
"\n",
"")))
82 data.append((
"numpy", np.__version__))
88 (
"fastreid", fastreid.__version__ +
" @" + os.path.dirname(fastreid.__file__))
91 data.append((
"fastreid",
"failed to import"))
94 data.append((
"PyTorch", torch_version +
" @" + os.path.dirname(torch.__file__)))
95 data.append((
"PyTorch debug build", torch.version.debug))
97 data.append((
"GPU available", has_gpu))
99 devices = defaultdict(list)
100 for k
in range(torch.cuda.device_count()):
101 devices[torch.cuda.get_device_name(k)].append(str(k))
102 for name, devids
in devices.items():
103 data.append((
"GPU " +
",".join(devids), name))
106 data.append((
"ROCM_HOME", str(ROCM_HOME)))
108 data.append((
"CUDA_HOME", str(CUDA_HOME)))
110 cuda_arch_list = os.environ.get(
"TORCH_CUDA_ARCH_LIST",
None)
112 data.append((
"TORCH_CUDA_ARCH_LIST", cuda_arch_list))
113 data.append((
"Pillow", PIL.__version__))
119 str(torchvision.__version__) +
" @" + os.path.dirname(torchvision.__file__),
124 torchvision_C = importlib.util.find_spec(
"torchvision._C").origin
126 data.append((
"torchvision arch flags", msg))
128 data.append((
"torchvision._C",
"failed to find"))
129 except AttributeError:
130 data.append((
"torchvision",
"unknown"))
135 data.append((
"fvcore", fvcore.__version__))
142 data.append((
"cv2", cv2.__version__))
145 env_str = tabulate(data) +
"\n"