As far as I know, nobody has tried this before.  It looks like cuBLAS does
not 
conform<http://docs.nvidia.com/cuda/cublas/#cublas-level-2-function-reference>to
the standard BLAS API, (e.g. their functions, instead of being named
something like dgemv() are named cublasDgemv(), and take two extra
parameters at the beginning) so you won't be able to just plug the cuBLAS
shared library into Julia have have it "work".  You will need to write some
kind of wrapper library around cuBLAS that does any special
initialization/cleanup that cuBLAS needs, as well as mapping "standard"
BLAS library names to cuBLAS library names.

A project similar in spirit was the libgfortblas
library<https://github.com/JuliaLang/julia/blob/master/deps/gfortblas.c>that
Jameson wrote, to map our C calls to the cblas versions of Apple's
BLAS libraries.  Looking at that could provide some inspiration for this
project, as it does pretty much everything I outlined above, except that
cuBLAS will (of course) require more work, as you'll need to wrap basically
the entire library instead of just a few functions.


On Wed, Feb 12, 2014 at 9:53 AM, Pedro Rafael <
[email protected]> wrote:

> Many thanks Iain Dunning. You have been very enlightening. Can we link the
> library cublas Julia?
>
> cuBLAS: https://developer.nvidia.com/cuBLAS
>
>
> Hugs,
> Pedro Rafael.
>
>
> 2014-02-12 14:28 GMT-03:00 Iain Dunning <[email protected]>:
>
> 1. I think the default is to use OpenBLAS on all platforms, but this can
>> be swapped out if you'd like to use a different BLAS implementation.
>> 2. I believe it already is. The core language certainly is, the rest is
>> just a package ecosystem issue. We have database packages, graphics
>> packages, web/internet packages, etc. - a good sign that it is
>> "general-purpose".
>> 3. I imagine use of the GPU in core Julia is a long way off or ever - but
>> I'm sure there will be more and more packages that do clever things in this
>> area. There certainly is a lot of interest in this area. We have CUDA and
>> OpenCL packages for now, at least.
>>
>>
>> On Wednesday, February 12, 2014 12:16:05 PM UTC-5, Pedro Rafael wrote:
>>>
>>> [1] The installation of Julia from the compilation of the source code
>>> makes use of OpenBlas library?
>>> [2] Julia will also be a general-purpose language like Python?
>>> [3] The use of GPU in the future will be native?
>>>
>>> Regards,
>>> Pedro Rafael Diniz Marinho.
>>>
>>
>

Reply via email to