Cuda C++中的简单文件 I/O
Simple File I/O in Cuda C++
我现在正在研究 Cuda C++。但是我在使用 CUDA 读取和写入文件时遇到问题。
如何在 Cuda C++ 中实现文件输入输出过程?
我想将 .obj 文件读入我的 Cuda 内核。
我该怎么办?
使用普通主机 (C++) 文件操作读取文件。然后,如果需要,请使用普通cudaMalloc
和cudaMemcpy
操作将数据传输到设备。
您将无法直接在 CUDA C++中实现文件 I/O,因为没有用于此的 API,并且 GPU 不直接连接到文件系统。您必须通过操作系统才能获得文件系统服务。
虽然 NVIDIA 确实有一个名为 GPU Direct Storage 的 CUDA 辅助系统,但从技术上讲,这不是 CUDA 的一部分,并且可能不是大多数人在 CUDA 中寻找的简单文件 I/O 的内容。 GPU 直接存储在使用之前需要特定的系统功能和设置步骤,并且远远超出了初学者 CUDA 的使用范围。
为了使您的文件进入 CUDA 内存空间,您必须在为信息分配内存后使用 CUDA memcpy 命令(因此,在加载解析并存储在内存中后,请执行 cudaMalloc(your, malloc, params, here) 和 cudaMemcpy(your, memcpy, params,here)加载解析并存储在内存中的文件,就像您通常在C++中一样
。您可以尝试制作一个 cuda 系统来直接访问文件,但这是一个我不会羡慕尝试编写的过程,并且收益与努力比率将使其成为一项不可行的冒险(除了概念验证练习)。
希望有帮助!:)
相关文章:
- 一种在C++中读取TXT配置文件的简单方法
- 有没有办法简单地从 GPU 调用多个 cpp 输出文件?
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 通过比较C++中的行在 txt 文件中搜索的最简单方法是什么?
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 在C++中创建文件夹选取器对话框的最简单方法是什么?
- 简单的二分搜索对我不起作用。我正在尝试从文本文件中搜索单词
- 运行简单的.oct文件时Octave崩溃,我的代码出了什么问题?
- 编译简单的多文件类程序时出现未定义的引用错误
- 为简单的src,include,libs文件夹项目编写Makefile
- 从 txt 文件中读取数据的最简单方法
- 简单加密和解密 TXT 文件 [C++]
- Centos6 gcc6:编译简单的 c++11 测试文件时,默认的 ABI 不拾取
- 在 Fedora 20 中查找简单设备驱动程序的头文件
- 使用 libcurl C++将文件下载到 Ubuntu,简单示例不起作用
- 简单的文本文件格式化在linux下崩溃,但在Windows中很好
- 算术编码FPAQ0(一个简单的订单-0算术文件压缩机)
- C++ 使用简单的代码同时写入文件和控制台输出
- 提升::asio async_read简单的文件上传
- 如何直接在安卓设备上作为可执行文件运行简单的 c++ 程序?