explaingit

nv-tlabs/wosx

28C++Audience · researcherComplexity · 5/5LicenseSetup · hard

TLDR

WoSX is a C++ and Python library from NVIDIA Research that solves physics simulation equations using a mesh-free randomized method, working directly on boundary geometry with no volume mesh required.

Mindmap

mindmap
  root((repo))
    What it does
      Solves physics equations
      No mesh generation
      Randomized sampling
    Tech stack
      C++ header-only
      CUDA and GPU
      Python bindings
      Slang shading
    Use cases
      Heat simulation
      Electrostatics
      Fluid flow
    Setup
      CPU and GPU modes
      Demo applications
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Simulate heat conduction or electrostatics on complex 3D shapes without needing to generate a volume mesh.

USE CASE 2

Run physics equation solvers on GPU to get answers only at the specific points you care about.

USE CASE 3

Call the solver from Python scripts to integrate mesh-free physics simulation into your research pipeline.

USE CASE 4

Use the included demos as reference implementations for thermal, electrostatic, and fluid flow problems.

Tech stack

C++CUDAPythonSlangVulkan

Getting it running

Difficulty · hard Time to first run · 1h+

Requires CUDA and a compatible NVIDIA GPU for GPU mode, CPU mode uses standard C++ but building the demos requires additional dependencies including Slang.

Apache 2.0 license, use freely for any purpose including commercial, as long as you keep the copyright and license notice.

In plain English

WoSX is a C++ library for solving a class of physics equations called partial differential equations, which describe how quantities like heat, electric potential, or fluid flow are distributed across a region. Traditional solvers for these equations require generating a volume mesh, a grid that fills the interior of the shape being simulated. WoSX avoids that step entirely by using a technique called Walk on Spheres, a randomized method that estimates the solution at any point by running many random paths and averaging the results. The practical advantage is that WoSX works directly on the original boundary description of the shape, whether that is line segments in 2D or a triangle mesh in 3D. You give it the boundary geometry, specify what values or conditions hold at the boundary, pick the points where you want answers, and run the solver. No meshing software is needed, and you only compute where you actually need values. This makes it well-suited to complex or irregular shapes where building a volume mesh would be expensive or awkward. The library runs on both CPU and GPU. CPU usage follows standard C++ patterns. GPU usage is built around the Slang shading language, with CUDA as the tested backend, though the code also targets Vulkan, Direct3D, and Metal. Python bindings are available so the solver can be called from Python scripts in addition to C++ programs. The library is header-only at its core, so using it in a C++ project does not require compiling a separate shared library. The repository includes demo applications for thermal conduction, electrostatics, potential flow around 3D shapes, and basic 2D reference problems. Each demo has its own README with expected outputs and run commands. WoSX is described as research software from NVIDIA's Toronto lab, intended as a reference implementation rather than a production-optimized tool. It is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
I want to use WoSX to simulate heat conduction on a complex 3D mesh, show me how to set up the boundary conditions and run the solver from Python.
Prompt 2
How do I run the electrostatics demo in WoSX on my CUDA GPU and visualize the output?
Prompt 3
I have a triangle mesh defining the boundary of a 3D shape, walk me through calling the WoSX solver in C++ to get potential flow values at a set of interior points.
Prompt 4
Compare WoSX Walk on Spheres to traditional finite element methods for my use case: I need to simulate electric potential around an irregular geometry with no meshing budget.
Open on GitHub → Explain another repo

← nv-tlabs on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.