Mark Farnell wrote:
> So what parameters will I need to pass to ./configure if I want to
> support PTX offloading?

Pre-remark: I think that the https://gcc.gnu.org/wiki/Offloading page will be
updated, once the support has been merged to the trunk.

I think using the triplet "nvptx-unknown-none" instead of
"x86_64-intelmicemul-linux-gnu":
https://gcc.gnu.org/wiki/Offloading#A1._Building_accel_compiler


> So if I want to have CPU, KNL and PTX, do I end up building three compilers?

That's my understanding. You then generate for the offloading/target section
code for the host (as fall back) and for one or multiple accelerators. At
invokation time, you then decide which accelerator to use (KNL, PTX or
host fallback.) Assuming that you target both accelerators during
compilations.


> Finally, is the nvptx-tools project mentioned in Tobia's page aiming
> at replacing the CUDA toolchain?

Depend's what you mean by "CUDA toolchain"; the purpose of those tools is
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg03372.html

Namely, "as" just does some reordering and "ld" reduces the number of files
by combining the PTX files. The actual 'assembler' is in the CUDA runtime
library.

However, GCC (plus the few aux tools) replaces the compilers (nvcc etc.)
as that task is done by GCC.


>> Also, are other GPUs such as the AMD ATI and the built-in GPUs such as
>> the Intel GPU and AMD fusion supported?

There was some work underway to support OpenACC with OpenCL as output,
which is then fed to the OpenCL runtime library. The OpenACC part of
that work ended up in gomp-4_0-branch and is hence not lost. I don't
recall whether there was a branch or patch for the OpenCL support part.

For AMD's HSA, see Jakub's email.

Tobias

Reply via email to