[Numpy-discussion] [OT] Starving CPUs article featured in IEEE's ComputingNow portal

Sebastian Walter sebastian.walter at gmail.com
Sun Mar 21 13:13:00 EDT 2010

On Fri, Mar 19, 2010 at 11:18 PM, David Warde-Farley <dwf at cs.toronto.edu> wrote:
> On 19-Mar-10, at 1:13 PM, Anne Archibald wrote:
>> I'm not knocking numpy; it does (almost) the best it can. (I'm not
>> sure of the optimality of the order in which ufuncs are executed; I
>> think some optimizations there are possible.) But a language designed
>> from scratch for vector calculations could certainly compile
>> expressions into a form that would save a lot of memory accesses,
>> particularly if an optimizer combined many lines of code. I've
>> actually thought about whether such a thing could be done in python; I
>> think the way to do it would be to build expression objects from
>> variable objects, then have a single "apply" function that fed values
>> in to all the variables.
> Hey Anne,
> Some folks across town from you at U de M have built just such at
> thing. :)
> http://deeplearning.net/software/theano/
> It does all that, plus automatic differentiation, detection and
> correction of numerical instabilities, etc.
> Probably the most amazing thing about it is that with recent versions,
> you basically flip a switch and it will instead use an available CUDA-
> capable Nvidia GPU instead of the CPU. I'll admit, when James Bergstra
> initially told me about this plan to make it possible to transparently
> switch to running stuff on the GPU, I thought it was so ambitious that
> it would never happen. Then it did...

The progress Theano is making is promising. I had several times a look
at theano and I like the idea of code generation,
especially the numpy support. I hope it may be useful for one of my
projects in the future.

What I couldn't figure out from the documentation is the actual
performance and ease of use.
Am I right with the assumption that you are not a Theano dev? Have you
used Theano in a project? What are you experiences?
Do you happen to know how big the computational graphs can be?
Is there the possibility to have loops and if then else statements?

Sorry for being a little offtopic here.


> David
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

More information about the NumPy-Discussion mailing list