dcompute - A library + ldc modifications - can now build a simple add kernel

Nicholas Wilson via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sun Jul 17 17:46:10 PDT 2016


On Sunday, 17 July 2016 at 19:23:19 UTC, cym13 wrote:
> On Sunday, 17 July 2016 at 07:45:45 UTC, Nicholas Wilson wrote:
>> Available here[1][2], it can now build a simple add kernel for 
>> both CUDA (.ptx) and OpenCL (.spv) (and of course the host 
>> code) in one compiler invocation.
>>
>> A lot of things are still hardcoded and the optimisations need 
>> to tuned a bit more but it works.
>>
>> Any and all testing, feedback,bug reports and pull requests 
>> welcome!
>>
>> I'll be working on it the next two weeks, after which I go 
>> back to uni and will have less time to work on it, so the more 
>> feed back the better!
>>
>> [1]https://github.com/thewilsonator/dcompute
>> [2]https://github.com/thewilsonator/ldc/tree/dcompute
>
> What did you have to modify in LDC? Was the change important? 
> I'm asking because the lesser the change the more likely it is 
> to be maintanable in the future and/or added to LDC as a proper 
> extension.

I think the only changes (as opposed to additions) were to 
main.cpp and to how it translates D type to llvm types (making it 
somewhat aware of addrspaces) and possibly some logging suff to 
figure out what it does. I'll have to run clang-format on it at 
some point though.

There's a lot of semi-duplicate code though, I copied most of the 
declaration and statement codegen stuff, and got rid of all the 
stuff I wouldn't use, e.g. classes exceptions and whatnot.


More information about the Digitalmars-d-announce mailing list