Description
When I try to do this I am getting :
: /usr/local/include/viennacl/matrix.hpp:958:34: error: no member named 'size1' in 'Eigen::Matrix<float, -1, -1, 1, -1, -1>' gpu_matrix.resize(cpu_matrix.size1(), ~~~~~~~~~~ ^ /home/naths/office/acquisition_pipeline/src/Libraries/GPU/UnitTest/GPU_EuclideanDistanceTest.cpp:101:12: note: in instantiation of function template specialization 'viennacl::copy<Eigen::Matrix<float, -1, -1, 1, -1, -1>, float, viennacl::row_major, 1>' requested here viennacl::copy(temp, vcl_X);
In addition the file https://github.com/viennacl/viennacl-dev/blob/master/viennacl/matrix.hpp (The problem is coming here).
I have a concern wherein the entire host data is copied to an intermediate gpu_matrix and then is passed to the gpu. Is there any reason for this?
For example, I can create a
cl::Buffer and directly copy the host memory to the gpu and wrap the cl::Buffer as a vcl_matrix. Would that be sensible?