Hi all, So, GSoC 2013 is drawing to a close. I've got a tarball produced by `make dist-src` on my branch that will build and install PyViennaCL for Python 2 and Python 3 (depending on how you configure it, with Python 3 as default for now). It will also build (but not install, because it's redundant) HTML documentation, and run tests if necessary:
➜ build git:(pyviennacl) ✗ time optirun ctest --output-on-failure Test project /home/toby/src/viennacl/pyviennacl-dev/build Start 1: blas3_prod_py 1/5 Test #1: blas3_prod_py .................... Passed 104.93 sec Start 2: blas3_solve_py 2/5 Test #2: blas3_solve_py ................... Passed 4.43 sec Start 3: scalar_operations_py 3/5 Test #3: scalar_operations_py ............. Passed 0.21 sec Start 4: vector_operations_py 4/5 Test #4: vector_operations_py ............. Passed 0.59 sec Start 5: matrix_operations_py 5/5 Test #5: matrix_operations_py ............. Passed 5.34 sec 100% tests passed, 0 tests failed out of 5 Total Test time (real) = 115.52 sec optirun ctest --output-on-failure 101.18s user 11.80s system 96% cpu 1:56.59 total That's the output on my GeForce 610m system, on battery power. Now, there are a couple of quirks remaining with the vector tests (such that I had to disable the inner product test because NumPy doesn't seem to be precise enough as I've written it, and because using slice and range on vectors seems to produce a weird result for the scaled add test), but the crucial stuff passes fine. The tarball is versioned as 1.4.998-py, because I want to clean some final things up before I call it a release (at version 1.5.0), but obviously I want something tangible to submit for the end of GSoC. Here's my list of things for the first release: + Fix vector_operations test + Add __all__ and __version__, so that docs are prettier + Fix sphinx warnings + Decide on version scheme (useful to have a separate version number for the extension only, to keep track of features added and bugs fixed given a different schedule and different demands) [perhaps: ViennaCLVersion.PyViennaCLVersion, eg, 1.5.0.1] + Auto-determine Python / Boost-Python version + Debian package Most of those are pretty straightforward (maybe excepting the range/slice issue on the vector test), which I'll report more formally on in a couple of days. The important things for me, for the first release, are sorting out the automatic determination of the Python version etc, and the PyViennaCL versioning scheme. Oh, and I coded up and added tests for the elementwise exponentiation, and added support for (u)int and (u)long integer types. char and short seem more problematic, but I don't mind about those. When the outer product for vectors becomes available in the scheduler, I can easily add that, too. For now, it's still just computed the old way. So, for submission, I don't know what's best or correct. Is there somewhere I should upload this tarball? As for build dependencies, they are as before, just with the addition of "sphinx" for Python documentation. On Ubuntu, it's in the package, `python-sphinx`. The tarball is called, `ViennaCL-1.4.998-py-src.tar.gz`. Finally, the build process is RAM intensive right now. An item on my roadmap for my second release (after I've got the basic first 1.5.0 release out) is splitting up the C++ source so that it requires less than four gigabytes of memory. Which it does at the moment, with g++ 4.8 and Boost 1.53 on my system. 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