stfc / PSycloneBench

Various benchmarks used to inform PSyclone optimisations
BSD 3-Clause "New" or "Revised" License
6 stars 5 forks source link

Add Kokkos Views implementation to target GPUs #46

Closed sergisiso closed 4 years ago

sergisiso commented 4 years ago

Continues #31

This PR splits manual_version/psykal_kokkos in 2 different PSy-layer Kokkos implementations:

At the moment the second implementation does all the copies every single iteration (which takes most of the time) and makes it slower that the raw pointer implementation. There is multiple ways to avoid doing the copies at each time step but this will be tackled in a follow up PR. nemolite2d_kokkos_copyalways

sergisiso commented 4 years ago

This is ready for review. Probably @arporter or @rupertford . As mentioned the new implementation already runs with correct results in the GPU but I made no attempt to reduce the large number of copy-in/out in this PR.

sergisiso commented 4 years ago

@arporter This is ready for next review.

Do these Kokkos versions produce checksums that match with other versions?

Yes this was my main focus for this PR :) Both implementations (rawpointers, views) with any device (serial, OpenMP, Cuda) that it can use, produces the same checksums as the psykal_serial or psykal_cpp implementations.