On Thursday, 8 February 2018 at 17:24:31 UTC, Ralph Doncaster wrote:
On Thursday, 8 February 2018 at 15:59:28 UTC, Nicholas Wilson wrote:
On Wednesday, 7 February 2018 at 15:16:46 UTC, Ralph Doncaster wrote:
On Wednesday, 7 February 2018 at 15:10:36 UTC, Ralph Doncaster wrote:
On Wednesday, 7 February 2018 at 08:05:46 UTC, Nicholas Wilson wrote:
For OpenCL I develop and maintain DCompute:

It has a much beautified interface to OpenCL (and is mostly consistent with its CUDA interface). You can also write kernels directly in D, however this requires that LDC is built against my fork of LLVM: https://github.com/thewilsonator/llvm

It's still in dev but should be usable. Please let me know if you have issues using it.

I saw your library before, but it looked like it is ONLY for native D on GPUs. I looked at it again, and don't see any documentation or example showing that it works with standard OpenCL kernels written in C.

Yeah its a wrapper for OpenCL so as long as the names and signatures of the symbols match it should work.

OK, maybe I'll take a closer look.

p.s. since you seem to be a green team guy, you might not know that llvm optimization sucks on AMD. I use -legacy when building my kernels to get the good old compiler.

"green team guy"?

It that with the OpenCL C compiler?

nVidia's logo is green, while AMD's logo is often red.

Ah, I have no affiliation with any of the hardware vendors. The only reason DCompute supports CUDA is LLVM has a backend for it and I thought "it can't be too hard". I test (not nearly as frequently as I should) on a rather old Intel CPU and very old (CC2.1) Nvidia card, simply due to availability (i.e. I had them before I started). CI Testing is on my list of things to do but I just haven't got around to it yet.

On Linux with AMDGPU-Pro 17 and up, the driver uses llvm/amdgpu. The driver still has the old gcc-based? compiler. The old compiler can be selected with clBuildProgram using the option "-legacy".

Unfortunately I can't help much there but I should definitely test (and optimise) with AMD. Hopefully it catches up with the legacy one because DCompute is currently tied to LDC and hence LLVM. The mainlining of polly, region vectoriser and VPlan should boost perf all round.

Reply via email to