Matthew,

I setup the timings as such:

Derivation: all the symbolic manipulation needed to get the symbolic
expressions for the ODEs.

Code Generation: The time it takes to convert the symbolic expressions into
function that can be numerically evaluated. For lamdify, this is some
argument prep and a single call the the lambdify function. For Theano, it's
also argument prep and a call to the theano_function. And for Cython it is
custom C and Cython generation from the symbolic expressions, compilation,
and importing the new module.

Integration: This is basically timing the evaluation of the numerical
function evaluation, except that I evaluate it with scipy.integrate.odeint
(my actual use case), as my goal is to reduce numerical integration times.

So, compile time plays a role in the code generation timing I have in the
graph. How would you all suggest timing these?


Jason
moorepants.info
+01 530-601-9791


On Sat, Nov 2, 2013 at 6:11 PM, Matthew Rocklin <[email protected]> wrote:

> I'm curious to know how by how much Cython outperforms Theano without
> compile time.  Jason, do you think that compile time played a significant
> role in these timings?
> On Nov 2, 2013 2:58 PM, "Jason Moore" <[email protected]> wrote:
>
>> Yes, Theano and Cython include code gen + compile time.
>>
>>
>> Jason
>> moorepants.info
>> +01 530-601-9791
>>
>>
>> On Sat, Nov 2, 2013 at 12:38 PM, Aaron Meurer <[email protected]> wrote:
>>
>>> I'm interested in the discrepancies between the Theano, Cython, and
>>> lambdify code generators.  Do Theano and Cython include compile time?
>>>
>>> Aaron Meurer
>>>
>>> On Fri, Nov 1, 2013 at 5:54 AM, Jason Moore <[email protected]>
>>> wrote:
>>> > I've been tinkering with code generation for ODE's that
>>> > sympy.physics.mechanics spits out and have some results:
>>> >
>>> > http://www.moorepants.info/blog/pydy-code-gen.html
>>> >
>>> > Several people have posted topics on this recently. We need to build
>>> in a
>>> > code generator for solving ODE's into SymPy that would play well with
>>> the
>>> > codegen and autowrap modules. I think I can use this code I wrote as a
>>> base
>>> > to start working on that but would need some help generalizing it
>>> beyond our
>>> > systems. Feedback is welcome.
>>> >
>>> > Jason
>>> > moorepants.info
>>> > +01 530-601-9791
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> Groups
>>> > "PyDy" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> an
>>> > email to [email protected].
>>> > To post to this group, send email to [email protected].
>>> > Visit this group at http://groups.google.com/group/pydy.
>>> > For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "PyDy" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/pydy.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "sympy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/sympy.
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sympy.
>
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to