Contributing and collaborating
If you want to develop plugins/modules…
This section doesn’t apply to making plugins and modules for Adaptyst unless you’re interested in a long-term collaboration with us or you want to contribute to a plugin/module from the Adaptyst team. Just start coding, remember about complying with the Adaptyst / Adaptyst Analyser core license, and publish your work when you’re ready!
However, you’re still recommended to contact us so that any impact of potential API changes on your work is minimised. You’re also welcome to get in touch if you need any help.
As an open-source project, we are always looking for contributors and collaborators! The first step is trying out Adaptyst yourself: go to Installation followed by Quick start to get started. Once you have an initial grasp of the tool, you can start thinking about contributing.
It is compulsory to contact us before you start any Adaptyst development work: see Contact. We will guide you and add you to our communication channels to make sure that you get all the support you need and that your work is synchronised with our work. Rest assured that you’re not making any commitments by doing so: we understand that volunteers come and go. Any unsolicited pull requests will be closed without any review.
Branches
- “main”: the main branch where releases of Adaptyst / Adaptyst Analyser / a plugin or module from the Adaptyst team are tagged.
- “dev”: the development branch, please work here.
Contribution ideas
If you don’t have an idea on how to contribute, don’t worry: we will soon open the Adaptyst management system, where you can have a look at the current issues. In the meantime, here are some examples of how you can help:
- Expanding features of the nvgpu module for NVIDIA GPUs
- Integrating external profiling viewers with Adaptyst Analyser
- Adding collaborative features to Adaptyst Analyser
- Making missing debug symbols be downloaded automatically
You can also contact us.
Code of conduct
The CERN Code of Conduct applies. If you witness any violation, get in touch with us.
Pull requests (PRs)
Once you’re ready to merge your work into Adaptyst / Adaptyst Analyser / our module or plugin, open a pull request on GitHub against the “dev” branch. We will review your code and get back to you as soon as possible.
Legal considerations
- Make sure that your code doesn’t use any third-party work without permission.
- We accept AI-generated codes, but they must be vetted by a human before a PR is submitted. PRs opened by AI agents are treated as unsolicited PRs and will be thus closed without any review.
- By submitting a PR on GitHub, you agree to the GitHub’s Terms of Service which state that you license your contribution under the same terms as the license of the repository. We don’t use contributor license agreements (CLAs).
Collaborations
We are open to long-term collaborations with academic institutions / research groups and commercial companies in various areas of the Adaptyst development and Adaptyst plugin or module development. These may involve many different things such as knowledge sharing, code contributions, support for making new plugins and modules etc.
We currently cooperate with the following entities:
- ETH Zürich: PhD research on unified modular performance analysis and automated computer system design (main academic collaboration, Prof. Zhendong Su)
- INESC-ID Lisboa: cache-aware roofline analysis (academic, Prof. Aleksandar Ilic)
- HES-SO: edge computing with custom and programmable chips like FPGAs (academic / applied research, Prof. Andrea Guerrieri)
If you are interested in working with us, contact us. We’re happy to talk!
If you’re not sure how you can benefit from collaborating, check the potential applications of Adaptyst beyond high-level software here.