CUDA sprintf 到全局/共享内存缓冲区

cuda sprintf to global/shared memory buffer

本文关键字:共享 内存 缓冲区 全局 sprintf CUDA      更新时间:2023-10-16

>我们现在可以在内核中做printf,但是是否可以使用

sprintf(buffer, format, arg, ... )

功能?

我正在做 CUDA 加速的 OBJ 文件写入,我需要将 float s 转换为 ASCII 字符串进行写入。

编辑:CUDA当然没有做实际的写作=)只需从floats列表中生成 obj char缓冲区。

除了va_list之外,Georges Menie 的代码应该可以帮助您入门。此外,对于简单的参数列表,simplePrintf公开了一些@RobertCrovella提到的。最近的 CUDA 发行版的C++11 功能也可能有所帮助。

但是,在 GPU 上并行化此任务并保持对象列表索引的一致性和一致的字符串格式(尤其是浮点)可能是您最大的问题。