for cudaHostAlloc()表示,它使用cudaHostAllocMapped标志在主机上分配固定内存,并“将分配映射到CUDA地址空间”。这是否意味着在设备上也分配了镜像缓冲区?或者,在每次访问cudaHostGetDevicePointer()返回的指针时,设备是否与主机内存通信?
这个问题不同于,因为我不问API是什么,什么时候使用它们,什么是固定内存。我特别询问是否在GPU上分配镜像缓冲区。
This article描述了如何使用mmap将两个虚拟内存范围配置到同一底层缓冲区,以避免用于管理循环缓冲区的内存副本。 esp32硬件能支持这一点吗?我想使用i2c dma技术将麦克风音频数据直接读取到循环缓冲区中,并将缓冲区的窗口范围传递给tensorflow,以便在esp32上进行分析,而无需任何可避免的内存副本。这些api调用可以映射到内存吗?是否有替代机制来实现我的效率目标?