__cudaPushCallConfiguration 和 __cudaPopCallConfiguration 是 CUDA 运行时 API 中的函数,用于在 CUDA 设备上执行函数时设置调用配置。它们的作用是将函数的调用配置信息压入或弹出一个内部栈中,以便在函数调用之间保存和恢复调用配置信息,从而避免重复设置。

这些函数实现的方式是通过在 CUDA 运行时库内部维护一个栈结构来存储调用配置信息。当调用一个 CUDA 函数时,CUDA 运行时库会从栈顶取出上一个函数的调用配置信息并将其应用于当前函数的调用中。当函数调用结束后,CUDA 运行时库将当前函数的调用配置信息压入栈中保存。

这个内部栈位于 host 内存中,而不是显存中。因为调用配置信息通常是与每个线程块的执行相关的,而线程块是在 host 端创建和管理的,所以将内部栈放在 host 内存中更为合适。

__cudaPushCallConfiguration __cudaPopCallConfiguration的作用是什么怎么实现的;内部栈位于host内存中还是显存中

原文地址: https://www.cveoy.top/t/topic/gfFc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录