Refresh GPU benchmarks + add real CuPy QuickByte#261
Open
Graviton28 wants to merge 6 commits into
Open
Conversation
Fixes #151. The referenced file was never actually added to the repo (checked full history and all branches — no trace of it anywhere), so the README link has been a 404 since it was written. Removing rather than recreating content that never existed.
Fixes #235. The old "CARC Benchmarks" section referenced an NVIDIA Tesla K40 on the retired Xena cluster. Removed it entirely and replaced it with real benchmark data + fresh plots generated on Easley's l40s partition (single L40S GPU), comparing CPU vs GPU for matrix multiplication and inversion at N=1000/2000/4000/8000.
Replaces the previously dead CuPy_on_CARC.ipynb link (issue #151, which was never actually added to the repo) with an actual tested tutorial: installing CuPy on Easley, basic array usage, and a real CPU-vs-GPU matmul benchmark run on an l40s GPU. Found and documented two real install gotchas along the way: - conda-forge's default cupy package pulls CUDA 13.x, which needs a newer driver than Easley's GPU nodes have (cudaErrorInsufficientDriver) - use the cupy-cuda12x pip wheel instead. - That wheel alone can't JIT-compile kernels (e.g. cupy.random) without the [ctk] extra, which bundles CUDA toolkit headers. Also includes a "Going Further" section on multi-GPU CuPy with NCCL and MPI, based on the CS491/591 HPC course's Lecture 20 slides - explicitly marked as conceptual/untested since a full working multi-GPU script wasn't verified for this QuickByte.
The CuPy dead link is being replaced with a real doc (cupy_intro.md, separate PR) rather than just deleted, so this PR shouldn't touch that line anymore - just the benchmark refresh (#235).
The two REPL snippets showed >>> commands and their printed output in the same code block. Split each into a command block and a separate "Expected output" block, matching this session's convention.
This was referenced Jul 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Combines #258 and #260 into one PR.
multiGPU_tensorflow_tutorial.md(NVIDIA Tesla K40 on the retired Xena cluster) with fresh benchmark data and plots generated on Easley'sl40spartition.CuPy_on_CARC.ipynbREADME link (never actually added to the repo) with a real, testedcupy_intro.md— install gotchas (CUDA 13 vs 12 driver mismatch,[ctk]extra), basic usage, a real CPU-vs-GPU benchmark, and a clearly-labeled conceptual multi-GPU/NCCL section.