One last thing before I go to bed for the night: I did some brief benchmarks using the following function:
>>> def dobench(size): ... v = p.Vector(size, 0.1) ... w = p.Vector(size, 0.2) ... p.Statement(v+w).execute() ... p.backend_finish() ... t1 = time.time() ... for n in range(10000): ... p.Statement(v+w).execute() ... p.backend_finish() ... t2 = time.time() ... return (t2 - t1) (where I have "import pyviennacl as p"). On my GeForce 610M, I get the following results: dobench(2**1) 0.6708228588104248 dobench(2**2) 0.6711068153381348 dobench(2**3) 0.6693098545074463 dobench(2**4) 0.6727585792541504 dobench(2**5) 0.6788749694824219 dobench(2**6) 0.6779205799102783 dobench(2**7) 0.6860549449920654 dobench(2**8) 0.7044177055358887 dobench(2**9) 0.7262992858886719 dobench(2**10) 0.7909643650054932 dobench(2**11) 0.9179358482360840 dobench(2**12) 1.2310407161712646 dobench(2**13) 1.7771134376525880 dobench(2**14) 2.2906632423400880 dobench(2**15) 3.8429172039031982 dobench(2**16) 7.0529527664184570 dobench(2**17) 15.2666733264923100 dobench(2**18) 28.5626835823059080 dobench(2**19) 54.6134884357452400 Units are time in seconds (for 10,000 statement constructions and executions). If I read my old graph (from my proposal[1]) correctly, this is about the same shape and absolute performance that I got with my "naive" implementation, which suggests that the limit here is my hardware, not my code, which is good. Of course, I haven't tested more complex expressions yet. [1] https://github.com/tsmithe/viennacl-dev/blob/pyviennacl/GSoC/pyviennacl-puzzle.pdf Best, Toby ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel