-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Compile the problem encountered by Pytorch3D on Windows #1127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
See #1024 . This is a known problem we have with newer versions of visual studio. |
Actually, I think one or both of the following two changes will fix it, in both iou_box3d.h and ball_query.h:
|
I'm having the same issue, I downgraded Visual Studio to 16.7.26 (my cl.exe is now 14.27.29110), made the changes to those headers you mentioned, and removed "-std=c++14" from nvcc_args, and the error persists. CUDA 11.6, torch==1.10.2+cu113. Trying to get my CUDA downgraded to 11.3 because of the minor version mismatch but it doesn't seem like that would be the problem. |
Thank you for your enthusiastic reply and patient answer all the time, I will seriously solve this problem @bottler |
I was expecting the VS downgrade to fix it even without changing the code, because that has worked for others. (I don't think CUDA version is relevant. On one of the other issues I mused that it might be, but several reports have the same problem with very different CUDA versions.) |
I looked through the other linked issues; in #1024 OP never confirmed that downgrading the compiler is what fixed this specific issue (Tuple template). Another user in that thread mentioned that the issue persisted regardless of compiler version. In #920 the user seemed to fix the tuple issue by messing around with torch/CUDA versions, no confirmation of downgrading VS. #876 does not have any mention of this Tuple error, but it is where the original downgrading VS solution comes from. There might be private conversations I can't see, but it seems like downgrading VS was solving other problems unless I'm missing something. |
Sorry, yes, I may be confused about versions. This error looks like a bad interaction between nvcc and pybind11. (We only use pybind11 in ext.cpp and no other translation units.) Anpother idea. Several times in the past, we have had to be careful with headers to make sure that There are three |
Specifically:
|
I can confirm that those changes to the .cu files have fixed this issue. Thanks for the help. |
If you do not know the root cause of the problem / bug, and wish someone to help you, please
post according to this template:
🐛 Bugs / Unexpected behaviors
**C:\Users\11750.conda\envs\ROBIN\lib\site-packages\torch\include\pybind11\cast.h(1429): error: too few arguments for template template parameter "Tuple"
detected during instantiation of class "pybind11::detail::tuple_caster<Tuple, Ts...> [with Tuple=std::pair, Ts=<T1, T2>]"
(1507): here
C:\Users\11750.conda\envs\ROBIN\lib\site-packages\torch\include\pybind11\cast.h(1503): error: too few arguments for template template parameter "Tuple"
detected during instantiation of class "pybind11::detail::tuple_caster<Tuple, Ts...> [with Tuple=std::pair, Ts=<T1, T2>]"
(1507): here
2 errors detected in the compilation of "D:/HEU/pytorch3d-0.6.1/pytorch3d/csrc/ball_query/ball_query.cu".
error: command 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\nvcc.exe' failed with exit status 1**
My mistake is as mentioned above.How can this problem solve this problem? Respected author!
The text was updated successfully, but these errors were encountered: