CuiRuikai/Partial2Complete

extern "C" __launch_bounds__(512, 4) __global__ void reduction_prod_kernel(ReduceJitOp r){ r.run(); } nvrtc: error: invalid value for --gpu-architecture (-arch)

Closed this issue · 2 comments

What the problem is?
Debug environment:
CUDA:11.3
pytorch:1.12.0
python:3.8
pytorch3d:0.7.2

Traceback (most recent call last):
File "main.py", line 68, in
main()
File "main.py", line 64, in main
run_net(args, config, train_writer, val_writer)
File "/usr/share/docker/Partial2Complete-main/tools/runner.py", line 92, in run_net
loss, shape_recon_loss, shape_compl_loss, latent_recon_loss, ncc_loss = base_model.module.get_loss(partial)
File "/usr/share/docker/Partial2Complete-main/models/P2C.py", line 178, in get_loss
manifold_penalty = self.manifold_weight * self.manifold_constraint(pred).mean()
File "/root/anaconda3/envs/p2c/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/usr/share/docker/Partial2Complete-main/models/P2C.py", line 80, in forward
normals = estimate_pointcloud_normals(xyz, neighborhood_size=self.neighborhood_size)
File "/root/anaconda3/envs/p2c/lib/python3.8/site-packages/pytorch3d/ops/points_normals.py", line 52, in estimate_pointcloud_normals
curvatures, local_coord_frames = estimate_pointcloud_local_coord_frames(
File "/root/anaconda3/envs/p2c/lib/python3.8/site-packages/pytorch3d/ops/points_normals.py", line 147, in estimate_pointcloud_local_coord_frames
curvatures, local_coord_frames = symeig3x3(cov, eigenvectors=True)
File "/root/anaconda3/envs/p2c/lib/python3.8/site-packages/pytorch3d/common/workaround/symeig3x3.py", line 317, in symeig3x3
return _SymEig3x3().to(inputs.device)(inputs, eigenvectors=eigenvectors)
File "/root/anaconda3/envs/p2c/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/root/anaconda3/envs/p2c/lib/python3.8/site-packages/pytorch3d/common/workaround/symeig3x3.py", line 91, in forward
r = torch.det(B) / 2.0
RuntimeError:
#define POS_INFINITY __int_as_float(0x7f800000)
#define INFINITY POS_INFINITY
#define NEG_INFINITY __int_as_float(0xff800000)
#define NAN __int_as_float(0x7fffffff)

typedef long long int int64_t;
typedef unsigned int uint32_t;
typedef signed char int8_t;
typedef unsigned char uint8_t; // NOTE: this MUST be "unsigned char"! "char" is equivalent to "signed char"
typedef short int16_t;
static_assert(sizeof(int64_t) == 8, "expected size does not match");
static_assert(sizeof(uint32_t) == 4, "expected size does not match");
static_assert(sizeof(int8_t) == 1, "expected size does not match");
constexpr int num_threads = 128;
constexpr int thread_work_size = 4; // TODO: make template substitution once we decide where those vars live
constexpr int block_work_size = thread_work_size * num_threads;
//TODO use _assert_fail, because assert is disabled in non-debug builds
#define ERROR_UNSUPPORTED_CAST assert(false);

I did not have such an issue. I searched online. It seems you are using a new GPU like 4090, which can only be supported by cuda 11.8, so you may have to update the cuda version.

I did not have such an issue. I searched online. It seems you are using a new GPU like 4090, which can only be supported by cuda 11.8, so you may have to update the cuda version.

You are right ! I m using GTX4090. Thank you.