whatisgithub

What is wosx?

nv-tlabs/wosx — explained in plain English

Analysis updated 2026-06-24

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

In one sentence

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

What do people build with it?

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.

What is it built with?

C++CUDAPythonSlangVulkan

How does it compare?

nv-tlabs/wosxthe-snek-initiative/snek_equinoxadiao1973/librobotbagfix
Stars282731
LanguageC++C++C++
Setup difficultyhardhardhard
Complexity5/54/54/5
Audienceresearcherresearcherops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get 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.

So what is it?

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.

Frequently asked questions

What is wosx?

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.

What language is wosx written in?

Mainly C++. The stack also includes C++, CUDA, Python.

What license does wosx use?

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

How hard is wosx to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is wosx for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.