我想知道如何在Ubuntu Linux下实现CUDA中的内存空间分配。换句话说,cudaMalloc()
如何在Ubuntu Linux下内部工作?用于此功能的系统调用是什么?
答案 0 :(得分:0)
CUDA是专有的。 CUDA驱动程序的实现可能与OpenCL相同或相似。 但是当OpenCL规范打开时,实现不是必需的,并且NVIDIA OpenCL驱动程序没有打开。
实现可能与驱动程序提交在硬件端完全处理的malloc命令一样简单,内核驱动程序与系统通信以实现统一虚拟寻址并确定VRAM中存储的内存。可能软件方面的技术部分是避免分配或推迟分配。
调查pocl可以让您了解事情的样子。但NVIDIA的实现可能会有很大不同。