Hey all, I get a lot of errors like the below when I enable T = char (or other integer numeric types) in PyViennaCL. The error always comes down to the "request for member 'handle' in 'val'". Previously, it was in the context of arithmetical functions like addition or element_pow, but here it seems to be in the context of the copy constructor. I'm not sure why; the code in question is:
468 uint32_t s = (uint32_t) array.shape(0); 469 470 vcl::vector<SCALARTYPE> *v = new vcl::vector<SCALARTYPE>(s); And the compile error: In file included from /home/toby/src/viennacl/pyviennacl-dev/viennacl/ocl/device.hpp:36:0, from /home/toby/src/viennacl/pyviennacl-dev/viennacl/ocl/kernel.hpp:35, from /home/toby/src/viennacl/pyviennacl-dev/viennacl/ocl/context.hpp:36, from /home/toby/src/viennacl/pyviennacl-dev/viennacl/ocl/backend.hpp:26, from /home/toby/src/viennacl/pyviennacl-dev/viennacl/backend/opencl.hpp:28, from /home/toby/src/viennacl/pyviennacl-dev/viennacl/backend/mem_handle.hpp:32, from /home/toby/src/viennacl/pyviennacl-dev/viennacl/backend/memory.hpp:28, from /home/toby/src/viennacl/pyviennacl-dev/pyviennacl/src/_viennacl.cpp:18: /home/toby/src/viennacl/pyviennacl-dev/viennacl/ocl/kernel.hpp: In instantiation of ‘void viennacl::ocl::kernel::arg(unsigned int, const VCL_TYPE&) [with VCL_TYPE = signed char]’: /home/toby/src/viennacl/pyviennacl-dev/viennacl/ocl/kernel.hpp:274:70: required from ‘viennacl::ocl::kernel& viennacl::ocl::kernel::operator()(const T0&, const T1&, const T2&, const T3&, const T4&, const T5&) [with T0 = viennacl::ocl::handle<_cl_mem*>; T1 = unsigned int; T2 = unsigned int; T3 = unsigned int; T4 = unsigned int; T5 = signed char]’ /home/toby/src/viennacl/pyviennacl-dev/viennacl/linalg/opencl/vector_operations.hpp:250:76: required from ‘void viennacl::linalg::opencl::vector_assign(viennacl::vector_base<T>&, const T&, bool) [with T = char]’ /home/toby/src/viennacl/pyviennacl-dev/viennacl/linalg/vector_operations.hpp:167:83: required from ‘void viennacl::linalg::vector_assign(viennacl::vector_base<T>&, const T&, bool) [with T = char]’ /home/toby/src/viennacl/pyviennacl-dev/viennacl/vector.hpp:883:73: required from ‘void viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::clear() [with SCALARTYPE = char; SizeType = long unsigned int; DistanceType = long int]’ /home/toby/src/viennacl/pyviennacl-dev/viennacl/vector.hpp:398:17: required from ‘viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::vector_base(viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::size_type, viennacl::context) [with SCALARTYPE = char; SizeType = long unsigned int; DistanceType = long int; viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::size_type = long unsigned int]’ /home/toby/src/viennacl/pyviennacl-dev/viennacl/vector.hpp:1013:61: required from ‘viennacl::vector<SCALARTYPE, ALIGNMENT>::vector(viennacl::vector<SCALARTYPE, ALIGNMENT>::size_type) [with SCALARTYPE = char; unsigned int ALIGNMENT = 1u; viennacl::vector<SCALARTYPE, ALIGNMENT>::size_type = long unsigned int]’ /home/toby/src/viennacl/pyviennacl-dev/pyviennacl/src/_viennacl.cpp:470:61: required from ‘boost::shared_ptr<viennacl::vector<T> > vcl_vector_init_ndarray(const boost::numpy::ndarray&) [with SCALARTYPE = char]’ /home/toby/src/viennacl/pyviennacl-dev/pyviennacl/src/_viennacl.cpp:1295:3: required from here /home/toby/src/viennacl/pyviennacl-dev/viennacl/ocl/kernel.hpp:192:16: error: request for member ‘handle’ in ‘val’, which is of non-class type ‘const signed char’ assert(&val.handle().opencl_handle().context() == &handle_.context() && bool("Kernel and memory object not in the same context!")); I wanted to enable integer types for pencils-down, hoping that all I'd have to do is add a macro describing the class, but it might be more than I can fit in. Best, Toby ------------------------------------------------------------------------------ LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel