【问题标题】:How to build CUDA JIT caches for all available kernels in TensorFlow programmatically?如何以编程方式为 TensorFlow 中的所有可用内核构建 CUDA JIT 缓存?
【发布时间】:2026-02-16 21:20:09
【问题描述】:

this question 中所述,我遇到了 GTX 1080 卡和 nvidia-docker 的“首次运行减速”问题。

我正在使用来自its official pip package 的 TensorFlow 构建和基于 nvidia-docker 的 Ubuntu 16.04 基础映像的自定义 docker 映像。

如何让 TensorFlow 以编程方式在 Dockerfile 中加载(并构建 JIT 缓存)所有已注册的 CUDA 内核? (而不是使用TF_CUDA_COMPUTE_CAPABILITIES 环境变量手动构建TensorFlow)

【问题讨论】:

  • 这很有趣。您能在我们的github 页面上发帖吗?如果我们可以采取一些措施来缓解这种情况,无论是在进一步的说明中,还是在代码中,那就更好了。

标签: cuda tensorflow nvidia


【解决方案1】:

似乎没有简单的方法来实现这一点,因为 CUDA 运行时隐式地从给定的内核源代码as discussed here 中懒惰地编译缺少的 cubin。

通过我自己重建 TensorFlow 解决了这个问题,并使用一些帮助脚本来检测当前的 CUDA/GPU 配置并生成所需的 TensorFlow 配置参数(detect-cuda.pybuild-tensorflow.sh)。

【讨论】:

  • 两个链接都坏了。