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

Harden the build system #503

Open
DinoBektesevic opened this issue Mar 1, 2024 · 0 comments
Open

Harden the build system #503

DinoBektesevic opened this issue Mar 1, 2024 · 0 comments

Comments

@DinoBektesevic
Copy link
Member

At the moment the build system relies on the existence and visibility of C++ and CUDA compilers system-wide. The compilation however, tests cuda toolkit's existence only. The toolkit's existence tends to align with the correct installation of both drivers and the compiler, but isn't strictly required.

There seems to be no way to force compilation with the GPU due to CMake's find package checks in the cmake recipe either.

Issues with compilations have also passed CI and manual tests because different C++ compilers did not support all of the implemented functionality. While technically an issue with the CI, this can be considered build system problem because we are leaking so many dependencies to system availability.

Hardening the build system, allowing forced GPU builds (personally I'm partial to approach I described in #340), separating CUDA code from C++ code etc. will allow for cross-compilations even on systems without GPUs. This enables checking for support across a range of compiler versions even though it does not guarantee code correctness.

Potentially transitioning to conda installations also allows for testing of both compiler and code correctness across multiple different versions of C++ compilers.

Ultimately FAQ and Troubleshooting guide with the potential pitfalls of KBMOD's installation needs to also be created.

This is an overarching goal, a sort of a meta-issue to support more open discussion regarding the build system and to act as a pointer to the collection of smaller issues hopefully addressing various aspects of this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant