I am trying to build a docker image utilizing the AMDGPU-PRO drivers on an Udoo Bolt (AMD V1000 series) for OpenCL acceleration. I see containers created using the discrete drivers, is it possible to build the drivers for this series into a docker image? I Have tried the following Dockerfile
FROM ubuntu:20.04 RUN apt-get update RUN apt-get install -y software-properties-common apt-utils RUN add-apt-repository -y universe && apt-get update RUN apt-get install -y python3-pip RUN apt-get install -y clinfo # AMDGPU-Pro drivers for Udoo Bolt (V1000) RUN apt-get install -y wget RUN wget https://drivers.amd.com/drivers/embedded/amd_ubuntu-20.04.1_kernel_5.4.2_v2020_30_1759_ga_public.tar.bz2 \ --referer https://www.amd.com/en/support/embedded/amd-ryzen-embedded-v-series-processors/v-series-v1000-radeon-vega-graphics RUN tar -xvf amd_ubuntu-20.04.1_kernel_5.4.2_v2020_30_1759_ga_public.tar.bz2 \ && cd AMD_Ubuntu-20.04.1_Kernel_5.4.2_v2020_30_1759_GA/ \ && bash ./install_debs.sh -a -s RUN pip install -U plaidml-keras RUN plaidml-setup RUN pip install plaidml-keras plaidbench RUN pip install tensorflow 'h5py < 3.0.0'
However, it fails running the install script, error excerpt
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 5.4.2-1657-amd+ /boot/vmlinuz-5.4.2-1657-amd+ run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 5.4.2-1657-amd+ /boot/vmlinuz-5.4.2-1657-amd+ cp: cannot stat '/etc/default/grub': No such file or directory
I have installed the driver successfully otherwise, so I am looking to see if this is not possible due to the isolation of docker or if there is another route I should take. Thank you.
Initial feedback from our development team is that we are doing something similar but do not include the kernel driver in the docker image:
"We are doing something similar in our CI now. So we have docker image with libdrm and amdgpu_test. We run the docker image with full privilege so that it can access amdgpu's dri files and sysfs.
Same solution should work here too. We can install all the required machine learning runtime and libraries in docker. But our AMDGPU driver should be install on the host."