Hi Toby, >> 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!
As long as you're a student, you're eligible to apply for GSoC. ;-) However, I don't give any guarantees, your application will be treated equally. You certainly have an advantage with respect to how things work, but no other student should be excluded upfront. >> 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. Yep, that's definitely a nice-to-have! > 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+). Right, this is reasonable for a spring/summer project. > 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. I'm still convinced that libviennacl is the better choice once it is reasonably feature-complete. It will avoid quite a bunch of hassle when dealing with a C++-ABI as well as Boost. > 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! Fair enough. Python is just a too vibrant ecosystem, so we should dedicate an appropriate amount of attention. Best regards, Karli ------------------------------------------------------------------------------ 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