The expiation of most of the labels can be found in the paper Fast Numerical Evaluation for Symbolic Expressions in Java (https://www.researchgate.net/publication/279179451_Fast_Numerical_Evaluation_for_Symbolic_Expressions_in_Java).
For the SMC_xxx in the picture, they are the similar things but implemented in Python(SymPy+LLVMPY+LLVM) and C++ (GiNaC+LLVM). C++_O3 is the pure C++ implementation of the benchmark. On Wednesday, April 20, 2016 at 1:45:37 PM UTC-7, Jason Moore wrote: > > Can you explain the graphs you attached. What do all the labels mean? Why > would lambdify by faster than ufuncify? > > > Jason > moorepants.info > +01 530-601-9791 > > On Wed, Apr 20, 2016 at 1:42 PM, Jason Moore <[email protected] > <javascript:>> wrote: > >> This sounds great. Note that we have recently merged some code that uses >> llvm to automatically JIT sympy expressions. Check out the master branch >> and search for the relevant pull requests. Maybe there is some overlap with >> your project. >> >> >> Jason >> moorepants.info >> +01 530-601-9791 >> >> On Wed, Apr 20, 2016 at 11:29 AM, yueming liu <[email protected] >> <javascript:>> wrote: >> >>> I am not sure if it is too late to contribute to SymPy and the paper. >>> I've been developing a private project called sympy-llvm which uses >>> just-in-time (JIT) compilation technique to compile SymPy expressions to >>> native machine code in order to speedup the numerical evaluation of the >>> expressions for numerical computation purpose. This is similar to the >>> existing functions in SymPy like subs/evalf, lambdify, ufuncify and Theano >>> (see http://docs.sympy.org/latest/modules/numeric-computation.html). >>> The advantage of sympy-llvm is that it is faster than all the existing >>> methods in the sense of compilation time and numerical evaluation time. >>> Another advantage is that no FORTRAN or C/C++ source code generation >>> involved. Runnable machine code is generated in memory using LLVM >>> (Attached figures show some comparison benchmarks. SMC_py stands for >>> sympy-llvm implementation). Example applications are implemented such as >>> the numerical computation for modals in PyDy. I'd like to make sympy-llvm >>> public and integrate into SymPy as an optional component for numerical >>> computation if possible. >>> >>> As you all may know that the projects like Google TensorFlow and Theano >>> are both using symbolic-numerical way to provide human friendly language >>> interface and fast numerical computation. The CASs projects developed a >>> couple of decades ago like Maple, Maxima, Mathematica, Reduce etc ( >>> https://en.wikipedia.org/wiki/List_of_computer_algebra_systems) none of >>> them have 'in-memory' JIT complication functions to bridge the gap between >>> symbolic and numeric computations. I believe sympy-llvm as a component of >>> SymPy will be a great enhancement of SymPy in numerical computation field. >>> >>> -Yueming Liu >>> >>> >>> On Tuesday, April 19, 2016 at 3:53:13 PM UTC-7, Ondřej Čertík wrote: >>>> >>>> Hi, >>>> >>>> I would like to invite anybody to contribute to our paper about SymPy >>>> and become an author. We use the authorship criteria that are written >>>> in our README: >>>> >>>> >>>> https://github.com/sympy/sympy-paper/blob/2a93d84a6f3447f8e15e24f02cedb6c27c299abd/README.md#authorship-criteria >>>> >>>> >>>> In other words, to satisfy 1), you must contribute to sympy in some >>>> way (e.g. some good patch that is more than, say, fixing a typo in >>>> documentation), to satisfy 2), get involved with the development of >>>> the sympy-paper repository: https://github.com/sympy/sympy-paper, >>>> submit a patch there, write a section, or just review PRs. Finally, >>>> you must also be willing to satisfy 3) and 4). Hopefully this should >>>> be pretty clear, but if you have any questions about authorship, >>>> please let me or Aaron know. >>>> >>>> Once this paper is accepted, we will probably put it into the SymPy's >>>> README for people to cite, so I encourage everyone to get involved. >>>> >>>> Ondrej >>>> >>> -- >>> 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] <javascript:>. >>> To post to this group, send email to [email protected] >>> <javascript:>. >>> Visit this group at https://groups.google.com/group/sympy. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sympy/af0be361-2f60-4c4e-878c-6a264289ba50%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/sympy/af0be361-2f60-4c4e-878c-6a264289ba50%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> > -- 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 https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/bade1cb5-bf1e-4ac6-b01a-0a4b9aaa6c05%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
