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

Reply via email to