Hi Karl, Karl Rupp <r...@iue.tuwien.ac.at> writes: > the Google Summer of Code [1] is approaching. It attracted some great > contributors in the past, most notably Philippe and Toby, and I hope > there's more to come. So, guys, please provide your project ideas.
I have a couple of inter-related things I'd like to work on, to make PyViennaCL a really compelling piece of software -- am I allowed to take part as a student again? I think I am eligible in Google's eyes, and the stipend would really help me to dedicate myself to coding again! > Second, I think PyViennaCL will benefit from another push. Toby, how's > your availability for a release in February? I have more time now for > assisting you with the final polishing. I'm definitely aiming for a release in the next couple of weeks. This weekend is my birthday, so I'm probably looking at some time around the next weekend (14th-17th ish). My list of features to complete in PyViennaCL (as separate from ViennaCL itself) is centered around interoperability and further integration with the ecosystem. For instance, I want to enable interaction with PyOpenCL and PyCUDA (as discussed before), which would entail providing access to the underlying memory buffers, contexts, programs, etc. I also need to add simple (for the user!) support for SciPy sparse matrix types. Then, with these two features I'd much more easily be able to work on better integration and competition with systems like Theano. Also, having PyCUDA support will require another bit of work: abstracting PyViennaCL as it currently is away from the default OpenCL compute backend. I need to add selection of the backend platform and parameters, and I want to make it easy to use heterogeneous and distributed systems, but that's probably further off (ie, ViennaCL 1.6+). In the same "making-high-performance-easy" vein, I want to enable using PyViennaCL with PyPy (a performance-oriented implementation of Python). This throws up another hurdle, because boost::python support for PyPy is not complete, and where it works, isn't very well maintained. This needs some investigation, but I get the impression that in a couple of years, although boost::python is elegant, because Python developers don't use C++, it might start to bit-rot. One solution might be to start using libviennacl, but that seems a shame, because I like using C++, and because I also had a vague idea of adding in support for Philippe's unconstrained nonlinear optimisation library. So there's plenty of stuff to do in PyViennaCL itself.. but it mainly follows directly from two pieces of structural work: firstly, abstracting away a bit from the back-end (ViennaCL already does this neatly, so that's not hard); secondly, thinking about boost::python, libviennacl and pypy. Neither is particularly demanding, but they probably need doing. > Something rather generic is the "implementation of algorithms" such as > additional iterative solvers, etc. Now as the standard matrix and vector > operations are pretty mature and support multiple backends, this should > be a pretty fun piece of work :-) That does sound fun (if a little generic!) -- my intention has always been, once PyViennaCL is mostly complete, to do more work on the ViennaCL 'core', because that's where the mathematically interesting stuff really happens, and where any work can benefit most people. > @Philippe, Toby: How about mentoring this year? That's a tough call. I'd rather apply as a student again, because that would give me the financial freedom to do some cool work.. I would like to mentor one year soon, but I feel like at the moment I have unfinished business! Cheers, Toby ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel