################################################################################ # # Copyright (C) 2019-2022 Advanced Micro Devices, Inc. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # ################################################################################ # This Dockerfile provides a starting point for a ROCm installation of Tensile. # Parameters related to building hip ARG base_image FROM ${base_image} LABEL maintainer="tensile-maintainer@amd.com" USER root ARG user_uid # Install dependent packages RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ cmake \ ca-certificates \ doxygen \ git \ graphviz \ pkg-config \ python3 \ python3-dev \ python3-pip \ python3-pytest \ python3-setuptools \ python3-joblib \ python3-yaml \ libnuma1 \ zlib1g-dev \ libomp-dev \ && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # The version of MessagePack supplied in Ubuntu 16.04 is old and won't work, # so we'll manually download and install the DEB files RUN curl -O http://ftp.us.debian.org/debian/pool/main/m/msgpack-c/libmsgpack-dev_3.0.1-3_amd64.deb \ -O http://ftp.us.debian.org/debian/pool/main/m/msgpack-c/libmsgpackc2_3.0.1-3_amd64.deb RUN dpkg -i libmsgpack-dev_3.0.1-3_amd64.deb libmsgpackc2_3.0.1-3_amd64.deb RUN pip3 install setuptools --upgrade && \ pip3 install wheel && \ pip3 install tox pyyaml msgpack # docker pipeline runs containers with particular uid # create a jenkins user with this specific uid so it can use sudo privileges # Grant any member of sudo group password-less sudo privileges RUN useradd --create-home -u ${user_uid} -o -G video --shell /bin/bash jenkins && \ echo '%video ALL=(ALL) NOPASSWD:ALL' | tee /etc/sudoers.d/sudo-nopasswd && \ chmod 400 /etc/sudoers.d/sudo-nopasswd