Weekly check-in #7
RobertoRosmaninho
Published: 07/20/2021
What did I do this week?
This week I focused on preparing the PR #12 to be merged into the llvm-backend branch from Quansight-Labs, and finally, it was accepted today! Mainly, I fixed and refactored some pieces of code this week according to my mentor's request, who has been very helpful and attentive!
What is coming up?
Since many operations already had been implemented, this week, I will focus on implementing the Allocate Op, which I already tried a few weeks ago without success.
Did I get stuck anywhere?
No!
View Blog Post
Weekly check-in #6
RobertoRosmaninho
Published: 07/15/2021
What did I do this week?
This week I focused on creating new tests with sparse and dense tensors. At first, I was hoping to have an opportunity to build and test the implementation of Switch, Case, and Call operations. Instead of implement support for these operations, I had to fix bugs in many others like OR, AND, FOR, IFTHENELSE, NEQ, EQ, LT, GT, etc. I just implemented the support for Cast and Case - to nested IfThenElse.
What is coming up?
I'll prepare a PR to be merged into the llvm-backend branch from Quansight-Labs to finish the first evaluation!
Did I get stuck anywhere?
I couldn't create the support that I was looking for, but I had the opportunity to improve my implementation anyway!
View Blog Post
Weekly check-in #5
RobertoRosmaninho
Published: 07/06/2021
What did I do this week?
This week I focused on implementing comparison and logic operators like BitAnd, BitOr, And, Or, Eq, Neq, GT, LT, GTE, and LTE. These features were previously set to be implemented at weeks #6 and #7, but it was necessary right now due to its use in conditional operations.
What is coming up?
The next week I'll continue the implementation of conditional branches with Switch Case. Also, I'll implement the support for the Call Function operation.
Did I get stuck anywhere?
Yes! As a consequence of the operation that I'm using to test the support for IfThenElse, I got stuck on Allocate and Assign implementation.
View Blog Post
Weekly check-in #4
RobertoRosmaninho
Published: 06/29/2021
What did I do this week?
This week I focused on implementing the IfThenElse support. To do it, I had to use the first test, "A(i) = B(i)", but this time with Sparse tensors. As a consequence of this implementation, I had to build support for Indices Property.
What is coming up?
The next week I'll implement some binary operations and comparison operators.
Did I get stuck anywhere?
Yes, I had some difficulty implementing Indices properties, but I quickly solved it with the help of my mentor Guilherme.
View Blog Post
Weekly check-in #3
RobertoRosmaninho
Published: 06/22/2021
What did I do this week?
This week I focused on testing compiler and run simple programs using the LLVM backend already implemented. I had to Generate the LLVM IR, compile it to assembly, and then use this code in a C program, where I could finally test the implementation. When I executed this test, I realize that the basic blocks of the 'for' loop didn't generate correctly. A second problem emerges with Guilherme's help: a bitwise instruction was missing on a tensor declaration producing errors on assignments. After fixing these bugs a PR was sent by Guilherme and the simple example "A(i) = B(i)" was finally compiling and executing correctly. For now, the "for" loop the way it should.
What is coming up?
This week I'll test some complex examples and investigate if there is any problem with the translation of conditional instructions to LLVM IR.
Did I get stuck anywhere?
Yes, I had some issues executing the code, but mainly my problem was to find what was wrong in the tensor assignment, but these doubts were solved with the precious help of my mentor.
View Blog Post