Hi Karli, Thanks a lot for your response and creating the bug report. I got the code to compile with your suggestion.
Thanks, Pushkar On Mar 27, 2014, at 4:31 AM, Karl Rupp <r...@iue.tuwien.ac.at> wrote: > Hi Pushkar, > > you are right, the CUDA-related initializer is accidentally missing in the > matrix<> class. I created an issue here: > https://github.com/viennacl/viennacl-dev/issues/69 > to ensure this gets fixed with the next release. > > As a fully operational alternative, please use the constructor provided > through matrix_base<> instead: > https://github.com/viennacl/viennacl-dev/blob/master/viennacl/matrix.hpp#L306 > An example usage is in the libviennacl sources, where this is used to wrap > the user-provided CUDA handle, e.g. > https://github.com/viennacl/viennacl-dev/blob/master/libviennacl/src/blas3_cuda.cu#L66 > > Basically you have to provide four arguments for each matrix dimension: > - the number of logical elements ("size") > - the row/column offset from the beginning of the buffer ("0" for a full > matrix) > - the increment ("1" for a full matrix) > - the internal length of the buffer for the dimension (same as "size" if you > don't pad your matrix to e.g. multiples of 128). > > For the code snippet you presented below, just use > viennacl::matrix<ScalarType> vcl_A(cuda_x, viennacl::CUDA_MEMORY, > 3, 0, 1, 3 > 3, 0, 1, 3); > > Keep in mind, though, that you need much larger matrix sizes to get good > performance on GPUs. > > Best regards, > Karli > > > > On 03/27/2014 08:39 AM, Pushkar Ratnalikar wrote: >> Hello All, >> >> I am getting started with ViennaCL. The PDF reference manual has an >> example in section 10.2, where, a dense-matrix is initialized with a >> data pointer. I was just trying it out with GPU memory. I get a >> compilation error. The following is the snippet. >> >> >> ScalarType* cuda_x; >> cudaMalloc(&cuda_x, 3*3*sizeof(ScalarType)); >> viennacl::matrix<ScalarType> vcl_A(cuda_x, viennacl::CUDA_MEMORY, 3, 3); >> >> >> While there is a constructor for vector object in the vector.hpp file, >> there is none in the matrix.hpp file. Am I missing something? Is there >> another class that I need to look at? >> >> >> Thanks for the help, >> Pushkar >> >> >> ------------------------------------------------------------------------------ >> >> >> >> _______________________________________________ >> ViennaCL-devel mailing list >> ViennaCL-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/viennacl-devel >> > ------------------------------------------------------------------------------ _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel