Skip to content

Docs/70 text refresh - #71

Draft
rsenne wants to merge 5 commits into
mainfrom
docs/70-text-refresh
Draft

rsenne wants to merge 5 commits into
mainfrom
docs/70-text-refresh

Conversation

@rsenne

@rsenne rsenne commented Sep 15, 2026 •

Copy link
Copy Markdown
Owner

Start of a text refresh. Goal for this is to rewrite the entire set of docs/docstrings/etc. all humanized. Right now It's like 55:45 human:robot text. I'd like that to be at a minimum 75:25 for the sake of readability.

Resolves #70

rsenne added 5 commits August 26, 2026 11:53
CUDA moves from `[deps]` to `[weakdeps]` behind a new `CUDAExt`, so installing
and loading ParallelMCMC no longer drags the CUDA stack onto machines that
cannot use it. `using ParallelMCMC` alone now leaves CUDA unloaded.

The samplers were already array-type-agnostic everywhere but the random fills
— MALA's normal noise and DEER's Rademacher probes — which cannot be written
into device memory one element at a time. Those four `isa CuArray` checks all
asked the same question, so they collapse into one trait,
`needs_host_staging(x)`, defaulting to `false`. `_rademacher!` loses its two
`CuArray` dispatches for a trait branch in the generic method.

The extension is a single method setting that trait for `CuArray`, which also
drops the NVIDIA-only assumption: an AMDGPU or Metal user adds one method
rather than waiting on another extension.
CUDA moves from `[deps]` to `[weakdeps]` behind a new `CUDAExt`, so installing
and loading ParallelMCMC no longer drags the CUDA stack onto machines that
cannot use it. `using ParallelMCMC` alone now leaves CUDA unloaded.

The samplers were already array-type-agnostic everywhere but the random fills
— MALA's normal noise and DEER's Rademacher probes — which cannot be written
into device memory one element at a time. Those four `isa CuArray` checks all
asked the same question, so they collapse into one trait,
`needs_host_staging(x)`, defaulting to `false`. `_rademacher!` loses its two
`CuArray` dispatches for a trait branch in the generic method.

The extension is a single method setting that trait for `CuArray`, which also
drops the NVIDIA-only assumption: an AMDGPU or Metal user adds one method
rather than waiting on another extension.
…MC.jl into cuda-extension

# Conflicts:
#	CHANGELOG.md
#	docs/src/15-gpu.md
#	docs/src/95-reference.md
#	ext/CUDAExt.jl
#	src/DEER/DEER.jl
#	src/ParallelMCMC.jl
#	test/test-CUDA-Extension.jl

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Text Refresh

1 participant