stfc / PSycloneBench

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

Add OpenMP offload target for the tracer advection benchmark #86

Closed arporter closed 2 years ago

arporter commented 2 years ago

We want to demonstrate OpenMP offload for the PSyclone paper and thus it makes sense to add it here. I'll work off PSyclone/examples/nemo/eg1 for this.

arporter commented 2 years ago

@sergisiso do you have the necessary compiler flags for the NVIDIA compiler to hand?

sergisiso commented 2 years ago

The necessary flags are already in the repo in https://github.com/stfc/PSycloneBench/blob/master/compiler_setup/nvidia.sh you also need the "-gpu=managed" if using managed memory.

sergisiso commented 2 years ago

Also note that the script in eg1 will need some changes due to the new range2loop+hoist_bounds+hoist bound statements in order to provide good GPU performance. If you want I can take this after your initial PR and check/update the script while I am introducing the changes in the transformations.

arporter commented 2 years ago

Thanks @sergisiso. I just need to test what I have on Glados or Isambard now.

arporter commented 2 years ago

Makefile_gen adds OMPFLAGS to F90FLAGS so we have to unset it when building for OMP offload. I need to document this in the README.