皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

将AMD ROCm技术移植到FreeBSD系统所面临的挑战

今年夏天,FreeBSD基金会的一名实习生开展了将AMD ROCm技术移植到FreeBSD系统的相关工作。目前该实习项目已接近收尾,适配FreeBSD的ROCm代码也几乎达到了可运行简单向量加法计算任务的阶段。
FreeBSD基金会本周发布了一篇博客文章,总结了学生开发者苏鲁吉特·阿迪卡里的实习工作成果:他的核心任务是把AMD开源ROCm计算栈从Linux平台移植到FreeBSD系统上。
尽管FreeBSD已经搭载了从Linux内核DRM子系统移植而来的AMDGPU驱动,同时还有LinuxKPI兼容层负责为FreeBSD系统转换适配Linux内核接口,但要在FreeBSD上完整落地ROCm仍然是一项体量极大的工程。相关工作不仅涉及内核层面的修改,还需要给ROCm所依赖的AMD下游定制版LLVM代码打补丁、调整ROCm的GPU运行时环境,以及修改drm-kmod驱动模块。开发过程中还发现了FreeBSD的LinuxKPI兼容接口中此前未被暴露的若干bug和实现差异。
将AMD ROCm技术移植到FreeBSD系统所面临的挑战
随着夏季结束,本次实习项目正式告一段落,但苏鲁吉特计划继续推进ROCm与FreeBSD适配的相关工作。关于项目当前的进展状态,他表示:“该项目已经即将抵达一个重要里程碑:成功运行简单向量加法计算任务。目前驱动已经可以完成链接、加载并正常启动运行,不过用户态层面仍有部分待解决的问题。”
在此之后,苏鲁吉特计划投入更多精力研究FreeBSD的内存管理系统,重点攻克异构内存管理(HMM)功能的适配工作。
目前FreeBSD平台上的ROCm版本还远未达到普通用户可用的状态,但后续的迭代进展值得持续关注。
想要了解更多细节的用户,可以前往FreeBSD基金会的官方博客查看该项目的完整介绍,相关代码改动可以通过这份进度报告中标注的GitHub代码仓库获取。

转自 The Challenges In Bringing AMD ROCm To FreeBSD – Phoronix