Anutosh's Blog

Week 7

Anutosh
Published: 07/10/2023

What did I do this week?

This week, I focused on completing the first part of my GSoC project. I successfully added support for symbolic expansion, differentiation, and elementary functions in Lpython. I raised pull requests #2077 and #2094, which got reviewed and merged. I also tested the functionality with sample programs and achieved the desired results.For more detailed information, y'all can visit my personal blog GSoC Week 7

What will I be doing the next week ?

In the next week, I plan to discuss the new implementation plan with my mentors. We will work on framing the ASR pass, which will consolidate the symbolic support into one file and make it compatible with any backend, including C and LLVM. I am excited to dive into this new phase of the project and start implementing the required changes.

Did I get stuck somewhere ?

I didn't encounter any major roadblocks or difficulties this week. However, I am currently working on figuring out the implementation details of the ASR pass and making the necessary C calls to symengine's C wrapper header file. It is a challenging task, but I am confident that with some research and experimentation, I will overcome any obstacles along the way.

View Blog Post

Week 6

Anutosh
Published: 07/05/2023

What did I do this week?

This week, I implemented a SymEngineQueue structure to handle the chaining of symbolic operators and executing print statements without assignment statements. I worked on a pull request that introduced the SymEngineQueue structure and got it reviewed and merged. A detailed description of my work can be found in my personal blog Week 6

 

What will I be doing the next week ?

In the next week, my plans are to get the current pull request reviewed and merged. I also aim to introduce a couple of elementary functions like abs and sin. Additionally, I may start adding some support through the LLVM backend.

Did I get stuck somewhere ?

Fortunately, I did not encounter any significant challenges or roadblocks during the week. My progress was smooth, and I was able to accomplish the planned tasks without major difficulties

View Blog Post

Week 5

Anutosh
Published: 06/29/2023

What did I do this week?

This week, I successfully merged my first two GSoC pull requests within the first four days. I also introduced additional functionality, including symbolic binary operators and a casting function. As a result, I could solve programs involving symbolic expressions and identified potential issues with print statements and operator chaining. More about this can be found in my personal blog here.

What will I be doing the next week ?


Moving into the next week, my focus will be on ensuring the generation of correct C code for scenarios involving operator chaining. Additionally, I plan to implement elementary functions like abs and sin. My goal is to open a third pull request with these changes and work towards getting it merged.

Did I get stuck somewhere ?


During my progress, I encountered a challenge with achieving compatibility for intrinsic functions that have multiple arguments, such as binary operators. I am currently working on addressing this issue and plan to provide a more detailed explanation in the upcoming week.

View Blog Post

Week 4

Anutosh
Published: 06/18/2023

What did I do this week?

This week, I made significant progress in my project. I introduced the SymbolicAdd function as a symbolic binary operator and successfully integrated it with the ASR and the C backend. In addition, I added the pi constant, expanding the range of available symbolic constants. I demonstrated the usage of these features through an example and ensured it worked as an integration test. More about my work during this week can be found in my personal blog GSoC: Blog 4

 

What will I be doing the next week ?

In the upcoming week, my plan is twofold. Firstly, I aim to finalize any minor tasks remaining on my first pull request and get it merged into the project. This includes addressing any feedback or making necessary adjustments. Secondly, I intend to open a second pull request, focusing on implementing the casting operation and introducing additional symbolic operators. Furthermore, I plan to incorporate a couple of elementary functions, such as abs and sin, expanding the capabilities of the symbolic computation framework.

Did I get stuck somewhere ?

Fortunately, I did not encounter any significant challenges or roadblocks during the week. My progress was smooth, and I was able to accomplish the planned tasks without major difficulties

View Blog Post

Week 3

Anutosh
Published: 06/12/2023

What did I do this week?

In a nutshell, I revamped our approach by transitioning from the LLVM backend to the C backend. This change unlocked numerous benefits, including simplified code generation and improved compatibility with C-based tools and libraries. I would highly recommend going through my person blog for more detailed information as to how I generated code through the C backend . A link to it can be found here GSoC: Blog 3.
 

What will I be doing the next week ?

In the upcoming week, my focus will be on generating accurate C code for symbolic addition operations, introducing additional binary operators, and implementing casting functions for primitive data types.

Did I get stuck somewhere ?

During my journey, I faced a couple of challenges, particularly with handling assignments through SymEngine's C interface. However, after careful exploration and collaboration, I found effective solutions and made necessary adjustments to overcome these obstacles. More about this can be found in my personal blog attached above !

View Blog Post