Open acardona opened 5 years ago
@acardona thank you for the contribution. But why do you want to get rid of something that allows backward compatibility? I agree that CUDA6 and before is quite old, but still I wonder if we instead should try to make cuda10 happy and keep the backward compatibility. Think reproducible science. ;)
This PR contains code that makes a all files compile with CUDA 10.0. Unfortunately that's were my knowledge reaches regarding understanding the compiler errors and the possible fixes. These fixes make the non-compiling test both compile and run successfully. So at the very least this PR serves as documentation for others that want to compile with 10.0, or as a starting point for a better fix that preserves backwards compatibility.
On Jan 17, 2019, at 3:59 AM, Peter Steinbach notifications@github.com wrote:
@acardona thank you for the contribution. But why do you want to get rid of something that allows backward compatibility? I agree that CUDA6 and before is quite old, but still I wonder if we instead should try to make cuda10 happy and keep the backward compatibility. Think reproducible science. ;)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
While this allows compilation with both CUDA 9.2 and 10.0 (CUDA >= 9.1 will not compile on master otherwise), the resulting how_cufft_works
ctest fails for me in both cases. Ubuntu 16.04, Titan Xp, the default 410.79 drivers compiled against CUDA 10.0.
The test passes when compiled against CUDA 8.0 with this branch.
The reason is that Nvidia has removed the function: cufftSetCompatibilityMode
So the compiler fails on this file because this function does not exist in CUDA 10. Nividia said they won't add it back.
The correct fix would be a Cmake fix with 2 files, one for cuda >10 and one for cuda <10.
But I've been removing those lines at every new install recently and was about to PR this exact fix ^^
Also this part:
Is not necessary, only the lines with cufftSetCompatibilityMode
cause issues.
Thanks for the fixes. It does compile for me,too. (Ubuntu 20.04, Cuda 10.1). But in my case the ctest function part that is finally testing the FFT now fails.
Did any of you checked the test?
Is the library running for you?
... in Ubuntu 16.04 with CUDA 10.0.
All this commit does is remove code that sets a compatibility mode for CUDA versions earlier than 6050.
All tests pass with ctests.