ComputationalRadiationPhysics / graybat

Graph Approach for Highly Generic Communication Schemes Based on Adaptive Topologies :satellite:
Other
8 stars 4 forks source link

Changed c++14 flag to c++11 in graybatConfig.cmake to enable Alpaka with CUDA combability #128

Closed s0vereign closed 7 years ago

s0vereign commented 7 years ago

This PR is here due to a offline discussion with @theZiz.

The C++14 Flag in Graybat is still prohibiting it from working it with Alpaka/CUDA. The main problem is that if CUDA(even in version 8.0) is used, C++11 should be used and this is fine for both Alpaka and Graybat (since @fabian-jung removed the C++14 stuff afaik). The problem which remains is, that if Graybat sets the CMAKE_CXX_FLAG to C++14 Alpaka will thus not create the Makro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION and therefore causes the compilation to fail due to the missing return type deduction feature. This would now fix the issue, but since Alpaka as well as Graybat add the C++11 Flag, the user still has to remove the duplicate manually inside his CMakeslists.txt file (when using CUDA and Alpaka at least since nvcc does not allow duplicate flags). The only advantage of this PR is therefore, that the user immediatly sees that the error is caused by the Flags and can remove them manually instead of having to further investigate the Alpaka internal cause.

A real solution instead of a workaround imho would be to check if there already exists a C++11 Flag in both Alpaka and Graybat, and adding it if it does not already exist. Or let the user take care of it inside his own CMake File.

Also since the tests still require C++14, I could still exchange the C++11 to 14 flag temporarily in the concerned CMakeLists.txt.

erikzenker commented 7 years ago

Thank you for your detailed explanation. I totally understand your pain. I would like to merge your PR like it is, but on the dev-c++11 branch, since the main dev branch will stay C++14. So could you please open a new PR on the dev-c++11 branch? thx in advance.

erikzenker commented 7 years ago

I cherry-picked your commit and put it onto the dev-c++11 branch. See #133.

s0vereign commented 7 years ago

All right thanks. Sry forgot about the PR. I ran in multiple other issues to get Graybat and Alpaka together. I'm trying to solve them. Will report as soon as I know more what's causing them!

erikzenker commented 7 years ago

I'll try my best to support you solving upcoming problems.