CUDA 11 中的链接时优化 - 它们是什么以及如何使用它们?

问题描述

CUDA 11 features announcement,据说现在有:

新的链接时间优化功能

nvcc 实际采用了哪些链接时优化(例如,相对于使用 g++ 或 clang++ 的主机端代码中的 LTO 功能)?

此外 - 是否需要执行某些操作才能启用 LTO,或者它总是发生(与需要使用 const LoadableCategory = Loadable({ loader: () => import('../category'),loading() { return <div>Loading...</div>; } }); 开关编译的主机端代码不同?

解决方法

部分答案:

要启用链接时优化,请在调用 NVCC 编译器时使用 --dlink-time-opt(或 dlto),用于编译和设备端代码链接。如果编译器找不到相关的中间信息,则不会应用(链接时)优化。