windows fix

Summary: Attempt to reduce nvcc trouble on windows by (1) avoiding flag for c++14 and (2) avoiding `torch/extension.h`, which introduces pybind11, in `.cu` files.

Reviewed By: patricklabatut

Differential Revision: D34969868

fbshipit-source-id: f3878d6a2ba9d644e87ae7b6377cb5008b4b6ce3
This commit is contained in:
Jeremy Reizenstein 2022-03-24 06:52:05 -07:00 committed by Facebook GitHub Bot
parent e2622d79c0
commit f2cf9d4d0b
5 changed files with 5 additions and 7 deletions

View File

@ -12,7 +12,6 @@
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include "utils/pytorch3d_cutils.h"
// A chunk of work is blocksize-many points of P1. // A chunk of work is blocksize-many points of P1.
// The number of potential chunks to do is N*(1+(P1-1)/blocksize) // The number of potential chunks to do is N*(1+(P1-1)/blocksize)

View File

@ -15,7 +15,6 @@
#include <thrust/device_vector.h> #include <thrust/device_vector.h>
#include <thrust/tuple.h> #include <thrust/tuple.h>
#include "iou_box3d/iou_utils.cuh" #include "iou_box3d/iou_utils.cuh"
#include "utils/pytorch3d_cutils.h"
// Parallelize over N*M computations which can each be done // Parallelize over N*M computations which can each be done
// independently // independently

View File

@ -12,7 +12,6 @@
#include <math.h> #include <math.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include "utils/pytorch3d_cutils.h"
#include "utils/warp_reduce.cuh" #include "utils/warp_reduce.cuh"
template <unsigned int block_size> template <unsigned int block_size>
@ -170,6 +169,9 @@ at::Tensor FarthestPointSamplingCuda(
// This will ensure each thread processes the minimum necessary number of // This will ensure each thread processes the minimum necessary number of
// points (P/threads). // points (P/threads).
const int points_pow_2 = std::log(static_cast<double>(P)) / std::log(2.0); const int points_pow_2 = std::log(static_cast<double>(P)) / std::log(2.0);
// Max possible threads per block
const int MAX_THREADS_PER_BLOCK = 1024;
const size_t threads = max(min(1 << points_pow_2, MAX_THREADS_PER_BLOCK), 1); const size_t threads = max(min(1 << points_pow_2, MAX_THREADS_PER_BLOCK), 1);
// Create the accessors // Create the accessors

View File

@ -15,6 +15,3 @@
#define CHECK_CONTIGUOUS_CUDA(x) \ #define CHECK_CONTIGUOUS_CUDA(x) \
CHECK_CUDA(x); \ CHECK_CUDA(x); \
CHECK_CONTIGUOUS(x) CHECK_CONTIGUOUS(x)
// Max possible threads per block
const int MAX_THREADS_PER_BLOCK = 1024;

View File

@ -57,12 +57,13 @@ def get_extensions():
define_macros += [("THRUST_IGNORE_CUB_VERSION_CHECK", None)] define_macros += [("THRUST_IGNORE_CUB_VERSION_CHECK", None)]
cub_home = os.environ.get("CUB_HOME", None) cub_home = os.environ.get("CUB_HOME", None)
nvcc_args = [ nvcc_args = [
"-std=c++14",
"-DCUDA_HAS_FP16=1", "-DCUDA_HAS_FP16=1",
"-D__CUDA_NO_HALF_OPERATORS__", "-D__CUDA_NO_HALF_OPERATORS__",
"-D__CUDA_NO_HALF_CONVERSIONS__", "-D__CUDA_NO_HALF_CONVERSIONS__",
"-D__CUDA_NO_HALF2_OPERATORS__", "-D__CUDA_NO_HALF2_OPERATORS__",
] ]
if os.name != "nt":
nvcc_args.append("-std=c++14")
if cub_home is None: if cub_home is None:
prefix = os.environ.get("CONDA_PREFIX", None) prefix = os.environ.get("CONDA_PREFIX", None)
if prefix is not None and os.path.isdir(prefix + "/include/cub"): if prefix is not None and os.path.isdir(prefix + "/include/cub"):