Hi John, I've been meaning to get back to work on CUBLAS.jl. I have not found the time since the academic quarter started. The CUBLAS.jl code requires my fork of CUDArt.jl:
https://github.com/nwh/CUDArt.jl Give that a try. I have not looked at it for some weeks now. Cheers, Nick On Thursday, November 13, 2014 12:46:38 AM UTC-8, John Smith wrote: > > Thanks for your inputs. Not much luck with my first attempts at CUBLAS.jl > (some errors), but this is exactly what I am looking for (basically > Python's cudamat ability to multiply two matrices on GPU and send back to > the host). > > Regarding recompilation, I have tried linking explicitly to the available > "/usr/local/cuda-6.5/lib64/libnvblas.so", in Make.inc: > > LIBBLAS = -L/usr/local/cuda-6.5/lib64 -lnvblas > LIBBLASNAME = libnvblas > > It passes the test on BLAS, but fails with LAPACK: > > checking for sgemm_ in -L/usr/local/cuda-6.5/lib64 -lnvblas... yes > checking for cheev_ in -L/usr/local/cuda-6.5/lib64 -lnvblas... no > ... > make: *** [release] Error 2 > > It is a shame that it is hard to compile Julia with BLAS and without > LAPACK, or with the BLAS subset of BLAS changed to that of cuBLAS while > falling back to the CPU LAPACK because Julia has a lot of other goodies and > my applications just need matrix products, while the compilation gets stuck > with cheev_, which is some specialized eigenvalue decomposition I do not > need at all. It seems this is a problem experienced by Elliot Saba as well. > > BTW, in Octave it is easy to change BLAS to libnvblas.so while leaving the > ATLAS part from the same libopenblas.so (see the first part of my post, > except that I forgot to mention that one must place nvblas.conf, one can > find more details at http://www.tuicool.com/articles/mQb6bu which seems > to be quite useful), so the "old wheel" Octave is in a way much closer to > "hybrid computing", and I wish Julia had the same functionality (there > would be no need for any external libs and extra syntax in order to > multiply two matrices on GPU as in CUBLAS.jl (if you get it working), in > Octave you run the same code, which saves a lot of time and debugging). > > On Thursday, November 13, 2014 12:47:04 AM UTC+2, Elliot Saba wrote: >> >> When compiling your Julia, you need to set the following make variables: >> >> LIBBLAS=-lnvblas >> LIBLAPACK=-lnvblas >> USE_SYSTEM_BLAS=1 >> USE_SYSTEM_LAPACK=1 >> >> I'm assuming that libnvblas provides lapack as well. If it doesn't, you >> may run into issues because the LAPACK library needs access to BLAS >> functionality itself. >> -E >> >> >> On Wed, Nov 12, 2014 at 1:55 PM, cdm <[email protected]> wrote: >> >>> >>> this may be helpful ... >>> >>> https://github.com/nwh/CUBLAS.jl >>> >>> >>> i have not tried adding >>> this package and have >>> no experience with it. >>> >>> good luck, >>> >>> cdm >>> >>> >>> >>> On Wednesday, November 12, 2014 1:35:20 PM UTC-8, John Smith wrote: >>>> >>>> >>>> >>>> Hello, >>>> >>>> Does anybody out there know how to compile Julia with cuBLAS >>>> replacement for BLAS? cuBLAS is not open source but it is freely available >>>> since CUDA 6.0. >>>> >>> >>
