Add HIP support
This PR adds support for using hipify on the cuda code to allow for GPU support on both AMD and Nvidia architectures. The HIP code is hidden from the programmer in the build directory, and the cmake adds dependencies to only recompile the necessary files when making changes in the cuda source code.
This PR is still in draft mode as several temporary changes have been made to make a cmake file.
This code is tested to work on an AMD card. All the cuda tests pass in their hipified form, two are rewritten as they contain types/function that do not exist in HIP. The CMakeFiles now has a function that handles adding cuda/hip files and translates when necessary. The CMake has one new option for compiling to AMD hardware, and the version is increase from 3.1 as we need HIP as a language.
jenkins build this hip please
jenkins build this hip please
jenkins build this hip please
jenkins build this hip please
jenkins build this serial hip hipify please
jenkins build this serial hip hipify please
jenkins build this serial hip hipify please
jenkins build this serial hip hipify please
jenkins build this serial hip hipify please
jenkins build this serial hip hipify please
jenkins build this serial hip hipify please
jenkins build this hipify please
jenkins build this hipify please
jenkins build this hipify please
jenkins build this hipify please
jenkins build this hipify please
jenkins build this hipify hip serial please
jenkins build this hipify hip serial please