Hi all, So I've uploaded PyViennaCL packages which don't have the shared_ptr troubles that my previous ones did (in the end, I split what used to be a single Python extension into many smaller extensions under one package namespace). These packages seem mostly to work, and (for instance), pass my blas3_prod and blas3_solve tests. Try them out, if you can!
There still seems to be something weird going on, though: $ python3 tests/pyviennacl/vector_operations.py ---------------------------------------------- ---------------------------------------------- ## Test :: vector operations ---------------------------------------------- ---------------------------------------------- *** Using float numeric type *** # Testing setup: eps: 0.001 Now using A=vector, B=vector, C=vector Test: initialisation of vector with CPU scalar passed Test: initialisation of vector with ndarray passed Test: initialisation of vector with Vector passed Test: negation passed Test: in-place scale (multiplication) passed Test: in-place add passed ERROR 2013-12-21 22:55:43,949 pyviennacl.pycore 2759 execute EXCEPTION EXECUTING: InplaceAdd(Vector, Mul(Vector, Scalar)=>Vector)=>Vector Traceback (most recent call last): File "tests/pyviennacl/vector_operations.py", line 458, in <module> sys.exit(test()) File "tests/pyviennacl/vector_operations.py", line 444, in test test_vector_slice(run_test, epsilon, p.float32, 11) File "/home/toby/src/viennacl/pyviennacl-dev/tests/pyviennacl/test_common.py", line 124, in test_vector_slice dtype = dtype) File "tests/pyviennacl/vector_operations.py", line 109, in run_test vcl_A += alpha * vcl_B File "/usr/lib/python3/dist-packages/pyviennacl/pycore.py", line 530, in __iadd__ op.execute() File "/usr/lib/python3/dist-packages/pyviennacl/pycore.py", line 2101, in execute self._result = s.execute() File "/usr/lib/python3/dist-packages/pyviennacl/pycore.py", line 2757, in execute self.vcl_statement.execute() RuntimeError: ViennaCL: Internal memory error: unknown memory handle (memory_read)! This seems to be reproducible where something like this happens: $ python3 Python 3.3.3 (default, Dec 8 2013, 15:11:36) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import pyviennacl as p >>> x = p.Vector(5, 2.0, dtype=p.float32) >>> y = p.Vector(5, 0.3, dtype=p.float32) >>> a = p.Scalar(p.float32(2.0)) >>> b = p.HostScalar(p.float32(5.0)) >>> x *= a ERROR 2013-12-21 23:13:14,927 pyviennacl.pycore 2759 execute EXCEPTION EXECUTING: Assign(Vector, Mul(Vector, Scalar)=>Vector)=>NoResult Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3/dist-packages/pyviennacl/pycore.py", line 571, in __imul__ return op.result File "/usr/lib/python3/dist-packages/pyviennacl/pycore.py", line 2090, in result self.execute() File "/usr/lib/python3/dist-packages/pyviennacl/pycore.py", line 2101, in execute self._result = s.execute() File "/usr/lib/python3/dist-packages/pyviennacl/pycore.py", line 2757, in execute self.vcl_statement.execute() RuntimeError: ViennaCL: Internal memory error: unknown memory handle (memory_read)! >>> x.value array([ 2., 2., 2., 2., 2.], dtype=float32) >>> y *= b >>> y.value array([ 1.5, 1.5, 1.5, 1.5, 1.5], dtype=float32) I haven't yet written up a pure C++ test case, but it seems to be the case that performing arithmetic operations via the scheduler using device scalars on (device) vectors and matrices results in memory errors; if this isn't because of my code reorganisation, then it's a regression. Unless someone beats me to it, I'll check the C++ case sometime tomorrow or the day after. Operations like this via the scheduler work fine right now: >>> x += y >>> x.value array([ 3.5, 3.5, 3.5, 3.5, 3.5], dtype=float32) Best, Toby ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel