Cuda 如何读取GigaThread全局调度程序?

Cuda 如何读取GigaThread全局调度程序?,cuda,gpgpu,gpu,Cuda,Gpgpu,Gpu,是否可以访问GigaThread全局调度程序的代码 我的目的是了解调度器在给定时刻使用了多少条SMs(假设GigaThread global scheduler是负责决定特定应用程序需要使用多少条SMs和哪些SMs的调度器)。那么,有没有什么方法可以让调度器维护一个日志,并在每次为应用程序使用一组新的SMs时更新它,其中包含SMs的数量或SMs的ID 这将帮助我查看日志文件,以便在需要信息时检查计划程序最近使用了多少条SMs。目前没有公开的方法来跟踪计算工作分发服务器 可以使用%smid和%cl

是否可以访问GigaThread全局调度程序的代码

我的目的是了解调度器在给定时刻使用了多少条SMs(假设GigaThread global scheduler是负责决定特定应用程序需要使用多少条SMs和哪些SMs的调度器)。那么,有没有什么方法可以让调度器维护一个日志,并在每次为应用程序使用一组新的SMs时更新它,其中包含SMs的数量或SMs的ID


这将帮助我查看日志文件,以便在需要信息时检查计划程序最近使用了多少条SMs。

目前没有公开的方法来跟踪计算工作分发服务器

可以使用%smid和%clock对内核代码进行指令插入,以收集此信息。这可以在每个经纱或每个螺纹块的基础上完成


compute work分发服务器试图让所有SMs保持忙碌。

请停止一遍又一遍地问同样的问题。当问题与此无关时,不要将其标记为OpenCL。compute work分发服务器源代码在哪里?使用%smid意味着我必须在gpu上为此运行程序。如果某个程序已经在运行,它将不允许我的程序同时运行。所以我需要做一些背景之外的事情。跟踪计划程序似乎很困难。计算工作分发服务器不可编程。如果您对块的最大调度性能进行基准测试,您会发现(a)跟踪将生成大量日志文件,(b)在不影响性能的情况下跟踪块调度将非常困难。