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?

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 [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/ac891a0e-4a37-4bdc-bc51-79a8beacf9df%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to