如何在gitlab ci docker执行器中在AMD上运行OpenCL程序
我有一个自行托管的gitlab用于私人项目,还有一个专用的物理节点用于AMD GPU测试。在此节点上已经有一个带有docker executor的gitlab ci runner 是否有一种方法可以使用OpenCL执行程序,并在gitlab ci runner创建的docker容器中访问AMD GPU如何在gitlab ci docker执行器中在AMD上运行OpenCL程序,docker,opencl,gitlab-ci,Docker,Opencl,Gitlab Ci,我有一个自行托管的gitlab用于私人项目,还有一个专用的物理节点用于AMD GPU测试。在此节点上已经有一个带有docker executor的gitlab ci runner 是否有一种方法可以使用OpenCL执行程序,并在gitlab ci runner创建的docker容器中访问AMD GPU 到目前为止,我只找到了Nvidia和CUDA相关的信息来解决这个问题(例如这个),但我还没有发现任何对OpenCL和AMD有用的信息。同时我自己找到了解决方案。这比预期的要容易 gitlab ci
到目前为止,我只找到了Nvidia和CUDA相关的信息来解决这个问题(例如这个),但我还没有发现任何对OpenCL和AMD有用的信息。同时我自己找到了解决方案。这比预期的要容易 gitlab ci管道的docker映像只需要来自amd网站()的amd gpu驱动程序 构建docker映像的Dockerfile示例:
from ubuntu:18.04
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y gcc g++ opencl-headers ocl-icd-opencl-dev curl apt-utils unzip tar curl xz-utils wget clinfo
RUN cd /tmp &&\
curl --referer https://drivers.amd.com/drivers/linux -O https://drivers.amd.com/drivers/linux/amdgpu-pro-20.30-1109583-ubuntu-18.04.tar.xz &&\
tar -Jxvf amdgpu-pro-20.30-1109583-ubuntu-18.04.tar.xz &&\
cd amdgpu-pro-20.30-1109583-ubuntu-18.04/ &&\
./amdgpu-install -y --headless --opencl=legacy
根据您使用的gpu和linux版本,您可能需要另一个文件,然后是本例中的文件。也有可能该文件不再存在于网站上,您必须签出最新的文件
除此之外,只需对gitlab runner配置(/etc/gitlab runner/config.toml
)进行少量修改
添加docker runner:devices=[“/dev/dri”]
:
然后使用gitlab runner restart
再次重新启动gitlab runner
在此之后,可以在gitlab ci docker runner内部执行opencl代码
[[runners]]
...
[runners.docker]
...
devices = ["/dev/dri"]