← Back to projects
THOR: GPU-accelerated synthetic observations

THOR: GPU-accelerated synthetic observations

Radiative transfer, mock spectra, and spatial analyses for galaxy formation simulations on CPUs and GPUs.

THOR connects galaxy formation simulations to observations: from stellar and gas emission to resonant-line Monte Carlo radiative transfer (MCRT) and absorption spectra. Its ray-tracing framework also supports visualization and spatial analyses of the underlying gas, such as its velocity and magnetic field structure.

Written in C++20 and SYCL, THOR runs on CPUs and GPUs and distributes work and memory across nodes with MPI.

Native simulation support

THOR is highly flexible and supports all major galaxy formation codes.

Density projections from eight different simulation codes from the AGORA project, rendered with THOR.

Experimental GUI

THOR also includes an experimental graphical interface for interactive exploration of simulation data.

Exploring a simulated galaxy with THOR’s experimental GUI.

Performance and validation

THOR offers competitive performance for complex Lyα radiative transfer and absorption-line studies.

Lyα photon throughput: THOR GPU 1,468 photons/s, THOR CPU 57, COLT 45, RASCAS 39, and Iltis 30. Lyα photon throughput: THOR GPU 1,468 photons/s, THOR CPU 57, COLT 45, RASCAS 39, and Iltis 30.

Lyα transport through a static sphere (T = 2 × 10⁴ K, τ₀ = 10⁶, no core-skipping), on an AMD Ryzen 9 5950X and NVIDIA RTX 3090. CPU runs use FP64 and 10,000 photons; the THOR GPU run uses FP32 and one million photons. The Iltis result uses the maintained voroILTIS build. June 5, 2026 benchmark, setup, and analytic-solution validation.

H I Lyα sightline throughput: THOR GPU 16,103 sightlines/s, THOR CPU 221, and Trident 0.76. H I Lyα sightline throughput: THOR GPU 16,103 sightlines/s, THOR CPU 221, and Trident 0.76.

H I Lyα absorption through TNG50-4 at z = 0, on an AMD Ryzen 9 5900XT and NVIDIA RTX 3090. THOR uses 16 CPU threads (FP64) or the GPU (FP32); Trident uses 16 MPI ranks. Rates exclude one-time setup. THOR traces the native Voronoi mesh, while Trident uses yt’s SPH deposition. June 25, 2026 benchmark and spectrum comparison.

Getting started and code paper

The quick start and Apptainer containers provide a route from a first run to cluster workflows. The documentation includes configuration examples, Python tools, and analysis recipes.

The original architecture, verification suite, and science applications are described in Byrohl & Nelson (2025), THOR: a GPU-accelerated and MPI-parallel radiative transfer code. See the THOR papers page for applications of THOR and its predecessors, voroILTIS and ILTIS.