The 10th week was dedicated to reading and understanding about co-iteration and implementing the API for merge lattices and emit intersection and union merges.
What I did this week
I spent the first half of the week reading and understanding iteration graphs and merge lattices so that I can implement codegen for emitting loops to iterate over the joint iteration space of two or more levels. I also created a PR so that I could communicate efficiently with my mentor on the details. I also got the tensor algebra compiler paper from my mentor so that I have all the details to work with AND and OR operators for an intersection and union merge respectively.
What is coming up next
I aim to complete the co-iteration API using the inputs given by my mentor and get it merged in the next week. It will be an important week as the codegen algorithm largely depends on the efficiency of the co-iter API. This has also been one of the hardest phases of the project for me as I need a thorough understanding of the concept to implement in C++.
Did I get stuck anywhere
I did get stuck in the middle of the week as I felt I couldn't proceed further without clearly understanding the concept of merge lattices. Therefore, it was necessary to set up an impromptu meet with my mentor to clear a few things up before I could proceed.