最近两周进展:
1. bump 了 ROCm 核心组件至 4.3(device library, runtime, llvm-roc, hip),并修复了 llvm-roc 的一个 bug
2. bump 了ROCm 大部分数学库的 4.3,并增加了测试与 benchmark USE flag
3. 向 Tensile 提交的 feature request 得到了实现,将其 commit 拉取为 patch 替代自己先前写的 hack
3. 在自己的机器(Radeon VII)上进行了 test,并将 FAIL 的测例开 issue 反应给上游。rocBLAS 表示是测例问题,将在未来修复;rocFFT 表示已经修复,但未进入 4.3 release,我尝试 backport,该修复与 release 分支难以合并;rocSPARSE 的一个 failure 来历不明,但从报错信息来看是测试程序问题,但上游表示在 Ubuntu/CentOS 使用同样版本的 googletest 无法复现,希望我们提供复现环境的 Gentoo docker;hipSPARSE 有大量 failure,目前原因不明;MIOpen 全部 fail,是cmake生成的测试脚本传参有误导致的。rocPRIM,rocThrust,hipFFT,hipCUB 通过测试。结论说明,除 hipSPARSE 有待进一步调研、MIOpen需要debug外,其余数学库的构建可靠。
4. 将 4.3 版本 PR 至 Gentoo。核心组件已经 merge。数学库的 review 已经开始。发现了许多尚待改善的地方,如规范 subslot 的使用保证升级时 rebuild。发现了 Gentoo 的 CI 会对有 test 功能的包自动测试,但是 CI 没有可以跑 ROCm 的 AMDGPU,所以只能编译不能运行,test 全部 FAIL了,在
bugs.gentoo.org 上触发了大量 bug。。。
5. 尝试在ROCm-4.3上编译 pytorch,有一些小bug。
6. 修复了 bazel 的bug 并编译了 cuda 版的 tensorflow,为 TensorFlow 与 jax 的 porting 做铺垫
未来两周计划:
1. 按上游要求修复 ROCm 数学库 ebuild 中不规范的地方
2. 编译 pytorch,并尝试能否将 ebuild push 进上游
3. 学习有关 XLA 的知识,查阅 TensorFlow 与 jax 的有关资料