今天和明天一整天都在进行 Torch C++ 和 CUDA 优化开发,会在这里/YouTube/Twitch 上直播。目标是…… 1) 让 PufferLib 以每秒 1000 万步的速度执行强化学习 2)消除难以分析的潜在瓶颈来源 3)看看我们能把它简化到什么程度 以下是一些针对GPU开发人员的问题
问:我的网络规模较小,需要减少内核启动次数。我的选择有:1)忍受 CUDA Graph 的种种限制;2)编写一些大型融合内核;3)两者兼而有之。融合内核看起来不错,但 NVIDIA 的 cublas 矩阵乘法器不是开源的。我该怎么办?
问:目前为止,FP32 内核扩展相当容易实现,基本上就是用 C 语言编写代码。那么,如何才能最轻松地实现对 TF32、FP16 和 BF16 的支持,而不会搞得一团糟呢?
问:我的直觉是除非绝对必要,否则尽量避免使用额外的库。例如,就我目前所见,我真的非常不喜欢 Triton(虽然如果它能一次性生成内核,然后我可以将其静态包含到我的项目中,我会更满意)。我的确需要对瓦片大小进行一些调整。该怎么做?