Edit this page

NA-MIC Project Weeks

Back to Projects List

Slicer Extensions with CUDA

Key Investigators

Project Description

Provide an easy path for distributing extensions that use CUDA.


  1. What work needs done to get CUDA installed on build machine?
  2. How can we test the resulting packages?

Approach and Plan

  1. Create sample CUDA extension
    1. Create simple CUDA extension “Slicer CUDA Probe”
    2. Perform manual build, upload, and test
      1. https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/BuildTestPackageDistributeExtensions
      2. https://www.slicer.org/wiki/Documentation/Nightly/Developers/Build_ExtensionsIndex
  2. Set up VM that matches factory, but with CUDA installed
    1. Create VM, install dev tools to match factory
      1. https://www.slicer.org/wiki/Documentation/Nightly/Developers/Factory
    2. Set up factory build of slicer
    3. Create extension index
      1. https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/Contribute_Extension_Description_File
    4. Set up dashboard-driven compile
      1. https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/DashboardSetup
    5. Do I need a separate extension server?
    6. How do CUDA extensions get displayed in extension manager?
  3. Options for distribution
    1. Option A - End user must install CUDA SDK of same version
    2. Option B - Extension must statically link CUDA libraries
    3. Option C - Extension bundles shared libraries


  1. Engineering plan created
  2. Sample extension created
    1. https://github.com/gregsharp/Slicer-CUDAProbe
  3. Manual upload of extension