0

谁能解释如何拦截对 CUDA Runtime API 的调用?我是一个新手,我读过一些关于 linux 库拦截的内容。我想使用相同的概念,以便我可以拦截 Cuda Runtime Api。

4

1 回答 1

3

CUDA 工具包中包含的 CUPTI SDK 支持在进入和退出 CUDA 运行时 API 时启用回调。可以对回调中的状态进行一些修改,但当前的回调系统不允许您修改参数的值或跳过实际函数。

如果您需要修改输入和输出参数的能力,那么我建议您生成一个拦截层。Doxygen perlmod 和一个相当小的 perl 脚本可用于生成拦截层。

我相信 ocelot 源代码有一个完整的 CUDA 运行时拦截层。

在 Linux 上,您可以使用 LD_PRELOAD 将拦截层插入应用程序。

于 2013-05-23T15:04:17.600 回答