Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sideways entry into compilation: Execution of externally modified DaphneIR code #7

Open
daphne-eu opened this issue Mar 15, 2021 · 0 comments
Labels
AMLS summer 2022 Student project for the Architecture of Machine Learning Systems lecture at TU Graz (summer 2022). AMLS summer 2024 Student project for the Architecture of ML Systems lecture at TU Berlin (summer 2024). student project Suitable for a bachelor/master student's programming project.

Comments

@daphne-eu
Copy link
Owner

In GitLab by @pdamme on Mar 15, 2021, 22:07

Typically, a DAPHNE user would implement an integrated data analysis pipeline using the domain-specific language DaphneDSL. The DAPHNE system parses a DaphneDSL script into an internal representation, the so-called DaphneIR, which is based on MLIR/LLVM. To give researchers and practitioners a chance to fine-tune the internal representation manually (e.g., for what-if analyses on not-yet-existing compiler optimizations), we want to support reading DaphneIR files as an alternative. Then we could print the IR at any level (see #6), modify it externally (e.g., by hand to try out variants the compiler would not come up with), and load it again to continue the processing from that point on, which could be very valuable for experiments.

Reading a text file containing DaphneIR should not be too complicated since MLIR comes with IR parsers. See, for instance, the mlir-opt tool included in MLIR (thirdparty/llvm-project/mlir/tools/mlir-opt, or https://github.com/llvm/llvm-project/tree/main/mlir/tools/mlir-opt).

The task is to extend the existing command-line API of the DAPHNE system to also accept DaphneIR files. The IR must be parsed and connected to the DAPHNE compilation chain, whereby the right entry point must be chosen carefully. Ideally, the compiler should handle it gracefully (or not change it at all) in the early passes, assuming that the compilation chain starts anew when invoking the system with a DaphneIR file. Implementation in C++.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AMLS summer 2022 Student project for the Architecture of Machine Learning Systems lecture at TU Graz (summer 2022). AMLS summer 2024 Student project for the Architecture of ML Systems lecture at TU Berlin (summer 2024). student project Suitable for a bachelor/master student's programming project.
Projects
None yet
Development

No branches or pull requests

2 participants