0

CUDA 编程指南 v 5.5 第 页。117 提到传递给内核中使用的 printf 的字符串被输出到主机上的流。我的疑问是为什么需要将其传递给主机?显卡是直接连接显示设备的,直接把输出发送到显示设备不是更好吗?为什么不必要地转到主机,然后再将其发送回显卡以在显示器上显示?

4

1 回答 1

3

如果显卡不承载显示器怎么办?

如果系统中有 4 个 GPU 怎么办?

无论如何,根据操作系统的控制台输出规则,设备printf与操作系统协调,将输出发送到与主机相同的队列中。printf例如,这允许您执行诸如将标准输出重定向到文件之类的操作。

您无法通过简单地在 GPU 上的某处干扰一些数据来管理此问题。

大概您的问题是出于对性能的关注,并且设备printf并非旨在成为高性能输出路径。

于 2013-10-05T02:31:36.263 回答