import sys import torch.cuda from setuptools import setup from torch.utils.cpp_extension import BuildExtension, CppExtension, CUDAExtension from torch.utils.cpp_extension import CUDA_HOME CXX_FLAGS = [] if sys.platform == 'win32' else ['-g', '-Werror'] ext_modules = [ CppExtension( 'torch_test_cpp_extension.cpp', ['extension.cpp'], extra_compile_args=CXX_FLAGS), CppExtension( 'torch_test_cpp_extension.msnpu', ['msnpu_extension.cpp'], extra_compile_args=CXX_FLAGS), ] if torch.cuda.is_available() and CUDA_HOME is not None: extension = CUDAExtension( 'torch_test_cpp_extension.cuda', [ 'cuda_extension.cpp', 'cuda_extension_kernel.cu', 'cuda_extension_kernel2.cu', ], extra_compile_args={'cxx': CXX_FLAGS, 'nvcc': ['-O2']}) ext_modules.append(extension) setup( name='torch_test_cpp_extension', packages=['torch_test_cpp_extension'], ext_modules=ext_modules, cmdclass={'build_ext': BuildExtension})