- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am running some opencl programs inside a docker container. To test the environment I am running clinfo as an entry point for the container. But it is not detecting NEO platforms.
Googling shows that other opencl targets require the docker container to be called with a device argument pointing to /dev/dri:
docker run --device=/dev/dri <image> clinfo
but I am not sure that this is what is require for intel devices.
I can get access to the CPU opencl device after installing the CPU opencl driver.
My Dockerfile is below which is called from a directory with the following structure:
Dockerfile
neo /<neo .deb files and firmware .bin files>
<opencl cpu drivers for intel>
Dockerfile:
FROM ubuntu:16.04
# ROS
RUN apt-get update && apt-get install -y \
python-rosinstall \
liblua5.2 \
libeigen3-dev \
libsuitesparse-dev \
liblog4cxx10v5 \
python-yaml \
libcairo2 \
gfortran \
libhdf5-serial-dev \
libpcl-dev \
libpcap0.8 \
libatlas-base-dev \
libarpack2 \
libblas3 \
libboost-filesystem1.58.0 \
libboost-iostreams1.58.0 \
libboost-program-options1.58.0 \
libboost-python1.58.0 \
libboost-system1.58.0 \
libboost-thread1.58.0 \
libboost-timer1.58.0 \
libc6 \
libcairo2 \
libcholmod3.0.6 \
libconsole-bridge0.2v5 \
libgcc1 \
libgflags2v5 \
libgfortran3 \
libgomp1 \
libgoogle-glog0v5 \
libhdf5-10 \
libhdf5-cpp-11 \
liblapack3 \
liblog4cxx10v5 \
liblua5.2-0 \
libmetis5 \
libnlopt0 \
libogre-1.9.0v5 \
libopenblas-base \
libpcap0.8 \
libpcl-common1.7 \
libprotobuf9v5 \
libpython2.7 \
libspqr2.0.2 \
libstdc++6 \
libsz2 \
liburdfdom-world0.4 \
libwebp5 \
libyaml-cpp0.5v5 \
libyaml-0-2 \
zlib1g \
cython \
exfat-fuse \
python-psutil \
python-requests \
libgeotiff2 \
iputils-ping \
alien
# Other tooling
RUN apt-get update && apt-get install -y \
logrotate \
git \
vim \
clinfo \
dkms \
ocl-icd-opencl-dev
# OpenCL for CPU and GPU
ARG INTEL_DRIVER=opencl_runtime_16.1.2_x64_rh_6.4.0.37.tgz
ARG INTEL_DRIVER_URL=http://registrationcenter-download.intel.com/akdlm/irc_nas/9019
RUN mkdir -p /tmp/opencl-driver-intel
WORKDIR /tmp/opencl-driver-intel
COPY opencl_runtime_16.1.2_x64_rh_6.4.0.37.tgz .
COPY neo $WORKDIR
RUN mkdir -p /lib/firmware/intel && dpkg -i *.deb && cp *.bin /lib/firmware/intel && rm *.deb && rm *.bin
# SRB 5 uses a zip file; older drivers use .tgz
RUN echo INTEL_DRIVER is $INTEL_DRIVER; \
if echo $INTEL_DRIVER | grep -q "[.]zip$"; then \
unzip $INTEL_DRIVER; \
mkdir fakeroot; \
for f in intel-opencl-*.tar.xz; do tar -C fakeroot -Jxvf $f; done; \
cp -R fakeroot/* /; \
ldconfig; \
else \
tar -xzf $INTEL_DRIVER; \
for i in $(basename $INTEL_DRIVER .tgz)/rpm/*.rpm; do alien --to-deb $i; done; \
dpkg -i *.deb; \
rm -rf $INTEL_DRIVER $(basename $INTEL_DRIVER .tgz) *.deb; \
mkdir -p /etc/OpenCL/vendors; \
echo /opt/intel/*/lib64/libintelocl.so > /etc/OpenCL/vendors/intel.icd; \
fi; \
rm -rf /tmp/opencl-driver-intel;
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page