Improvements to GPU integration with Julia

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Improvements to GPU integration with Julia

Michael Jin
(Reposted from julia-dev I was told that julia-user was a more appropriate place to have this thread.)

Hi, I'm an undergraduate student and I've been using Julia since 2013. I've been trying to use the GPU seamlessly for projects involving Julia matrices. For that end, I have started working on my own OpenCL BLAS Julia library to test the clBLAS library at the lowest level possible for the GPU with the OpenCL C library.

Here's a link to my project: https://github.com/mikhail-j/OpenCLBLAS.jl

This project has been tested on a NVIDIA GTX 780 Ti.

Any suggestions on what I can do to improve the state of GPU integration with Julia?
Reply | Threaded
Open this post in threaded view
|

Re: Improvements to GPU integration with Julia

Chris Rackauckas
I think the GPU integration libraries for Julia are already really good if you're using CUDA. CUDArt.jl and Arrayfire.jl work quite well. I don't know too much about the OpenCL side, but I don't tend to have a use for it.

On Monday, April 25, 2016 at 6:06:10 PM UTC-7, Michael Jin wrote:
(Reposted from julia-dev I was told that julia-user was a more appropriate place to have this thread.)

Hi, I'm an undergraduate student and I've been using Julia since 2013. I've been trying to use the GPU seamlessly for projects involving Julia matrices. For that end, I have started working on my own OpenCL BLAS Julia library to test the clBLAS library at the lowest level possible for the GPU with the OpenCL C library.

Here's a link to my project: <a href="https://github.com/mikhail-j/OpenCLBLAS.jl" style="color:rgb(17,85,204)" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fmikhail-j%2FOpenCLBLAS.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFemkEBXG0puvJHfDGZFS3Ze8GDkg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fmikhail-j%2FOpenCLBLAS.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFemkEBXG0puvJHfDGZFS3Ze8GDkg&#39;;return true;">https://github.com/mikhail-j/OpenCLBLAS.jl

This project has been tested on a NVIDIA GTX 780 Ti.

Any suggestions on what I can do to improve the state of GPU integration with Julia?
Reply | Threaded
Open this post in threaded view
|

Re: Improvements to GPU integration with Julia

Michael Jin
I've noticed that there are computer owners who only have access to an AMD GPU (Mac Pro 2013, 2015 iMac) and wish to tap into their GPUs for extra processing power for machine learning applications. 

cuBLAS won't help them and it appears that the state of out of the box (without much customizations required by the user) OpenCL tool development seems to lacking progress. I wish to change that.

On Tuesday, April 26, 2016 at 7:20:52 AM UTC-4, Chris Rackauckas wrote:
I think the GPU integration libraries for Julia are already really good if you're using CUDA. CUDArt.jl and Arrayfire.jl work quite well. I don't know too much about the OpenCL side, but I don't tend to have a use for it.

On Monday, April 25, 2016 at 6:06:10 PM UTC-7, Michael Jin wrote:
(Reposted from julia-dev I was told that julia-user was a more appropriate place to have this thread.)

Hi, I'm an undergraduate student and I've been using Julia since 2013. I've been trying to use the GPU seamlessly for projects involving Julia matrices. For that end, I have started working on my own OpenCL BLAS Julia library to test the clBLAS library at the lowest level possible for the GPU with the OpenCL C library.

Here's a link to my project: <a href="https://github.com/mikhail-j/OpenCLBLAS.jl" style="color:rgb(17,85,204)" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fmikhail-j%2FOpenCLBLAS.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFemkEBXG0puvJHfDGZFS3Ze8GDkg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fmikhail-j%2FOpenCLBLAS.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFemkEBXG0puvJHfDGZFS3Ze8GDkg&#39;;return true;">https://github.com/mikhail-j/OpenCLBLAS.jl

This project has been tested on a NVIDIA GTX 780 Ti.

Any suggestions on what I can do to improve the state of GPU integration with Julia?
Reply | Threaded
Open this post in threaded view
|

Re: Improvements to GPU integration with Julia

Valentin Churavy
Hey,

I am one of the maintainers of OpenCL.jl and I would recommend you to look at https://github.com/JuliaGPU/OpenCL.jl, https://github.com/JuliaGPU/CLFFT.jl, and https://github.com/JuliaGPU/CLBLAS.jl.
We welcome any improvements and help. I can only speak for myself in that most of the improvements happen when somebody feels that the current state is inadequate and something needs to be done about it. I am personally not using OpenCL as much as I used to so I have less of these moments :) Otherwise look at the issues and if you want I have a personal wishlist of things that need to be done at some point ;)

Best,
Valentin

On Wednesday, 27 April 2016 03:36:27 UTC+9, Michael Jin wrote:
I've noticed that there are computer owners who only have access to an AMD GPU (Mac Pro 2013, 2015 iMac) and wish to tap into their GPUs for extra processing power for machine learning applications. 

cuBLAS won't help them and it appears that the state of out of the box (without much customizations required by the user) OpenCL tool development seems to lacking progress. I wish to change that.

On Tuesday, April 26, 2016 at 7:20:52 AM UTC-4, Chris Rackauckas wrote:
I think the GPU integration libraries for Julia are already really good if you're using CUDA. CUDArt.jl and Arrayfire.jl work quite well. I don't know too much about the OpenCL side, but I don't tend to have a use for it.

On Monday, April 25, 2016 at 6:06:10 PM UTC-7, Michael Jin wrote:
(Reposted from julia-dev I was told that julia-user was a more appropriate place to have this thread.)

Hi, I'm an undergraduate student and I've been using Julia since 2013. I've been trying to use the GPU seamlessly for projects involving Julia matrices. For that end, I have started working on my own OpenCL BLAS Julia library to test the clBLAS library at the lowest level possible for the GPU with the OpenCL C library.

Here's a link to my project: <a href="https://github.com/mikhail-j/OpenCLBLAS.jl" style="color:rgb(17,85,204)" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fmikhail-j%2FOpenCLBLAS.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFemkEBXG0puvJHfDGZFS3Ze8GDkg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fmikhail-j%2FOpenCLBLAS.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFemkEBXG0puvJHfDGZFS3Ze8GDkg&#39;;return true;">https://github.com/mikhail-j/OpenCLBLAS.jl

This project has been tested on a NVIDIA GTX 780 Ti.

Any suggestions on what I can do to improve the state of GPU integration with Julia?