You'll have to do the data copying manually through the host via viennacl::copy (for fast_copy) and switch between the decives accordingly.
Hi Dmitriy, I'll give the conversion to 64-bit integers a shot in a separate branch in the developer repository. It will take a day or two until I get to it, though. Best regards, Karli
Ah, so the suspected 32-bit overflow. :-/ If you are on Windows, you should attempt a 64-bit build in order to get 64-bit long. On Linux and MacOS 'long' is usually 64 bits anyway. It won't help with the unsigned int overflow, though. There is no easy way to get around the unsigned int issue without making a significant impact on the overall code. It's certainly doable, but will take some time. ViennaCL had primarily GPUs in mind, for which memory is limited to a few GB, thus the GPU runs out of...
Hi Dmitriy, are you referring to 10 million nonzeros, or 10 million rows and columns? Can you provide the matrix in matrix market format in order to reproduce the problem? Maybe you run out of memory? Best regards, Karli
Hi Wenyin, no, image types are still not supported and are currently not on the road map. What's your use case? Best regards, Karli
Hi, if you want to set up a CSR matrix on the GPU, then you need to populate the CSR arrays yourself (this depends a lot on the type of application you have; in some cases this is fairly straight-forward, in other cases it is more involved). Once you have the three arrays, you can pass them to a viennacl::compressed_matrix<t> by using the .set() member function.</t> Best regards, Karli
Hi Dmitriy, you can use the monitor functions for this. There are dedicated solver classes with set_monitor-routines available, e.g. https://github.com/viennacl/viennacl-dev/blob/master/viennacl/linalg/bicgstab.hpp#L537 See also iterative-custom.cpp as an example: https://github.com/viennacl/viennacl-dev/blob/master/examples/tutorial/iterative-custom.cpp Best regards, Karli
Hi, you need to compile in C++03-mode for compilation to work. Pass -std=c++03 to the compiler by setting CMAKE_CXX_FLAGS. (it's unfortunate that compilers in C++11-mode are not always able to compile C++03 code) Best regards, Karli