Thread overview
Calling D from Ruby for GPU computing
Aug 05
Michael
July 29
Hi,

I wrote a Linear Mixed Model tool for Genome Wide Association Studies(GWAS) called
[faster_lmm_d](https://github.com/prasunanand/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: http://www.prasunanand.com/gpu-computing/2017/07/25/gsoc17-calling-d-from-ruby-for-gpu-computing.html

I would love to hear your feedback.

Regards,
Prasun

[Previously posted on LDC thread: http://forum.dlang.org/thread/rzrawenyssbiidsgtohx@forum.dlang.org]
August 05
On Saturday, 29 July 2017 at 06:54:47 UTC, Prasun Anand wrote:
> Hi,
>
> I wrote a Linear Mixed Model tool for Genome Wide Association Studies(GWAS) called
> [faster_lmm_d](https://github.com/prasunanand/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: http://www.prasunanand.com/gpu-computing/2017/07/25/gsoc17-calling-d-from-ruby-for-gpu-computing.html
>
> I would love to hear your feedback.
>
> Regards,
> Prasun
>
> [Previously posted on LDC thread: http://forum.dlang.org/thread/rzrawenyssbiidsgtohx@forum.dlang.org]

I don't know much about your work but it sounds like an interesting application for D. How easy was it interfacing with cuda? Was it just cuda you targeted or would it also work with OpenCL? What made you choose D over going straight to C to work directly with cuda?
August 06
On Saturday, 5 August 2017 at 01:15:19 UTC, Michael wrote:
> On Saturday, 29 July 2017 at 06:54:47 UTC, Prasun Anand wrote:
>> Hi,
>>
>> I wrote a Linear Mixed Model tool for Genome Wide Association Studies(GWAS) called
>> [faster_lmm_d](https://github.com/prasunanand/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: http://www.prasunanand.com/gpu-computing/2017/07/25/gsoc17-calling-d-from-ruby-for-gpu-computing.html
>>
>> I would love to hear your feedback.
>>
>> Regards,
>> Prasun
>>
>> [Previously posted on LDC thread: http://forum.dlang.org/thread/rzrawenyssbiidsgtohx@forum.dlang.org]
>
> I don't know much about your work but it sounds like an interesting application for D. How easy was it interfacing with cuda?

It was easy interfacing CUDA. I used `dstep` to create the bindings and
for CUDA and CUBLAS headers. I got interesting results but would be working
on improving the performance.

> Was it just cuda you targeted or would it also work with OpenCL?

Yes, OpenCL is supported using ArrayFire. I have targeted CUDA specifically
for better performance.

> What made you choose D over going straight to C to work directly with cuda?

`faster_lmm_d`


August 06
>> What made you choose D over going straight to C to work directly with cuda?
>
`faster_lmm_d` was written in D. Since, I needed to use CUDA,
I had to create the D bindings. I found using CUDA for GPU computing in D
as easy as doing it in C.

Regards,
Prasun