Cuda C ++中的简单文件I / O.

时间:2013-10-25 12:50:25

标签: c++ cuda

我正在研究Cuda C ++。但是我在使用CUDA读取和写入文件时遇到了问题。

如何在Cuda C ++中实现文件输入输出流程?

我想将 .obj 文件读入我的Cuda内核。

我该怎么办?

2 个答案:

答案 0 :(得分:12)

使用普通主机(C ++)文件操作读取文件。然后,如果您需要,可以使用普通cudaMalloccudaMemcpy操作将数据传输到设备。

您将无法直接在CUDA C ++中实现文件I / O,因为没有此API,并且GPU不直接连接到文件系统。您必须通过操作系统获取文件系统服务。

答案 1 :(得分:5)

要让你的文件进入CUDA内存空间,你必须在为信息分配内存后使用CUDA memcpy命令(cudaMalloc(你的,malloc,params,这里)和cudaMemcpy(你的,memcpy,params)也是如此,这里)你加载解析并在内存中存储文件,就像在C ++中一样。

您可以尝试使用cuda系统直接访问该文件,但这是一个我不会羡慕尝试编写的过程,并且增益与努力比将使其成为一个不可行的冒险(除了概念证明)锻炼; Tibial)。

希望有所帮助!:)