Implementation Details
Here is a list of hotspots ported to CUDA:
1. hypre_BoomerAMGBuildInterp in par_interp.c
coarseshiftinterp contains the cuda calls.
2. GenerateLaplacian27pt in file par_laplacian_27pt.
The function BinarySearchOnCudaCallerDif contains the cuda calls.
3. hypre_SeqVectorInnerProd
We found that the above function was called frequently by the other two hotspots hypre_BoomerAMGCycle and Hypre_ParCSRMatrix repeatedly and so we ported this call to Cuda.
4. hypre_BoomerAMGRelax
This is another function from the file seq_mv/vector.c which was ported to CUDA due to the large number of times it was called from the source of the hotspot.
5.hypre_ParCSRMatrixMatvec
This function was a hotspot when run with 27pt and which has been reduced due to porting with CUDA.