在CUDA驱动程序API中,有一个名为cuModuleGetGlobal
的函数,它允许您通过名称获取CUDA模块(已构建的CUDA程序的对象)中的全局变量的值。我想知道OpenCL是否具有相同的功能?
答案 0 :(得分:1)
不,OpenCL 1.2没有提供回读全局变量值的方法。
然而,这不是一个巨大的限制。在OpenCL中,程序范围变量(即全局变量)必须在__constant
地址空间中定义,并且必须使用编译时常量进行初始化。因此,内核永远不会改变全局变量的值。因此,可以轻松跟踪主机代码中全局变量的值。