Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
谁能解释如何拦截对 CUDA Runtime API 的调用?我是一个新手,我读过一些关于 linux 库拦截的内容。我想使用相同的概念,以便我可以拦截 Cuda Runtime Api。
CUDA 工具包中包含的 CUPTI SDK 支持在进入和退出 CUDA 运行时 API 时启用回调。可以对回调中的状态进行一些修改,但当前的回调系统不允许您修改参数的值或跳过实际函数。
如果您需要修改输入和输出参数的能力,那么我建议您生成一个拦截层。Doxygen perlmod 和一个相当小的 perl 脚本可用于生成拦截层。
我相信 ocelot 源代码有一个完整的 CUDA 运行时拦截层。
在 Linux 上,您可以使用 LD_PRELOAD 将拦截层插入应用程序。