How To Use GCC 5's OpenMP & OpenACC Offloading Support
With the upcoming GCC 5 compiler release there is the offloading infrastructure support in place as OpenMP 4.0 and OpenACC compute offloading to accelerators begin to mature in this open-source compiler. For those willing to toy with the latest experimental code, it's possible to get your feet wet if you have a NVIDIA GPU or supported Intel Xeon Phi MIC card.
A big focus especially over the past year in the GCC camp has been about getting the offloading infrastructure support in place within GCC and libgomp -- the GNU Offloading & Multi-Processing Runtime Library. With GCC 5, the basic support has come together though surely will still be improved over the months ahead. Offloading to accelerators is one of the big features of GCC 5, which is expected to be officially released in early April.
At this point it's not exactly trivial to take advantage of the offloading capabilities with GCC even with supported code, but there's a few more steps to jump through when compiling the code. If you're interested in the routine for building code with GCC 5+ for offload support, this GCC Wiki page has started coming together nicely in recent days and is worth a shout-out if you want to get involved and test the new capabilities that for now are focused on OpenMP 4.0 / OpenACC for NVIDIA NVPTX and Intel Xeon Phi targets.