Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
CUDA 编程指南 v 5.5 第 页。117 提到传递给内核中使用的 printf 的字符串被输出到主机上的流。我的疑问是为什么需要将其传递给主机?显卡是直接连接显示设备的,直接把输出发送到显示设备不是更好吗?为什么不必要地转到主机,然后再将其发送回显卡以在显示器上显示?
如果显卡不承载显示器怎么办?
如果系统中有 4 个 GPU 怎么办?
无论如何,根据操作系统的控制台输出规则,设备printf与操作系统协调,将输出发送到与主机相同的队列中。printf例如,这允许您执行诸如将标准输出重定向到文件之类的操作。
printf
您无法通过简单地在 GPU 上的某处干扰一些数据来管理此问题。
大概您的问题是出于对性能的关注,并且设备printf并非旨在成为高性能输出路径。