I'm not familiar with a lot of the details you are mentioning here. Aaron is more familiar with what he's written up there. One response below.
Jason moorepants.info +01 530-601-9791 On Thu, Mar 3, 2016 at 7:57 AM, Tanu Hari Dixit <tokencol...@gmail.com> wrote: > Thank you, Jason, for the reply. > > I went through the notes put up on the wiki and the optimizations that > are required through code generation > <https://github.com/sympy/sympy/wiki/Code-Generation-Optimizations>. I > also looked through the pull request #10486 > <https://github.com/sympy/sympy/pull/10486>. > I had a few questions regarding what needs to be done. I'll be glad if you > answer them. > > 1) exp2 is used in pyne > <https://github.com/pyne/pyne/blob/develop/src/decaygen.py> because > probably radioactive decay analysis requires a lot of exponentiation. Why > would a general code generator generate code with exp2 (unless the user > specifies it or we need to calculate powers of 2 or we have guessed somehow > that the exponentiation is a large one)? > > 2)Do we need to make a specialized polynomial evaluator in C/other > languages that uses horner? Will we be processing polynomials as strings > initially? I found a few references for this---- > > i) http://www.cs.berkeley.edu/~fateman/papers/polyval.pdf > ii) http://cgpe.gforge.inria.fr/index.php?page=home > iii) https://hal.archives-ouvertes.fr/ensl-00531721/document > > Am I in the right direction? > > 3)I looked at this: https://github.com/SkidanovAlex/interpreter and I > tried to understand the fast-matrix exponentiation algorithm. I want to try > to implement this. Please provide me with a starting point. In other words, > I want to know about a few examples where implementing this would be worthy > so that I know where the code should be added. > > 4)I tried to look into the code of some of the sources (Stuff outside of > SymPy) available in the notes on the wiki. I found that pycodeexport > <https://github.com/bjodah/pycodeexport> uses Mako as the templating > engine and PyNE uses jinja2. You mentioned that Aaron might be exploring > different ideas (other than templating). What are those? > The methods in PR #10486 are in line to avoid using templates. There will be objects for all types of common structures in programming languages. > 5)Aaron has added the newly built Assignment and aug_assign and removed > datatype and variables ( > https://github.com/asmeurer/sympy/commit/bd0a5e788fa423f1ebf0ef91455e719a4b65803e) > What is the alternative to datatype and variables? > > Thank you, > Tanu Hari Dixit. > > On Wednesday, March 2, 2016 at 11:55:21 AM UTC+5:30, Tanu Hari Dixit > wrote: > >> Hello all, >> >> I am a GSoC aspirant and I want to work on the Code Generation module >> <https://github.com/sympy/sympy/wiki/gsoc-2016-ideas#code-generation> as >> a project this year. >> >> I had a few questions in mind and needed help regarding them. >> >> 1) It is mentioned on the ideas page that the codegen module needs an >> overhaul. What kind of an overhaul would that be? Is the change needed in >> the API or friendly functions: codegen and make_routine? >> >> 2) I read this >> <https://groups.google.com/forum/#!topic/sympy/omYuHN68-_U> discussion >> and construed that we need to make efforts to include CSE in the codegen >> module and we are aiming at making an optimizing compiler. >> This optimizing compiler should be domain unspecific and work for most >> general cases. Bjorn Dahlgren suggested that we should be using a >> templating engine. Is this the work that is needed to be done in this >> project? >> >> 3) I read this blog post >> <http://www.moorepants.info/blog/fast-matrix-eval.html> by Jason K. >> Moore where he talked about compiler optimizations like loop unrolling. Is >> this project is about finding balance between what the code generator >> should do and what the compiler should do? This blog post is a year old. >> Has this already been implemented? >> >> 4) What is the magnitude and nature of work that is incorporated in this >> idea? Is there some ongoing work that I should be aware of? >> >> 5) Please suggest some reading sources, so that I am able to take this up. >> >> Thank you, >> Tanu Hari Dixit. >> > -- > 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 sympy+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > 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/ac891a0e-4a37-4bdc-bc51-79a8beacf9df%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/ac891a0e-4a37-4bdc-bc51-79a8beacf9df%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 sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. 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/CAP7f1AjCUB-CQrNAV2hn30ue5LeDcO3EzVBGUxgEmAtcY3kLHg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.