想请教论坛里的前辈们,OpenCL的kernel是如何在板子加载起来的,之前看到过一个贴子说AMD在这方面透露的一点”将显卡的一些控制寄存器和显存映射成主机这边可以访问的内存“,想请教前辈们这部分的内容在ROCm上有吗,能在哪里找到再详细一点的介绍?
有, AMD现在的驱动是开源的, 请直接查看ROCk(驱动)和ROCr的相关内容.
也可以搜索一下HSA相关字样, 看来一下无API的kernel启动方式(将一些GPU的寄存器mmio到用户地址空间, 然后通过对它们的读写, 完成无API调用的kernel启动. 也包括可以查看将DMA引擎映射到用户地址空间, 也无API的发起传输, 等等).