Open zpzim opened 2 years ago
I have cleaned up the GPU code using Eigen. The code is sitting on the use-eigen-in-gpu-kernels
branch.
In this cleanup, I removed the mixed precision mode from the GPU kernels, it wasn't improving performance over double precision and as a result provided little-to-no benefit. Mixed precision will be deprecated and just use the double precision functionality from now on.
I have only tested these changes on P100; there are a few more steps I need to take to make sure these changes don't affect performance on other GPUs. Before merging, I will do some parameter tuning for K80, V100, A100, and Geforce 3080.
Eigen has worked well with the CPU kernels. We can also rewrite the GPU code to try and use it. This will simplify the GPU kernels which are quite messy right now and potentially improve performance.