gpt4 book ai didi

cuda - 是否可以直接从gpu访问硬盘?

转载 作者:行者123 更新时间:2023-12-03 20:38:18 34 4
gpt4 key购买 nike

是否可以直接从GPU(CUDA / openCL)访问硬盘/闪存,并直接从GPU的内存加载/存储内容?

我试图避免将内容从磁盘复制到内存,然后再将其复制到GPU的内存。

我读到有关Nvidia GPUDirect的信息,但不确定它是否可以完成我上面解释的操作。它讨论了远程GPU内存和磁盘,但在我的案例中,这些磁盘在GPU本地。

基本思想是加载内容(类似于dma)->做一些操作->将内容存储回磁盘(再次以dma方式)。

我试图在这里尽可能少地使用CPU和RAM。

请随时提供有关该设计的任何建议。

最佳答案

对于寻找此功能的其他人,“懒散固定”或多或少地实现了我想要的功能。

请仔细阅读以下内容,以了解这是否对您有所帮助。


将RDMA用于GPUDirect的最直接实现是
在每次传输之前固定内存,并在传输之后立即取消固定
完成了。不幸的是,这通常表现不佳,因为
固定和取消固定内存是昂贵的操作。剩下的
但是,可以执行执行RDMA传输所需的步骤
无需进入内核即可快速访问(可以缓存DMA列表,
使用MMIO寄存器/命令列表重播)。

因此,延迟释放内存是高性能RDMA的关键
实施。这意味着保持内存固定
转移完成后。这利用了以下事实:
将来的DMA可能使用相同的内存区域
传输因此懒惰取消固定可节省固定/取消固定操作。

懒惰取消固定的示例实现将保持一组固定
内存区域,并且只取消固定其中一些区域(例如最小的区域)
最近使用的一种),如果区域的总大小达到
阈值,或者由于BAR空间而无法固定新区域
耗尽(请参阅PCI BAR大小)。


这是application guidenvidia docs的链接。

关于cuda - 是否可以直接从gpu访问硬盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27282273/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com