0

鉴于我事先知道我的部署服务器的操作系统版本和设备的功能。cubin 是最有效的部署文件吗?

4

1 回答 1

3

从代码如何根据设备选项编译的角度来看,唯一会显着影响执行时间的是JIT 编译

假设 JIT 缓存大到足以容纳特定于设备的编译版本,那么只有在应用程序第一次运行时才能感受到这种影响。此后,JIT 缓存将包含正确的代码。

如果您想避免这种首次运行的损失,唯一需要做的就是在应用程序编译期间通过nvcc 适当的开关来定位您的设备。

cubin 文件只包含设备二进制代码。fatbin可能包含多个设备的设备二进制代码。通过提供正确的设备二进制代码,您可以避免 JIT 启动延迟。最终,这些格式(cubin 或 fatbin)将被收集到包含主机和设备代码的可执行文件中。您不需要明确定位 cubin 或 fatbin,它们会生成仅包含设备代码的文件。

于 2013-06-04T01:15:54.347 回答