This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: OpenACC in GCC - how does it not violate the license?


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Alec,

> Nvidia (IIRC, this was like a year ago though) don't even give out
the instruction set for their GPUs

I understand you don't want to bound to PTX virtual assembler, as it
conversion to GPU native assembler relies on proprietary component. We
too.

According to our experince [1], complete decoding of NVIDIA ISA could
be performed in reasonable time using NVIDIA's disassembler,
automation tools and some binary-level hooking. Same things should be
done at Pathscale and Nouveau. If disassembler will also be provided
for Maxwell, then OpenACC implementation would have enough to support
native ISAs of all known GPU families from 2008 to 2014.

GPU driver/runtime is more trickier, but there is Gdev project [2]

[1]
http://hpcforge.org/scm/viewvc.php/*checkout*/doc/opennvisa/opennvisa.pdf?root=kernelgen
[2] https://github.com/shinpei0208/gdev

- - D.

On 11/17/2013 05:58 AM, Alec Teal wrote:
> 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
> 
> 
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQEcBAEBAgAGBQJSiFSoAAoJENwm3+sbf/pMZHoH+wZjlFIo8U+jbAtPj5enuo4F
bFOBm/oJAikbB5UkHapG8UDwnpdnkaD7yba6Si4bT7SI/mtUQVMjctL3rmSur8r7
qIikj/S0R/DUj9RBq2li6w+SEYIN4nu/fqIbNNrj8KonR1ROeLwuiv3F1MQsOyZ/
e/kW0mN/0PioX1kB0jwvPFwxjDQPhHmHY1LZvdU1ZaQoCwSlujO+efJQ9ass8T8a
Z6SmFlKKdlT8JotnWrdTBOV2wVsRVyc8hER3z8izbE81DFOE+RwAjuZHsJLxwF/1
esmwKQgoOv7Lu3p+dH7i6jgEh+FzmI5wCPJ51SupFGH+6r3VAKNGmGxcpK4wODM=
=1lgD
-----END PGP SIGNATURE-----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]