Calling D from Ruby for GPU computing

Nicholas Wilson via digitalmars-d-ldc digitalmars-d-ldc at
Wed Jul 26 04:56:47 PDT 2017

On Wednesday, 26 July 2017 at 05:56:45 UTC, Prasun Anand wrote:
> On Wednesday, 26 July 2017 at 01:14:56 UTC, Nicholas Wilson 
> wrote:
>> On Tuesday, 25 July 2017 at 20:19:17 UTC, Prasun Anand wrote:
>>> Hi,
>>> I wrote a Linear Mixed Model tool for Genome Wide Association 
>>> Studies(GWAS) called
>>> [faster_lmm_d]( 
>>> It is built on LDC
>>> and is faster than its Python alternative. Also, its the only 
>>> GWAS tool with a GPU
>>> backend.
>>> I am interested in porting ` faster_lmm_d` to Ruby. Though, 
>>> it is still a work in progress, I have written a blog about 
>>> my findings.
>>> Blog: 
>>> I would love to hear your feedback.
>>> Regards,
>>> Prasun
>> Pretty cool, any reason you didn't post this in announce 
>> instead?
>> I'd be interested to hear your thoughts on ArrayFire as I'm 
>> looking for Ideas (not to mention feedback and projects!) for 
>> DCompute.
> Thanks Nicholas! I think ArrayFire is a great library and very 
> promising. The abstractions it provides makes it very easy for 
> GPU computing and in my opinion,
> these abstractions make the programmer too lazy to look under 
> the hood and aim for better optimizations.
> ArrayFire being able to support CPU, OpenCL and CUDA all 
> together is what makes it super awesome.
> I would be working on optimizations for CUDA backend of 
> faster-lmm-d in near future, and I would be using dcompute a 
> lot, to write the kernels in D.

Thanks, I'll keep that in mind. The OpenCL API is usable, I'm 
about halfway through the CUDA API and we will ba able to support 
both of them. I look forward to seeing what other people make 
with dcompute. I'm looking forward to using this in 
bioinformatics next semester.

> I posted this on LDC group as I would also like to pose a 
> question to LDC community regarding

I encourage you to post it there anyway, far fewer people read 
lists other than learn/general/announce and this is very 

> **How do I bind D as a shared lib for ldc ? **

`ldc2 -shared files.d` should work

More information about the digitalmars-d-ldc mailing list