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)
70 lines
3.0 KiB
Markdown
70 lines
3.0 KiB
Markdown
# 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.
|
|
|
|
```{eval-rst}
|
|
.. 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](RELEASE_CONTENTS.md#gpu-generations-and-the-nvidia-driver).
|
|
|
|
## 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](RUGNUX.md) 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](REPOSITORIES.md), 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](RUGNUX_INSTALL.md#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](RUGNUX_INSTALL.md#memory).
|