Hey all,
I got linked this by a friend today:
http://www.mentor.com/embedded-software/blog/post/we-are-bringing-openacc-to-the-gnu-compiler-suite--8d06289f-c4e9-44c8-801b-7a11496e7300
It seems to suggest that GCC can target Nvidia GPUs
To quote:
or OpenACC 2.0 in GCC, , and generating assembly level instructions
for an NVIDIA GPU. Let’s not underestimate the effort involved, which
includes teaching GCC how to parse OpenACC directives, how to
translate the directives into appropriate blocks of code and data
migration, and how to generate instructions for the target device itself.
Now while great, is this true!? Nvidia (IIRC, this was like a year ago
though) don't even give out the instruction set for their GPUs, can we
have GCC targeting closed things? Also there (must be and is) a Cuda
runtime, wouldn't we need an open runtime to link against?
To quote again:
Duncan Poole is responsible for strategic partnerships for NVIDIA’s
Accelerated Computing Division. His responsibilities reach across the
developer tool chain
(the stuff after that quote is just guff)
This is by no means an accusation, I'm sure he's doing fine work; but
he's doing something I didn't think the GPLv3 allowed (so I want to be
corrected) he seems to have added something that requires a closed
runtime for a target with a closed instruction set - probably for Nvidia
(as he is responsible for "strategic partnerships" with them)
I do try and live my life entirely within free software, it means I
never have to care about these things. Sorry for my ignorance.
Also a search for OpenACC produced very little.
Alec