Modern scientific computing is relying more and more on GPU acceleration to meet the growing demands of computation. This paper compares parallelization frameworks, including performance-portable solutions (AdaptiveCpp, Kokkos, OpenCL, OpenMP, OpenACC) and graphics APIs (Vulkan, SLANG, WebGPU), using a polyhedral gravity model as a test case. We evaluate performance gains, numerical accuracy with different floating-point precisions, and implementation effort.
Results on consumer-level GPUs show that SLANG compiled to CUDA can achieve a speedup of over 250x when using single precision floats, followed by OpenCL and Kokkos. However, we also show that single precision floats can lead to significant deviations in the results, which particularly affects graphic APIs.
«
Modern scientific computing is relying more and more on GPU acceleration to meet the growing demands of computation. This paper compares parallelization frameworks, including performance-portable solutions (AdaptiveCpp, Kokkos, OpenCL, OpenMP, OpenACC) and graphics APIs (Vulkan, SLANG, WebGPU), using a polyhedral gravity model as a test case. We evaluate performance gains, numerical accuracy with different floating-point precisions, and implementation effort.
Results on consumer-level GPUs sh...
»