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.

Reply via email to