[llvm-dev] [GSoC] Machine learning and compiler optimizations: using inter-procedural analysis to select optimizations

Stefanos Baziotis via llvm-dev llvm-dev at lists.llvm.org
Sat Feb 6 09:06:06 PST 2021


Hi Konstantin,

First of all, I'm glad that my response helped! And also that you're still
into this project. Don't hesitate to ask any other questions.

Again, not really a ML expert here, but I just saw the reference to
LoopRotate. You probably refer to this:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/Scalar/LoopRotation.cpp#L52
I just wanted to mention that although I have not done any benchmarks, I
speculate that you won't get any substantial benefit from working on this.
Waiting on others' opinions too but I think your time will
be better spent elsewhere.
(Btw, if it's not clear what is this header duplication thing referenced
there, let me know)

Good luck in your GSoC application and project!

Best,
Stefanos

Στις Σάβ, 6 Φεβ 2021 στις 12:35 μ.μ., ο/η Сидоров , Константин Сергеевич
via llvm-dev <llvm-dev at lists.llvm.org> έγραψε:

> Dear all,
>
> I would like to continue the discussion of the GSoC project I mentioned in
> the previous email. Now, when I know my way around the LLVM codebase, I
> would like to propose the first draft of the plan:
>
> * Improving heuristics for existing passes – to start the discussion, I
> propose to start the project by working on `MLInlineAdvisor` (as far as I
> understand, in this class the ML infrastructure is already developed, and
> thus it seems to be a good idea to start there) and after that switching to
> the other passes (e.g., `LoopVectorizationPlanner` seems to be a good
> candidate for such an approach, and `LoopRotate` class contains a
> profitability heuristic which could also be studied deeper).
> * Machine learning models to select the optimizations – to the best of my
> understanding, the key concept here is the pass manager, but here I don't
> quite understand the technical details of deciding which optimization to
> select. For this reason, I would like to discuss this part more thoroughly.
>
> If the project mentors are reading this mailing list and are interested in
> the discussion, can we start the discussion here?
>
> By the way – I would like to thank Stefanos for the comprehensive response
> to my previous questions that helped me to get started :)
>
> Looking forward to a further discussion,
> Konstantin Sidorov
>
> вт, 19 янв. 2021 г. в 07:04, Сидоров , Константин Сергеевич <
> sidorov.ks at phystech.edu>:
>
>> Dear all,
>>
>> 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)
>>
>> Best regards,
>> Konstantin Sidorov
>>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210206/0651ce4d/attachment.html>


More information about the llvm-dev mailing list