"vscode:/vscode.git/clone" did not exist on "0f94318a6ec56c862a9737763a349a192de5a200"
setup.py 1.7 KB
Newer Older
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
1
2
3
# Copyright 2016-present, Facebook, Inc.
# All rights reserved.
#
Benjamin Graham's avatar
Benjamin Graham committed
4
# This source code is licensed under the BSD-style license found in the
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
5
6
# LICENSE file in the root directory of this source tree.

7
8
9
10
import torch, os
from torch.utils.cpp_extension import BuildExtension, CppExtension, CUDAExtension
from setuptools import setup, find_packages

Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
11
12
13
if torch.cuda.is_available():
    assert torch.matmul(torch.ones(2097153,2).cuda(),torch.ones(2,2).cuda()).min().item()==2, 'Please upgrade from CUDA 9.0 to CUDA 10.0+'

Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
14
15
this_dir = os.path.dirname(os.path.realpath(__file__))
torch_dir = os.path.dirname(torch.__file__)
16
conda_include_dir = '/'.join(torch_dir.split('/')[:-4]) + '/include'
Benjamin Thomas Graham's avatar
setup  
Benjamin Thomas Graham committed
17
extra = {'cxx': ['-std=c++14', '-fopenmp','-O3'], 'nvcc': ['-std=c++14', '-Xcompiler', '-fopenmp', '-O3']}
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
18
19
20

setup(
    name='sparseconvnet',
21
    version='0.2',
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
22
23
24
25
    description='Submanifold (Spatially) Sparse Convolutional Networks https://arxiv.org/abs/1706.01307',
    author='Facebook AI Research',
    author_email='benjamingraham@fb.com',
    url='https://github.com/facebookresearch/SparseConvNet',
26
27
    packages=['sparseconvnet','sparseconvnet.SCN'],
    ext_modules=[
28
      CUDAExtension('sparseconvnet.SCN',
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
29
30
        [
         'sparseconvnet/SCN/cuda.cu', 'sparseconvnet/SCN/sparseconvnet_cuda.cpp', 'sparseconvnet/SCN/pybind.cpp'],
Benjamin Thomas Graham's avatar
Fixes  
Benjamin Thomas Graham committed
31
        include_dirs=[this_dir+'/sparseconvnet/SCN/'],
32
33
        extra_compile_args=extra)
      if torch.cuda.is_available()  else
34
      CppExtension('sparseconvnet.SCN',
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
35
        ['sparseconvnet/SCN/pybind.cpp', 'sparseconvnet/SCN/sparseconvnet_cpu.cpp'],
Benjamin Thomas Graham's avatar
Fixes  
Benjamin Thomas Graham committed
36
        include_dirs=[this_dir+'/sparseconvnet/SCN/'],
37
38
        extra_compile_args=extra['cxx'])],
    cmdclass={'build_ext': BuildExtension},
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
39
    zip_safe=False,
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
40
)