Hi Toby, > so there's one last thing before I can get a release out that's been > bugging me for the last couple of days: I can't seem to get the > iterative solvers to work, for either dense or sparse matrices. I've > tried an implementation of the 'mat65k.mtx' example, I've tried using > the identity matrix, and for anything I try, I get 0 iterations and a > zero result vector. The direct solvers work fine. Any ideas?
I'm on it. A couple of notes on the setup: * The manual checkouts of external/boost_numpy and external/viennacl-dev don't work for me (git 1.7.9.5). Is this supposed to be automatic? If not, there should be instructions in the README. * When building, I get the following warning on GCC 4.6: cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] * Also I see -UNDEBUG passed to the compiler. Is this intentional, or a typo? * Maybe the following is the reason for the iterative solver failure (at least it breaks compilation on my GCC-4.6 machine): /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:24:23: error: ISO C++ forbids initialization of member ‘_places’ [-fpermissive] /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:24:23: error: making ‘_places’ static [-fpermissive] /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:24:23: error: invalid in-class initialization of static data member of non-integral type ‘boost::python::list*’ /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘void cpu_compressed_matrix_wrapper<ScalarType>::update_places()’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:37:9: error: ‘_places’ was not declared in this scope /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:40:5: error: ‘_places’ was not declared in this scope /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘boost::python::list cpu_compressed_matrix_wrapper<ScalarType>::places()’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:62:13: error: ‘_places’ was not declared in this scope /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘viennacl::vcl_size_t cpu_compressed_matrix_wrapper<ScalarType>::nnz()’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:70:21: error: ‘_places’ was not declared in this scope /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘void cpu_compressed_matrix_wrapper<ScalarType>::resize(viennacl::vcl_size_t, viennacl::vcl_size_t)’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:189:9: error: ‘_places’ was not declared in this scope /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:192:5: error: ‘_places’ was not declared in this scope /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘boost::python::list cpu_compressed_matrix_wrapper<ScalarType>::places() [with ScalarType = double]’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:63:3: warning: control reaches end of non-void function [-Wreturn-type] /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘viennacl::vcl_size_t cpu_compressed_matrix_wrapper<ScalarType>::nnz() [with ScalarType = double, viennacl::vcl_size_t = long unsigned int]’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:71:3: warning: control reaches end of non-void function [-Wreturn-type] /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘boost::python::list cpu_compressed_matrix_wrapper<ScalarType>::places() [with ScalarType = float]’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:63:3: warning: control reaches end of non-void function [-Wreturn-type] /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h: In member function ‘viennacl::vcl_size_t cpu_compressed_matrix_wrapper<ScalarType>::nnz() [with ScalarType = float, viennacl::vcl_size_t = long unsigned int]’: /home/rupp/development/ViennaCL/pyviennacl/src/_viennacl/sparse_matrix.h:71:3: warning: control reaches end of non-void function [-Wreturn-type] > If you want to test for yourself (please do!), just grab my pyviennacl > branch[1], build as usual, and then use a command like the following > (you don't need to `make install`): Please let me know as soon as the above is fixed, I'll keep investigating then. Best regards, Karli ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel