# Copyright (C) 2022-present Naver Corporation. All rights reserved. # Licensed under CC BY-NC-SA 4.0 (non-commercial use only). from setuptools import setup from torch import cuda from torch.utils.cpp_extension import BuildExtension, CUDAExtension # compile for all possible CUDA architectures all_cuda_archs = cuda.get_gencode_flags().replace("compute=", "arch=").split() # alternatively, you can list cuda archs that you want, eg: # all_cuda_archs = [ # '-gencode', 'arch=compute_70,code=sm_70', # '-gencode', 'arch=compute_75,code=sm_75', # '-gencode', 'arch=compute_80,code=sm_80', # '-gencode', 'arch=compute_86,code=sm_86' # ] setup( name="curope", ext_modules=[ CUDAExtension( name="curope", sources=[ "curope.cpp", "kernels.cu", ], extra_compile_args=dict( nvcc=["-O3", "--ptxas-options=-v", "--use_fast_math"] + all_cuda_archs, cxx=["-O3"], ), ) ], cmdclass={"build_ext": BuildExtension}, )