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