This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves as a GPGPU implementation guide and a parallel computing reference, providing code for using graphics hardware to perform general-purpose calculations and high-performance parallel processing. The project provides specific samples for GPU kernel development and resource management. These include demonstrations of multi-GPU communication, peer-to-peer memory access, and system hardware inspection to coordinate distributed GPU resources. The codebase covers a wide range of capa
CUDA.jl provides a programming interface for executing custom kernels and performing parallel array computing directly on NVIDIA graphics hardware using the Julia language. It serves as a framework for compiling and scheduling user-defined functions across multiple processing cores, enabling high-performance data processing and task synchronization. The library distinguishes itself through a custom compiler backend that translates high-level language functions into hardware-specific machine code. It manages complex hardware interactions through asynchronous stream scheduling, unified memory m
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
GPU-Puzzles is an interactive learning environment and tutorial designed for mastering CUDA GPU kernel development. It serves as an educational tool and lab where users solve coding puzzles to understand how to map high-level logic to low-level GPU hardware instructions. The platform focuses on teaching parallel computing concepts and GPU architecture. Users practice developing parallel algorithms and managing GPU memory through a series of hands-on challenges. The environment utilizes a bridge between Python and CUDA to execute kernels and provide real-time feedback by validating outputs ag
This project serves as a comprehensive educational resource for learning parallel programming and high-performance computing using graphics processing units. It provides technical guidance on the fundamental paradigms required to offload computationally intensive tasks from a host system to specialized hardware accelerators.
The main features of packtpublishing/learn-cuda-programming are: High-Performance and Parallel Computing, CUDA Programming Tutorials, GPU Kernel Offloading, Explicit Memory Allocators, SIMT Execution Models, Memory Hierarchy Data Movements, GPU-Accelerated Computation, Performance Optimization Patterns.
Open-source alternatives to packtpublishing/learn-cuda-programming include: nvidia/cuda-samples — This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves… juliagpu/cuda.jl — CUDA.jl provides a programming interface for executing custom kernels and performing parallel array computing directly… infrasys-ai/aisystem — AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip… srush/gpu-puzzles — GPU-Puzzles is an interactive learning environment and tutorial designed for mastering CUDA GPU kernel development. It… tensorflow/rust — This project provides Rust bindings for the TensorFlow C API, serving as a tensor computation interface and machine… xtensor-stack/xtensor — xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an…