setup.py 1.55 KB
Newer Older
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
1
2
3
4
5
6
# Copyright 2016-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the license found in the
# 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
this_dir = os.path.dirname(os.path.realpath(__file__))
torch_dir = os.path.dirname(torch.__file__)
13
conda_include_dir = '/'.join(torch_dir.split('/')[:-4]) + '/include'
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
14

15
extra = {'cxx': ['-std=c++11', '-fopenmp'], 'nvcc': ['-std=c++11', '-Xcompiler', '-fopenmp']}
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
16
17
18

setup(
    name='sparseconvnet',
19
    version='0.2',
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
20
21
22
23
    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',
24
25
26
27
28
29
30
31
32
33
34
35
    packages=['sparseconvnet','sparseconvnet.SCN'],
    ext_modules=[
      CUDAExtension('sparseconvnet_SCN',
        ['sparseconvnet/SCN/pybind_cuda.cpp', 'sparseconvnet/SCN/instantiate_cpu.cpp', 'sparseconvnet/SCN/instantiate_cuda.cu'],
        include_dirs=[conda_include_dir, this_dir+'/sparseconvnet/SCN/'],
        extra_compile_args=extra)
      if torch.cuda.is_available()  else
      CppExtension('sparseconvnet_SCN',
        ['sparseconvnet/SCN/pybind_cpu.cpp', 'sparseconvnet/SCN/instantiate_cpu.cpp'],
        include_dirs=[conda_include_dir, this_dir+'/sparseconvnet/SCN/'],
        extra_compile_args=extra['cxx'])],
    cmdclass={'build_ext': BuildExtension},
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
36
    zip_safe=False,
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
37
)