Open Aympab opened 6 months ago
Hello,
As I understand it the 2023-WW27 release is just for OpenCL RT for Intel CPU and FPGA emulator, not a general DPC++ release.
I believe the specific issue you mention has been fixed a while ago, you could try one of the daily package instead like nightly-2024-05-21, or the Intel oneAPI release along with the Codeplay plugins for Nvidia and AMD.
I am having trouble building the project on the daily release, although I'm using the same env and command as I used to. I get an error about a boost/mp11
include which stops me from building the project. I'll update you on this issue when I manage to solve this.
I am having trouble building the project on the daily release, although I'm using the same env and command as I used to. I get an error about a
boost/mp11
include which stops me from building the project. I'll update you on this issue when I manage to solve this.
Hi there, have you solved the boost/mp11 trouble? I got the error of missing "sycl/detail/boost/mp11/algorithms.hpp".
Hi, I didn't manage to work around the error. For now I'm just using an older version of dpc++, but eventually I'll have to update it. Let me know if you get any information about this, maybe we should create an issue
Describe the bug
Hello,
I am using DPC++ to build a SYCL2020 project. I am running through a docker container with OpenCL, NVIDIA and AMD GPU backends. I used to build DPC++ at commit hash
589824d
and this works fine; the code is built using the flags-fsycl-targets=amd_gpu_gfx90a
or-fsycl-targets=nvidia_gpu_sm_80
for the different GPUs. I am using these flags for compilation and linking through a CMake integration.I recently tried to update the container using the latest release, and when I'm running the same commands, I get the following errors:
The error for the NVIDIA GPU: clang++: warning: linked binaries do not contain expected 'nvptx64-nvidia-cuda-sm_80-' target; found targets: 'nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-, nvptx64-nvidia-cuda--sm_80-' [-Wsycl-target]
The error for the AMD GPU:
clang++: warning: linked binaries do not contain expected 'amdgcn-amd-amdhsa-gfx90a-' target; found targets: 'amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-, amdgcn-amd-amdhsa--gfx90a-' [-Wsycl-target]
The errors are happening at linking time, I tried to set different flags such as
-fsycl-targets=nvptx64-nvidia-cuda
but I get different errors.For the NVIDIA GPU the warning is non blocking and clang++ generates a binary, which crashes at the first
parallel_for
invocation:46 (PI_ERROR_INVALID_KERNEL_NAME)
, the mangled name of the kernel is not found.For the AMD GPU, the warning then produces an error and no binary is generated:
clang++: error: amdgcn-link command failed with exit code 254
, here is the full dump:To reproduce
int main(){ sycl::range r(64,64,64); sycl::buffer<double, 3> buff(r);
}
sycl-ls
on the AMD GPU env:Additional context
I am using this sycl container.