My name is Konstantin Sidorov, and I am a graduate student in Mathematics at Moscow Institute of Physics and Technology.
I would like to work on a project “Machine learning and compiler optimizations: using inter-procedural analysis to select optimizations” during the Google Summer of Code 2021.
I have an extensive background relevant to this project - in particular:
- I have already participated in GSoC before in 2017 with mlpack organization on the project “Augmented RNNs”: https://summerofcode.withgoogle.com/archive/2017/projects/4583913502539776/
- In 2019 I have graduated from the Yandex School of Data Analysis — a two-year program in Data Analysis by Yandex (the leading Russian search engine); more info on the curriculum could be also found at https://yandexdataschool.com/.
- I have also been working as a software engineer at Adeptik from July 2018 to date, where I have predominantly worked on projects on applied combinatorial optimization problems, such as vehicle-routing problems or supply chain modeling. In particular, I have had experience with both metaheuristic algorithms (e.g., local search or genetic algorithms) and more “traditional” mathematical modeling (e.g., linear programming or constraint programming).
I would like to discuss this project in more detail. While it is hard to discuss any kind of exact plan at this stage, I already have two questions concerning this project:
(1) I have set up an LLVM dev environment, but I am unsure what to do next. Could you advise me on any simple (and, preferably, relevant) tasks to work on?
(2) Could you suggest any learning materials to improve the understanding of “low-level” concepts? (E.g., CPU concepts such as caching and SIMD)