The home page introduces Rugnux, the viewer and the acquisition system in three cards, with the licence stated once, and the sidebar is regrouped by program: what a user of Rugnux or the viewer needs comes first, and the algorithms, formats, interfaces, hardware and FPGA pages sit under one collapsed "Technical reference" hub (TECHNICAL.md). No page moves, so every existing URL stays. Download pages (RUGNUX_DOWNLOAD.md, VIEWER_DOWNLOAD.md) are rendered by a small Sphinx extension (docs/_ext/jfjoch_downloads.py) from the `release` in conf.py, which update_version.sh rewrites, so no version string on them is maintained by hand; a script then asks the Gitea API for the newest published release and repoints the buttons at its assets, naming any archive that release does not carry. Without network access the build-time links stand. JUNGFRAUJOCH.md is the landing page of the acquisition side with its install pointers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015CeEGgpKdfkCTJb3YNMJcu (cherry picked from commit 050442592504ce879dc51d78b6d3d1c58268a800)
3.0 KiB
Download Rugnux
rugnux is one self-contained executable: no CUDA toolkit, no Qt, no service to run. Take the
archive for your machine, unpack it into a directory of its own, and run it. The links point at the
current release; the full list of what each release ships is on its release page.
.. jfjoch-downloads:: rugnux
On a machine with an NVIDIA GPU take the GPU archive: it is the only one that uses the card, and it also runs on a machine without one (it reports zero CUDA devices and takes the CPU path). The CPU only archive is smaller and for machines that will never have a GPU. A V100 needs the CUDA 12 build; the CUDA 13 builds start at Turing (T4). The driver versions and the GPU generations each build covers are in Release contents.
After downloading
The archive has no top-level directory: it unpacks straight into bin/ and share/, so always
give it a directory of its own.
mkdir -p ~/rugnux
tar xzf rugnux-<version>-linux-x86_64-cuda12.tgz -C ~/rugnux # Linux, macOS
~/rugnux/bin/rugnux # prints the usage
On Windows, extract the .zip into a folder and run bin\rugnux.exe from a terminal. On macOS the
binary is signed and notarized; the first run of a freshly downloaded copy checks the notarization
online.
Nothing is written outside that directory, nothing needs root, and several versions can sit side by
side; to remove one, delete its directory. Put bin/ on your PATH to type rugnux rather than
the full path, then:
rugnux dataset_master.h5
Rugnux takes it from there: what the run writes, what the terminal shows and the few options worth knowing.
Linux packages
On RHEL / Rocky 8 and 9 and Ubuntu 22.04 / 24.04, rugnux is also a package of its own in the
package repositories, which keeps it current with the system's package manager:
sudo dnf install rugnux # RHEL / Rocky
sudo apt install rugnux # Ubuntu
The package depends on nothing from the acquisition side and installs /usr/bin/rugnux. The
repository's CUDA variant keeps cuFFT as a system dependency, where the archive above links it in;
either works on the same machine.
From source
cmake -S . -B build -DJFJOCH_RUGNUX_ONLY=ON builds rugnux alone, on Linux, macOS and Windows,
with every dependency fetched during the first configure. The flags that match the released
binaries, and what a build needs on a Mac, are in
Installing Rugnux ▸ Building from source.
Memory and hardware
A run wants host and GPU memory in proportion to the number of reflections it integrates, not to the detector: 16 GB of RAM and a 6 GB card for an ordinary sweep, 32 GB and 8 GB for the largest measured, and far more for a very large unit cell. The sizing table and the flags that lower it are in Installing Rugnux ▸ Memory.