CudaSpace
CudaSpace is a software framework and library that provides a high-level memory management layer for CUDA applications. It abstracts device memory management by offering a unified allocator, memory pools, and data movement facilities between host memory and device memory. The goal is to reduce allocation overhead, fragmentation, and boilerplate code in GPU-accelerated software.
Architecture and API: CudaSpace sits above the CUDA runtime or driver API and exposes a language-agnostic API
Memory management features: It provides both device-side and host-side allocations, with options for pinned host memory
Performance and portability: By reusing memory pools and reducing system calls, CudaSpace lowers allocation latency and
Use cases and adoption: Commonly used in high-performance computing, scientific simulation, machine learning inference and training