Skip to main content
Ctrl+K

Documentation

  • Home page
  • User Guide
  • Dev Doc
  • Examples
  • Python API
  • C++ API
  • GitHub
  • Website
  • Home page
  • User Guide
  • Dev Doc
  • Examples
  • Python API
  • C++ API
  • GitHub
  • Website

Section Navigation

Contents

  • IDE development setup
  • Building the documentation
  • Testing
  • Shamrock primitive types
  • Solver graph nodes
  • Solver graph edges
  • sham::kernel_call
  • sham::distributed_data_kernel_call
  • Profiling
  • Profiling build performance / time
  • Release process
  • Dev doc

Dev doc#

Welcome to the developer documentation of Shamrock.

Recommended order: set up the development environment, learn the solver graph (nodes and edges), then move on to GPU kernel programming (e.g. kernel call).

Contents

  • IDE development setup
    • Repo setup
    • VSCode (and derivatives, e.g. Cursor, Vscodium, …)
    • Neovim (Lazyvim)
  • Building the documentation
    • Repo setup
    • Building the Sphinx documentation
    • Building the doxygen doc
  • Testing
    • Running Unit Tests
    • Writing a Unit Test
  • Shamrock primitive types
    • Literals
  • Solver graph nodes
    • Node layout
    • Optional edges
    • Related files
  • Solver graph edges
    • Derive from IEdge
    • Derive from IEdgeNamed
    • Related files
  • sham::kernel_call
    • Basic usage
    • MultiRef
    • Under the hood
    • Related variants
    • Related files
  • sham::distributed_data_kernel_call
    • Basic usage
    • DDMultiRef
    • Under the hood
    • Related variants
    • Related files
  • Profiling
    • Shamrock custom profiling
    • Nvidia profiling
  • Profiling build performance / time
    • Example output (2026-08-04)
  • Release process
    • Changing the version
    • The release branch
    • Creating the release

previous

Build environments in Shamrock

next

IDE development setup

Edit on GitHub
Show Source

© Copyright 2020 -- 2026 Timothee David--Cléris.

Created using Sphinx 8.1.3.

Built with the PyData Sphinx Theme 0.19.0.