zpzim / SCAMP

The fastest way to compute matrix profiles on CPU and GPU!
http://www.cs.ucr.edu/~eamonn/MatrixProfile.html
MIT License
155 stars 35 forks source link

Evaluate the use of Eigen in the GPU kernel code #115

Open zpzim opened 2 years ago

zpzim commented 2 years ago

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.

zpzim commented 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.