buddy-compiler/buddy-mlir

Inquiry about good first issues

Closed this issue · 5 comments

Greetings!

I have lots of interest in this project, especially the following two parts:

  • Convert DSL to MLIR.
  • Improve performance of a specified operation or a model.

I'm trying to learn and participate in it but I have found there is few good first issues. Could you please give me some guides or some new good first issues to start up? Many thanks!

Best regards,
Rinne

Hi Rinne,

Thank you for your interest in our project!

  1. Regarding the conversion of DSL to MLIR, we currently have a basic example (https://github.com/buddy-compiler/buddy-mlir/blob/main/examples/README.md#dsl-examples) where the language from the MLIR Toy tutorial is translated to MLIR through our custom frontend. Our further plans include designing and implementing VectorDSL, with a preliminary task to develop extended vector abstraction. We are in the process of drafting a research paper on this topic, aiming to complete it by the third quarter of this year. Following that, we expect to finalize the implementation of VectorDSL.

  2. To improve the performance of operations or models, this area is more accessible to new contributors. You might start by running examples such as Bert (https://github.com/buddy-compiler/buddy-mlir/tree/main/examples/BuddyBert) or LLaMA (https://github.com/buddy-compiler/buddy-mlir/tree/main/examples/BuddyLlama), examining the dumped MLIR files, and identifying specific operators for optimization to enhance performance.

Personally, I recommend the second topic to get started. If you run into any problems or ideas for improvement along the way, please feel free to let me know!

We also invite you to join our Slack channel (https://join.slack.com/t/buddycompiler/shared_invite/zt-13y6ibj4j-n6MQ8u9yCUPltCCDhLEmXg), where you can discuss in real-time with our team and other community members!

Additionally, our team is recruiting interns, and there will be opportunities available this summer through the OSPP summer project (https://summer-ospp.ac.cn/). If you are interested, please let me know.

Thanks,
Hongbin

@zhanghb97 Thank you for your reply! I'll follow your guide to start up and learn the implementation of buddy-mlir.

We also invite you to join our Slack channel

I have joined the channel. :)

Additionally, our team is recruiting interns, and there will be opportunities available this summer through the OSPP summer project (https://summer-ospp.ac.cn/). If you are interested, please let me know.

OSPP seems attractive to me! Is there any pre-task I could take before applying for it? I noticed this page that contains some tasks but I'm not sure of which is suitable to take since the OSPP projects haven't been published. I'll appreciate it if you could give me some suggestions about that. I have great interest in the path of DSL->MLIR->LLVM, and then the performance improvement of operation/model. :)

As for this year's OSPP, our projects will focus on performance improvement.

You can run Bert (https://github.com/buddy-compiler/buddy-mlir/tree/main/examples/BuddyBert) and LLaMA (https://github.com/buddy-compiler/buddy-mlir/tree/main/examples/BuddyLlama) E2E examples. Then, you can find some operations as the target to perform optimization with vector dialect, which can be a good start. Before the OSPP, we will also give some pre-tasks for specific projects.

Thank you for your suggestions. Performance improvement is also attractive to me. However I will be more than happy if there could be a few projects related with DSL&MLIR&LLVM. I'm looking forward to the start of OSPP. :)

@zhanghb97 I ran the LLaMA example but got an segmentation fault. I tried to compile it under debug mode and run it in GDB but failed to get its back trace. Is there any suggestion to debug the error, please? image