-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
40 lines (33 loc) · 977 Bytes
/
setup.py
File metadata and controls
40 lines (33 loc) · 977 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import torch
from setuptools import setup
from torch.utils.cpp_extension import BuildExtension, CUDAExtension
def get_cuda_compute_capability():
if not torch.cuda.is_available():
return None
props = torch.cuda.get_device_properties(0)
return props.major * 10 + props.minor
ext_modules = []
if torch.cuda.is_available():
compute_capability = get_cuda_compute_capability()
nvcc_flags = ['-O3']
if compute_capability:
nvcc_flags.append(f'-gencode=arch=compute_{compute_capability},code=sm_{compute_capability}')
ext_modules.append(
CUDAExtension(
name="extension",
sources=[
"csrc/extension.cpp",
"csrc/add.cu",
],
extra_compile_args={
"cxx": ["-O3"],
"nvcc": nvcc_flags,
},
)
)
setup(
ext_modules=ext_modules,
cmdclass={
'build_ext': BuildExtension
}
)