【发布时间】:2019-08-10 15:36:43
【问题描述】:
我需要使用 cuda 内核内部的 tensorflow 模型进行推理。为此,我需要可以从 cuda 内核内部调用的用于推理的 DEVICE 函数。在 tensorflow C++ API 中没有找到类似的东西。
【问题讨论】:
标签: c++ tensorflow cuda inference
我需要使用 cuda 内核内部的 tensorflow 模型进行推理。为此,我需要可以从 cuda 内核内部调用的用于推理的 DEVICE 函数。在 tensorflow C++ API 中没有找到类似的东西。
【问题讨论】:
标签: c++ tensorflow cuda inference
我绝不是 Tensorflow 方面的专家。但考虑到在非平凡网络上运行 GPU 推理通常会涉及多个内核调用。您正在寻找的那种 API 似乎不太可能存在。即使在理论上可以从其他内核中启动内核(例如,使用动态并行),Tensorflow 的全部意义在于以远远超过与 CUDA 相关的任何抽象级别来描述您的计算。您使用 Tensorflow 为您映射到 CUDA。 Tensorflow 基本上是一种编译器,可以将您的计算图转换为它认为在给定目标硬件上执行图所描述的计算的最佳方式。这种映射的细节是高度特定于目标的,并且可能会发生变化。在公共 API 中公开任何此类内容似乎违背了 Tensorflow 的目标。当然,Tensorflow 是开源的,所以人们总是可以去看看并弄清楚 Tensorflow 生成的设备代码到底是什么样子以及如何调用它。但是,这样做所需的努力很可能是令人望而却步的;并且整个事情都必须随着每个新版本而中断......
与其问如何手动调用 Tensorflow 会话的内部问题,不如让 Tensorflow 调用您,这样更有成效。看起来,例如,通过adding a custom operation,您可以让 Tensorflow 调用您的 GPU 代码……
【讨论】: