Skip to content

Updates to work with CUDA 13.x#40

Open
prateekchawla168 wants to merge 2 commits intoFZJ-JSC:mainfrom
prateekchawla168:03-multi-gpu
Open

Updates to work with CUDA 13.x#40
prateekchawla168 wants to merge 2 commits intoFZJ-JSC:mainfrom
prateekchawla168:03-multi-gpu

Conversation

@prateekchawla168
Copy link
Copy Markdown

@prateekchawla168 prateekchawla168 commented Mar 24, 2026

Updated files:

  • Makefile.in
  • jacobi.cu
    Across all folders -> .master, solutions (/advanced), tasks

Changes:

  • Add $(CUDA_HOME)/include to NVCC flags (For the nvtx3/nvToolsExt.h header)
  • Remove nvToolsExt from NVCC_LDFLAGS (no longer supported in CUDA 13.x) and NVCC_FLAGS
  • Update the include in jacobi.cu to reflect the new library structure
  • Update to use C++17 (required for Thrust)

Signed-off-by: Prateek Chawla <p.chawla@fz-juelich.de>
Signed-off-by: Prateek Chawla <p.chawla@fz-juelich.de>
@AndiH
Copy link
Copy Markdown
Member

AndiH commented Mar 25, 2026

Looks good to me! @mhrywniak could you have a second look?

@AndiH AndiH requested a review from mhrywniak March 25, 2026 16:41
@mhrywniak
Copy link
Copy Markdown
Collaborator

Generally replacing the include line is the correct fix, i.e. #include <nvToolsExt.h> to #include <nvtx3/nvToolsExt.h>.

I think the other .cu files should be updated as well then:

tutorial-multi-gpu git:(main) git grep nvToolsExt.h | grep master
03-H_Multi_GPU_Parallelization/.master/jacobi.cu:#include <nvToolsExt.h>
06-H_Overlap_Communication_and_Computation_MPI/.master/jacobi.cpp:#include <nvToolsExt.h>
08-H_NCCL_NVSHMEM/.master/NCCL/jacobi.cpp:#include <nvToolsExt.h>
08-H_NCCL_NVSHMEM/.master/NVSHMEM/jacobi.cu:#include <nvToolsExt.h>
10-H_CUDA_Graphs_and_Device-initiated_Communication_with_NVSHMEM/.master/Device-initiated_Communication_with_NVSHMEM/jacobi.cu:#include <nvToolsExt.h>
10-H_CUDA_Graphs_and_Device-initiated_Communication_with_NVSHMEM/.master/Using_CUDA_Graphs/jacobi.cpp:#include <nvToolsExt.h>

I'm only listing the ones in the .master directory as the others are autogenerated.

A small correction: The deprecation happened in CUDA 12.9 already, , see also https://docs.nvidia.com/cuda/archive/12.9.1/cuda-toolkit-release-notes/index.html#id3

I think this just hasn't surfaced before as we never ran the tutorial with CUDA > 12.6 (afaict from git log .etc/common-env/modules.sh).

So I'd request the following additional changes:

  • Update other .cu files and ensure the regenerated examples from the .master folder compile/run correctly (see snippet above)
  • Update PR/commit tile to use CUDA 12.9, as that's what should break already
  • Check that the additional include directory to NVCC is necessary - I think it should be automatically in the cpath and no additional -I flag necessary

@AndiH
Copy link
Copy Markdown
Member

AndiH commented Mar 30, 2026

I think, @prateekchawla168 is making individual merge request per directory :).

@mhrywniak
Copy link
Copy Markdown
Collaborator

mhrywniak commented Mar 30, 2026

I think it's better to have it consolidated, would ask to combine those into one since it's the same structural change and feedback would need to be duplicated in all the reviews.

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

Successfully merging this pull request may close these issues.

3 participants