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

Reply via email to