-
Notifications
You must be signed in to change notification settings - Fork 75
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
Raise minimum to -std=c++14 and remove support for CUDA 8.0 and gcc 4.9 #900
Conversation
928e8c7
to
acc4a78
Compare
@ComputationalRadiationPhysics/alpaka-developers I would like to get your feedback: |
acc4a78
to
7434c7e
Compare
Good call, has my support. (Many CUDA/C++ developers I know argue this should be default in NVCC anyway.) |
I would like it. The only problem with this flag is that it is pulling all host code signatures into the device compile path. Compiling will fail if you include a host library header e.g. jsoncpp in the user code where bitfields are used for host structures because nvcc is not supporting bitfields on the device. |
Just use nlohmann/json instead ;)
https://github.com/nlohmann/json
|
Shouldn't it only bring the |
I tried to reproduce the bitfield issue in a mini-app but without success. The original error was with the lib @BenjaminW3 I think the future development of alpaka without host side constexpr functions will become very hard, so you have green light from my side to make |
7434c7e
to
eacee9b
Compare
@BenjaminW3 could you please rebase to resolve the merge issue |
eacee9b
to
b789968
Compare
I resolved the conflicts. |
edac340
to
b355778
Compare
C++14 allows us to remove boilerplate code and lets us use new language features (auto return type deduction, std::integer_sequence, generic lambdas, ...). GCC 4.9 as well as CUDA 8.0 do not support C++14 fully and are therefore not supported anymore.
b355778
to
bb3d6c4
Compare
I finally got a green build. Please approve and merge! I already have 3 follow-up PRs in the queue ;-) |
C++14 allows us to remove boilerplate code and lets us use new language
features (auto return type deduction, std::integer_sequence, generic
lambdas, ...).
GCC 4.9 as well as CUDA 8.0 do not support C++14 fully and are therefore
not supported anymore.
This removes more than 700 lines of boilerplate code! 🎉