mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2026-03-02 18:26:01 +08:00
Make cuda tensors contiguous in host function and remove contiguous check
Summary: Update the cuda kernels to: - remove contiguous checks for the grad tensors and for cpu functions which use accessors - for cuda implementations call `.contiguous()` on all tensors in the host function before invoking the kernel Reviewed By: gkioxari Differential Revision: D21598008 fbshipit-source-id: 9b97bda4582fd4269c8a00999874d4552a1aea2d
This commit is contained in:
committed by
Facebook GitHub Bot
parent
a8377f1f06
commit
3fef506895
@@ -67,9 +67,9 @@ std::tuple<torch::Tensor, torch::Tensor, torch::Tensor> RasterizePointsNaive(
|
||||
if (points.is_cuda() && cloud_to_packed_first_idx.is_cuda() &&
|
||||
num_points_per_cloud.is_cuda()) {
|
||||
#ifdef WITH_CUDA
|
||||
CHECK_CONTIGUOUS_CUDA(points);
|
||||
CHECK_CONTIGUOUS_CUDA(cloud_to_packed_first_idx);
|
||||
CHECK_CONTIGUOUS_CUDA(num_points_per_cloud);
|
||||
CHECK_CUDA(points);
|
||||
CHECK_CUDA(cloud_to_packed_first_idx);
|
||||
CHECK_CUDA(num_points_per_cloud);
|
||||
return RasterizePointsNaiveCuda(
|
||||
points,
|
||||
cloud_to_packed_first_idx,
|
||||
@@ -144,9 +144,9 @@ torch::Tensor RasterizePointsCoarse(
|
||||
if (points.is_cuda() && cloud_to_packed_first_idx.is_cuda() &&
|
||||
num_points_per_cloud.is_cuda()) {
|
||||
#ifdef WITH_CUDA
|
||||
CHECK_CONTIGUOUS_CUDA(points);
|
||||
CHECK_CONTIGUOUS_CUDA(cloud_to_packed_first_idx);
|
||||
CHECK_CONTIGUOUS_CUDA(num_points_per_cloud);
|
||||
CHECK_CUDA(points);
|
||||
CHECK_CUDA(cloud_to_packed_first_idx);
|
||||
CHECK_CUDA(num_points_per_cloud);
|
||||
return RasterizePointsCoarseCuda(
|
||||
points,
|
||||
cloud_to_packed_first_idx,
|
||||
@@ -215,8 +215,8 @@ std::tuple<torch::Tensor, torch::Tensor, torch::Tensor> RasterizePointsFine(
|
||||
const int points_per_pixel) {
|
||||
if (points.is_cuda()) {
|
||||
#ifdef WITH_CUDA
|
||||
CHECK_CONTIGUOUS_CUDA(points);
|
||||
CHECK_CONTIGUOUS_CUDA(bin_points);
|
||||
CHECK_CUDA(points);
|
||||
CHECK_CUDA(bin_points);
|
||||
return RasterizePointsFineCuda(
|
||||
points, bin_points, image_size, radius, bin_size, points_per_pixel);
|
||||
#else
|
||||
@@ -266,10 +266,10 @@ torch::Tensor RasterizePointsBackward(
|
||||
const torch::Tensor& grad_dists) {
|
||||
if (points.is_cuda()) {
|
||||
#ifdef WITH_CUDA
|
||||
CHECK_CONTIGUOUS_CUDA(points);
|
||||
CHECK_CONTIGUOUS_CUDA(idxs);
|
||||
CHECK_CONTIGUOUS_CUDA(grad_zbuf);
|
||||
CHECK_CONTIGUOUS_CUDA(grad_dists);
|
||||
CHECK_CUDA(points);
|
||||
CHECK_CUDA(idxs);
|
||||
CHECK_CUDA(grad_zbuf);
|
||||
CHECK_CUDA(grad_dists);
|
||||
return RasterizePointsBackwardCuda(points, idxs, grad_zbuf, grad_dists);
|
||||
#else
|
||||
AT_ERROR("Not compiled with GPU support");
|
||||
|
||||
Reference in New Issue
Block a user