Skip to content

Document emulated double precision on Metal - #48

Open
TomaSusi wants to merge 1 commit into
devfrom
docs/metal-emulated-float64
Open

TomaSusi wants to merge 1 commit into
devfrom
docs/metal-emulated-float64

Conversation

@TomaSusi

Copy link
Copy Markdown
Member

Summary

  • Metal is no longer single precision only: with Emulated float64 multislice on Apple Metal (double-float) abTEM#620, device="mps" with precision="float64" is emulated double precision (double-float kernels on the GPU, float64 data on the host). Replace the install page's bullet saying that combination is refused with a "Double precision" subsection: what runs on the GPU, what falls back to the CPU, the torch.mps.compile_shader requirement, the torch.emulate-float64 key and the benchmark script.
  • Add a "Grid sizes" subsection on the SlowFFTSizeWarning advice, for single and emulated double precision.

The page links to benchmarks/benchmark_metal_float64.py, which exists once abTEM/abTEM#620 is merged, so this should merge after it. The example in the new section was run against #620 on an Apple M2. The doc site was not built.

🤖 Generated with Claude Code

Metal is no longer single precision only: device 'mps' with precision 'float64' is
the emulated double precision of abTEM/abTEM#620. Replace the bullet that said it
is refused with a section on it, and describe the SlowFFTSizeWarning advice for
both precisions.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

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.

1 participant