Skip to content

docs: Add NVIDIA Warp documentation for GPU-accelerated particle simulation#1037

Merged
Gorkowski merged 2 commits intouncscode:mainfrom
Gorkowski:warp-docs
Feb 3, 2026
Merged

docs: Add NVIDIA Warp documentation for GPU-accelerated particle simulation#1037
Gorkowski merged 2 commits intouncscode:mainfrom
Gorkowski:warp-docs

Conversation

@Gorkowski
Copy link
Collaborator

Target Branch: main

Summary

Adds comprehensive documentation for using NVIDIA Warp with particula for GPU-accelerated aerosol dynamics simulations. This documentation prepares the codebase for future GPU acceleration features by documenting the Warp framework patterns that will be used.

What Changed

New Components

  • docs/Theory/nvidia-warp/index.md - Overview of NVIDIA Warp, key features, and getting started guide
  • docs/Theory/nvidia-warp/kernels.md - Documentation for writing parallel particle computations with @wp.kernel and @wp.func
  • docs/Theory/nvidia-warp/datastructures.md - Particle and aerosol data types, arrays, vectors, matrices, and custom structs
  • docs/Theory/nvidia-warp/examples/fluids.md - Examples for aerosol dynamics including coagulation, condensation, and diffusion
  • docs/Theory/nvidia-warp/examples/geometry.md - Examples for particle interactions including collisions and wall losses

Modified Components

  • adw-docs/README.md - Minor update
  • adw-docs/code_style.md - Added comprehensive code style documentation
  • adw-docs/testing_guide.md - Minor testing guide updates
  • pyproject.toml - Configuration update

How It Works

The documentation covers four main areas of NVIDIA Warp:

docs/Theory/nvidia-warp/
    │
    ├──▶ index.md (Overview)
    │        ├── Key Features (Python-First, GPU Acceleration, Differentiable)
    │        ├── Core Concepts (Kernels, Functions, Data Structures)
    │        └── Getting Started
    │
    ├──▶ kernels.md (Parallel Computation)
    │        ├── @wp.kernel decorator patterns
    │        ├── @wp.func function inlining
    │        └── Thread indexing with wp.tid()
    │
    ├──▶ datastructures.md (Data Types)
    │        ├── Arrays (1D, 2D, 3D typed arrays)
    │        ├── Vectors (wp.vec3 for positions/velocities)
    │        ├── Matrices (wp.mat33 for rotations)
    │        └── Custom Structs (Particle, Aerosol types)
    │
    └──▶ examples/
             ├── fluids.md (Aerosol Dynamics)
             │     ├── Coagulation kernels
             │     ├── Condensation/evaporation
             │     └── Brownian diffusion
             │
             └── geometry.md (Particle Interactions)
                   ├── Collision detection
                   └── Wall loss calculations

Implementation Notes

  • Why Warp: NVIDIA Warp provides a Python-first approach to GPU computing that integrates naturally with particula's existing NumPy-based codebase
  • Zero-copy interop: Documentation emphasizes efficient data transfer between NumPy and Warp arrays
  • Future work: This documentation lays the groundwork for implementing GPU-accelerated versions of coagulation, condensation, and wall loss dynamics

Testing

  • Documentation only: No code changes requiring tests
  • Manual verification: All documentation links and code examples reviewed for accuracy

@Gorkowski Gorkowski added agent Created or managed by ADW automation blocked Blocked - review required before ADW can process labels Feb 3, 2026
@Gorkowski Gorkowski merged commit f4043ec into uncscode:main Feb 3, 2026
7 checks passed
@Gorkowski Gorkowski deleted the warp-docs branch February 3, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent Created or managed by ADW automation blocked Blocked - review required before ADW can process

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant