NVIDIA's PTX Back-End For GCC Has Been Published
As part of the work to bring OpenACC 2.0 and NVIDIA GPU support to GCC, a large set of patches were published this morning for adding NVIDIA's PTX back-end to the Free Software Foundation's compiler.
Back in November it was announced of OpenACC with GPU support coming to GCC via work being done by CodeSourcery, NVIDIA, and Oak Ridge National Labs. This announcement didn't excite everyone though with this CPU+GPU parallel programming standard coming to the GNU Compiler Collection. Some thing this work is harmful to GCC and could cause problems for the openness of GCC. Anyhow, CodeSourcery is marching on and working out the OpenACC and PTX support for GCC.
PTX (Parallel Thread Execution) is NVIDIA's Assembly-like language used in their Compute Unified Device Architecture (CUDA) that the NVIDIA binary graphics driver then compiles into machine code for the graphics processor. PTX is basically an abstraction layer between the code and NVIDIA's hardware instruction set, which they don't publicly document. GCC target this intermediary layer that's only good when paired with the NVIDIA binary graphics driver is what's outraged some individuals. LLVM has long had a NVIDIA PTX back-end.
The initial GCC PTX patches are still a work-in-progress but they're hoping they'll be accepted into the GOMP4 branch. These initial NVIDIA PTX back-end patches can be found on the gcc-patches list.
Back in November it was announced of OpenACC with GPU support coming to GCC via work being done by CodeSourcery, NVIDIA, and Oak Ridge National Labs. This announcement didn't excite everyone though with this CPU+GPU parallel programming standard coming to the GNU Compiler Collection. Some thing this work is harmful to GCC and could cause problems for the openness of GCC. Anyhow, CodeSourcery is marching on and working out the OpenACC and PTX support for GCC.
PTX (Parallel Thread Execution) is NVIDIA's Assembly-like language used in their Compute Unified Device Architecture (CUDA) that the NVIDIA binary graphics driver then compiles into machine code for the graphics processor. PTX is basically an abstraction layer between the code and NVIDIA's hardware instruction set, which they don't publicly document. GCC target this intermediary layer that's only good when paired with the NVIDIA binary graphics driver is what's outraged some individuals. LLVM has long had a NVIDIA PTX back-end.
The initial GCC PTX patches are still a work-in-progress but they're hoping they'll be accepted into the GOMP4 branch. These initial NVIDIA PTX back-end patches can be found on the gcc-patches list.
4 Comments