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

Reply via email to