Skip to content

[FEA]: Add support for pathfinder.find_bitcode_lib("nccl_device") #1831

Description

@rwgk

xref: #1421 (comment)

Quoting from there:

Similar to NVSHMEM, the NCCL bitcode library resides in the lib/ directory (libnccl_device.bc for LLVM IR). We would like to get the bitcode library path in similar way by calling cuda_pathfinder.find_bitcode_lib("nccl", lib_type=LLVM) for NCCL.

Activity

  1. added this to the cuda.pathfinder next milestone on Mar 30, 2026
  2. self-assigned this
    on Mar 30, 2026
  3. added
    P1Medium priority - Should do
    featureNew feature or request
    on Mar 30, 2026
  4. added theissue type on Mar 30, 2026
  5. added
    cuda.pathfinderEverything related to the cuda.pathfinder module
    on Mar 30, 2026
  6. rwgk commented on Mar 30, 2026

    @rwgk
    ContributorAuthor

    Hi @sb17v, sorry I'm getting to this only now.

    I think this should be easy, and I already looked around while working on #1821 (nvshmem_device.bc), but I couldn't find any released libnccl_device.bc anywhere, even with help from Cursor.

    I did find this:

    smc120-0009.ipp2a2.colossus.nvidia.com:/wrk/clone/nccl $ git remote -v
    origin  https://github.com/NVIDIA/nccl.git (fetch)
    origin  git@github.com:NVIDIA/nccl.git (push)
    
    smc120-0009.ipp2a2.colossus.nvidia.com:/wrk/clone/nccl $ git log -n 1
    commit 49839dfde34086ee9aaf9a1c69ae3404f13773e7 (HEAD -> master, origin/master, origin/HEAD)
    Author: Mark Santesson <msantesson@nvidia.com>
    Date:   Fri Mar 20 23:27:52 2026 +0000
    
        contrib/nccl_ep updates
    
        Fix nccl_ep cuda shim to only get used for CUDA version below 13.1
    
        use __forceinline__ to enable nccl_ep compilation with CUDA 12.8
    
        Fix EP README Common Scenarios tables and tensor classifications
    
    smc120-0009.ipp2a2.colossus.nvidia.com:/wrk/clone/nccl $ git grep libnccl_device.bc
    bindings/ir/CMakeLists.txt:set(UNOPTIMIZED_BC ${OBJDIR}/libnccl_device.bc.unoptimized)
    bindings/ir/CMakeLists.txt:set(OPTIMIZED_BC ${OBJDIR}/libnccl_device.bc.optimized)
    bindings/ir/CMakeLists.txt:set(FINAL_BC ${LIBDIR}/libnccl_device.bc)
    bindings/ir/Makefile:UNOPTIMIZED_BC := $(OBJDIR)/libnccl_device.bc.unoptimized
    bindings/ir/Makefile:OPTIMIZED_BC := $(OBJDIR)/libnccl_device.bc.optimized
    bindings/ir/Makefile:FINAL_BC := $(LIBDIR)/libnccl_device.bc
    

    How do people usually install libnccl_device.bc?

    • PyPI?
    • Conda?
    • Linux distro (e.g. apt)?
    • tarball?

    Could you please help with installation instructions? I think I can figure it out from there.

  7. removed
    P1Medium priority - Should do
    on Apr 3, 2026
  8. rwgk commented on Apr 3, 2026

    @rwgk
    ContributorAuthor

    @sb17v I moved this issue to the backlog while waiting for your feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

cuda.pathfinderEverything related to the cuda.pathfinder modulefeatureNew feature or request

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions