-
Notifications
You must be signed in to change notification settings - Fork 28
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
Dynamically loading libnvidia-ml.so.1
instead of directly linking
#313
Dynamically loading libnvidia-ml.so.1
instead of directly linking
#313
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I wonder if there is any advantage to keeping container and test_container in the event that we ever do need additional packages for either the build or the test.
Similarly I think we should update the DOCKER_TARGET
array in external/utilities/ci/runner/build_and_push.sh
script to :
DOCKER_TARGET=${DOCKER_TARGET:-"build" "test"}
Even if for MRC the build and test targets remain aliases for base.
Good point. Changed the names of the targets to |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## branch-23.07 #313 +/- ##
================================================
- Coverage 73.28% 73.24% -0.04%
================================================
Files 390 390
Lines 13352 13379 +27
Branches 1006 1008 +2
================================================
+ Hits 9785 9800 +15
- Misses 3567 3579 +12
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
/merge |
This PR is follows the MRC PR: nv-morpheus/MRC#313 which removes the explicit dependency on `libnvidia-ml.so` which allows us to no longer need the driver installed in our CI runner. This allows us to use the `gpu-v100-latest-1` tag to stay up to date with the CI images. @jjacobelli for Viz Authors: - Michael Demoret (https://github.com/mdemoret-nv) Approvers: - David Gardner (https://github.com/dagardner-nv) URL: #877
Currently, we install the driver into one of the CI images to allow for stub generation during compilation. This was needed because
device_info.cpp
linked directly againstCUDA::nvml
. This caused a link dependency on a driver library which is problematic when building with CPU-only docker images.Instead, we dynamically load
libnvidia-ml.so.1
(appending the.so.1
to avoid collisions with the stub filelibnvidia-ml.so
) and the necessary functions at runtime. If the library is not found, using a GPU will be disabled. This allows loading of the library for stub generation without needing a GPU.