help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave and CUDA


From: mpender
Subject: Re: Octave and CUDA
Date: Sun, 12 Jan 2014 22:18:41 -0800 (PST)

I've replaced the rep->data member functions with fortran_vec() member
functions and it seems to be working.  I haven't gotten far enough into
testing to see if the change from C indexing (starting with 0) to ForTran
indexing (starting with 1) makes any difference, but at least it compiles.

I replaced this code:
double* a_data = A.rep->data; 
double* b_data = B.rep->data; 
double* c_data = C.rep->data; 

With the following:
double* a_data = A.fortran_vec(); 
double* b_data = B.fortran_vec(); 
double* c_data = C.fortran_vec();

I also found that it is necessary to spell out the name of the CUDA
libraries that will be used in the linker:
mkoctfile gpu_sgemm.cc run_sgemm.o -L/usr/local/cuda/lib64
-I/usr/local/cuda/include -lcuda -L/usr/local/cuda/lib64/cudart
-L/usr/local/cuda/lib64/cublas

Even so, the code refers to functions that apparently have been dropped from
the library, such as cudaThreadSynchronize() in run_sgemm.cu.  I've gotten
as far as attempting the example call to gnu_sgemm  at the bottom of page 5
of the article, but now Octave quits with the error "undefined symbol:
__cudaUnregisterFatBinary"  and I can't even find a reference to that in the
code.  

I'm out of ideas how to resolve this error--I have no idea what the
FatBinary is all about.  Any ideas how to move forward?



--
View this message in context: 
http://octave.1599824.n4.nabble.com/Octave-and-CUDA-tp4660998p4660999.html
Sent from the Octave - General mailing list archive at Nabble.com.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]