My choice to pick Go over D ( and Rust ), mostly non-technical

Nicholas Wilson iamthewilsonator at hotmail.com
Thu Feb 8 17:48:39 UTC 2018


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:
>>>>> http://code.dlang.org/packages/dcompute
>>>>> https://github.com/libmir/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.


More information about the Digitalmars-d mailing list