【发布时间】:2013-05-18 11:06:27
【问题描述】:
谁能解释如何拦截对 CUDA 运行时 API 的调用? 我是一个新手,我读过一些关于 linux 库拦截的内容。 我想使用相同的概念,以便我可以拦截 Cuda Runtime Api。
【问题讨论】:
标签: cuda
谁能解释如何拦截对 CUDA 运行时 API 的调用? 我是一个新手,我读过一些关于 linux 库拦截的内容。 我想使用相同的概念,以便我可以拦截 Cuda Runtime Api。
【问题讨论】:
标签: cuda
CUDA 工具包中包含的 CUPTI SDK 支持在进入和退出 CUDA 运行时 API 时启用回调。可以对回调中的状态进行一些修改,但是当前的回调系统不允许您修改参数的值或跳过真正的函数。
如果您需要修改输入和输出参数的能力,那么我建议您生成一个拦截层。可以使用 Doxygen perlmod 和一个相当小的 perl 脚本来生成拦截层。
我相信ocelot源代码有完整的CUDA运行时拦截层。
在 Linux 上,您可以使用 LD_PRELOAD 将拦截层插入到应用程序中。
【讨论】: