Skip to content

Commit

Permalink
windows fix
Browse files Browse the repository at this point in the history
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
  • Loading branch information
bottler authored and facebook-github-bot committed Mar 24, 2022
1 parent e2622d7 commit f2cf9d4
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 7 deletions.
1 change: 0 additions & 1 deletion pytorch3d/csrc/ball_query/ball_query.cu
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "utils/pytorch3d_cutils.h"

// A chunk of work is blocksize-many points of P1.
// The number of potential chunks to do is N*(1+(P1-1)/blocksize)
Expand Down
1 change: 0 additions & 1 deletion pytorch3d/csrc/iou_box3d/iou_box3d.cu
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
#include <thrust/device_vector.h>
#include <thrust/tuple.h>
#include "iou_box3d/iou_utils.cuh"
#include "utils/pytorch3d_cutils.h"

// Parallelize over N*M computations which can each be done
// independently
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "utils/pytorch3d_cutils.h"
#include "utils/warp_reduce.cuh"

template <unsigned int block_size>
Expand Down Expand Up @@ -170,6 +169,9 @@ at::Tensor FarthestPointSamplingCuda(
// This will ensure each thread processes the minimum necessary number of
// points (P/threads).
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);

// Create the accessors
Expand Down
3 changes: 0 additions & 3 deletions pytorch3d/csrc/utils/pytorch3d_cutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,3 @@
#define CHECK_CONTIGUOUS_CUDA(x) \
CHECK_CUDA(x); \
CHECK_CONTIGUOUS(x)

// Max possible threads per block
const int MAX_THREADS_PER_BLOCK = 1024;
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,13 @@ def get_extensions():
define_macros += [("THRUST_IGNORE_CUB_VERSION_CHECK", None)]
cub_home = os.environ.get("CUB_HOME", None)
nvcc_args = [
"-std=c++14",
"-DCUDA_HAS_FP16=1",
"-D__CUDA_NO_HALF_OPERATORS__",
"-D__CUDA_NO_HALF_CONVERSIONS__",
"-D__CUDA_NO_HALF2_OPERATORS__",
]
if os.name != "nt":
nvcc_args.append("-std=c++14")
if cub_home is None:
prefix = os.environ.get("CONDA_PREFIX", None)
if prefix is not None and os.path.isdir(prefix + "/include/cub"):
Expand Down

0 comments on commit f2cf9d4

Please sign in to comment.