ci: add NVTX to CI container images for CUDA builds#1224
Open
bibrakc wants to merge 1 commit intoaws:masterfrom
Open
ci: add NVTX to CI container images for CUDA builds#1224bibrakc wants to merge 1 commit intoaws:masterfrom
bibrakc wants to merge 1 commit intoaws:masterfrom
Conversation
bwbarrett
reviewed
May 5, 2026
| "tracing": ["lttng", "lttng-nvtx", "none"], | ||
| "sdk": ["cuda", "neuron"], | ||
| "exclude": [ | ||
| {"tracing": "lttng-nvtx", "sdk": "neuron"}, |
Contributor
There was a problem hiding this comment.
I don't think we should add variants here and make more containers. There's no reason that lttng and nvtx can't live in the same container.
Contributor
Author
There was a problem hiding this comment.
I modified. Now cuda enabled containers will have both lttng and nvtx.
9562b68 to
6d7d255
Compare
NVTX tracing is not built by CI, so build breakages under --with-nvtx=... have been landing undetected. For example, the shared_ptr refactor in PR aws#1193 left an implicit pointer cast in tracing_impl/nvtx.h that no CI job caught. Extend the tracing-enabled Ubuntu images to install cuda-nvtx in addition to liblttng-ust-dev whenever ENABLE_CUDA is also set. The two tracing backends are independent in the plugin (separate HAVE_LIBLTTNG_UST and HAVE_NVTX_TRACING guards, each tracepoint macro expands to calls into both) so they coexist cleanly in a single container and a single build. Neuron images still get just lttng because NVTX requires the CUDA toolkit. Parameterise the CUDA toolkit release as a CUDA_VERSION build arg (default 12-6) so cuda-cudart-dev, cuda-crt, and cuda-nvtx all stay on the same release. No matrix, workflow, or tag changes: the existing 'lttng' tracing variant now also brings in NVTX on CUDA containers. A follow-up PR will add --with-nvtx=... to the configure line in distcheck.yaml so the plugin actually gets built with NVTX in CI. Signed-off-by: Bibrak Qamar Chandio <bibracha@amazon.com>
6d7d255 to
28691da
Compare
bwbarrett
reviewed
May 5, 2026
| ARG CC_VERSION | ||
| ARG ENABLE_TRACING=false | ||
| ARG ENABLE_CUDA=false | ||
| ARG CUDA_VERSION=12-6 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes:
NVTX tracing is not built by CI, so build breakages under
--with-nvtx=... have been landing undetected. For example, the
shared_ptr refactor in PR #1193 left an implicit pointer cast in
tracing_impl/nvtx.h that no CI job caught.
Extend the tracing-enabled Ubuntu images to install cuda-nvtx in
addition to liblttng-ust-dev whenever ENABLE_CUDA is also set. The
two tracing backends are independent in the plugin (separate
HAVE_LIBLTTNG_UST and HAVE_NVTX_TRACING guards, each tracepoint
macro expands to calls into both) so they coexist cleanly in a
single container and a single build. Neuron images still get just
lttng because NVTX requires the CUDA toolkit.
Parameterise the CUDA toolkit release as a CUDA_VERSION build arg
(default 12-6) so cuda-cudart-dev, cuda-crt, and cuda-nvtx all stay
on the same release.
No matrix, workflow, or tag changes: the existing 'lttng' tracing
variant now also brings in NVTX on CUDA containers. A follow-up
PR will add --with-nvtx=... to the configure line in distcheck.yaml
so the plugin actually gets built with NVTX in CI.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.