29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# careless-gpu
|
|
|
|
GPU build of careless (see `../careless/` for the CPU module and the full
|
|
background). Scaling and merging of X-ray diffraction data with approximate
|
|
Bayesian inference (variational merging), built on TensorFlow.
|
|
|
|
- Upstream: https://github.com/rs-station/careless
|
|
- License: MIT
|
|
|
|
## How it differs from the careless module
|
|
|
|
- CUDA is not pip-installed (no `[cuda]` extra, saves several GB): the
|
|
cluster `cuda/12.8.1` module provides it instead, declared as
|
|
`build_requires`/`runtime_deps` (same pattern as `jfjoch_viewer`).
|
|
`runtime_deps` matters because TensorFlow dlopens the CUDA libraries
|
|
when careless runs, so cuda must auto-load with this module.
|
|
- If careless reports missing cuDNN at runtime, the cuda module does not
|
|
ship it; the fallback is installing `careless[cuda]` in `build` instead.
|
|
|
|
The venv layout, uv usage, and cache handling are identical to `careless`.
|
|
To share one download cache between both builds, run each with
|
|
`UV_CACHE_DIR=<shared path> modbuild build <version>` — a cache outside
|
|
PREFIX is kept, an in-PREFIX cache is removed after a successful install.
|
|
|
|
## Adding a new version
|
|
|
|
Add the version under `versions:` in `files/config.yaml`, then on a Ra
|
|
login node: `modbuild build <version>` (modbuild/2.1.2).
|