#9 · Primary category: GPU Compute Frameworks
SpeedTorch
Library for faster pinned CPU <-> GPU transfer in Pytorch
Project last updated:02/21/20
GitHub Stars
682
Forks
40
Contributors
3
License
MIT
Why we included this project
Training large embedding tables in PyTorch often means fighting for GPU memory. SpeedTorch takes a different route: it pins Cupy tensors to CPU memory and moves data between CPU and GPU much faster than PyTorch's own pinned tensors in many cases, so you can leave idle parameters in system RAM and only push the active ones over during sparse training steps. The factory classes build models and optimizers that pick between CUDA, pinned CPU, or Cupy-backed storage, and they extend sparse training to optimizers like Adam and AdamW, which normally only handle dense gradients. If you do NLP or other embedding-heavy work, this is worth testing. Just keep in mind the project has been dormant since 2020 and the speedup depends on your CPU core count, so benchmark it against plain PyTorch on your own hardware first.
Articles for this project
No articles for this project yet.
To suggest a topic or contribute an article, contact us.
Related projects in this category
kompute
General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.
lupine
LUPINE is a GPU over IP bridge allowing GPUs on remote machines to be attached to CPU-only machines.
dstack
Vendor-agnostic orchestration for training, inference and agentic workloads across NVIDIA, AMD, TPU, and Tenstorrent on clouds, Kubernetes, and bare metal.
MetalPetal
A GPU accelerated image and video processing framework built on Metal.
tt-metal
:metal: TT-NN operator library, and TT-Metalium low level kernel programming model.