GCC 13 Seeing Work On OpenMP 5.0 Reverse Offload Functionality
With the OpenMP 5.0 parallel programming specification there is the reverse offload capability for going from the offloaded device back to the system host. The GCC 13 open-source compiler is seeing work recently around supporting this functionality.
With OpenMP 5.0's reverse offload there is the ability to go back to the host with the likes of #pragma omp target device(ancestor: 1) if needing to carry out some operations back on the host rather than the offloaded GPU / accelerator.
The GNU Compiler Collection hasn't supported the OpenMP 5.0 reverse offload ("reverse_offload") functionality yet but thanks to CodeSourcery there is work in that direction.
Merged on Friday was the middle-end portion of the reverse offload functionality. There are also patches pending for libgomp and other work pending on the mailing list.
Hopefully by the time of the GCC 13.1 stable release in early 2023 there will be the complete, working support for OpenMP 5.0 reverse offloading while at the moment it's a work-in-progress.
With OpenMP 5.0's reverse offload there is the ability to go back to the host with the likes of #pragma omp target device(ancestor: 1) if needing to carry out some operations back on the host rather than the offloaded GPU / accelerator.
The GNU Compiler Collection hasn't supported the OpenMP 5.0 reverse offload ("reverse_offload") functionality yet but thanks to CodeSourcery there is work in that direction.
Merged on Friday was the middle-end portion of the reverse offload functionality. There are also patches pending for libgomp and other work pending on the mailing list.
Hopefully by the time of the GCC 13.1 stable release in early 2023 there will be the complete, working support for OpenMP 5.0 reverse offloading while at the moment it's a work-in-progress.
Add A Comment