I’m currently working in my master thesis (Distributed Multi-GPU k-Nearest-Neighbor algorithm using Locality Sensitive Hashing and SYCL). I’ve already tested my implementation with ComputeCpp, hipSYCL and oneAPI.
I’m currently working on a table containing possible hardware targets and how each implementation supports those targets.
Using the “Platform Support” site (sorry I can only post two links) as main information source.
Intel CPUs: OpenCL (SSE4.1 required)
AMD CPUs: Can’t find an entry regarding AMD CPUs. Are they still officially supported? (Since AMD CPUs aren’t supported as OpenCL devices anymore (https://community.amd.com/thread/241633))
Hi @Arkantos493
Thanks for your question and your interest in SYCL and ComputeCpp. This talk could be a good source for targets and compilers.
For ComputeCpp AMD is not a viable target at the moment because of the lack of OpenCL SPIR support unfortunately.
For Nvidia I would probably suggest using our Nvidia implementation for DPC++ to get the best performance figures, owing to the experimental support on ComputeCpp.
We have not done any work to add FPGA support for ComputeCpp so far.
I would add that you could look at targetting Arm Mali since ComputeCpp has support for this target.
It would be great if you could post your thesis here once you are done, I am sure there are many people who would be interested to read about your findings.
I’d like to add to @rod’s answer regarding AMD GPUs. If the question is just whether ComputeCpp will run on it, then, as mentioned, that’s not officially supported because of a lack of driver support.
On the other hand, if you have an AMD GPU and would just like to try it out, it might be worth using SPIR-V (spirv64) instead, some AMD drivers seem to be able to consume it even though it’s not officially supported by AMD.