diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2380337b58d0349bc8085aee18a6cd1006e699a8..55c7285ed4111691d97851d125122d1ec13c11eb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -58,3 +58,26 @@ nvidia: - tags tags: - dind + +pocl: + stage: deploy + script: + - if [ $CI_COMMIT_REF_NAME == "develop" ]; then + REV="git"; + elif [ $CI_COMMIT_REF_NAME == "master" ]; then + REV="latest"; + else + REV="$CI_COMMIT_REF_NAME"; + fi + - docker pull "${REPOSITORY}-pocl:${REV}" || true + - docker build --network=host --pull -t "${REPOSITORY}-pocl:${REV}" + --cache-from "${REPOSITORY}-pocl:${REV}" + --build-arg "aparapiver=${VERSION}" + "pocl/" + - docker push "${REPOSITORY}-pocl" + only: + - master + - develop + - tags + tags: + - dind diff --git a/pocl/Dockerfile b/pocl/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..68d46827b0c286b7266cdcda63d4e2e696b10051 --- /dev/null +++ b/pocl/Dockerfile @@ -0,0 +1,37 @@ +FROM ubuntu:20.04 + +LABEL maintainer "Jeffrey Phillips Freeman <the@jeffreyfreeman.me>" + +WORKDIR /tmp + +RUN apt-get update && \ + apt-get -y dist-upgrade && \ + rm -rf /var/lib/{cache,log} + +RUN apt-get update && \ + apt-get -y --no-install-recommends install \ + maven \ + git \ + openjdk-14-jre \ + openjdk-14-jdk && \ + rm -rf /var/lib/{cache,log} + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + ocl-icd-libopencl1 \ + ocl-icd-opencl-dev \ + pocl-opencl-icd \ + clinfo && \ + apt-get -y autoremove && \ + apt-get clean autoclean && \ + rm -rf /var/lib/{apt,cache,log} + +ARG aparapiver +RUN mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get -DrepoUrl="https://repo1.maven.org/maven2/" -Dartifact="com.aparapi:aparapi:${aparapiver}" + +RUN rm -rf /tmp/* + +# nvidia-container-runtime +ENV NVIDIA_VISIBLE_DEVICES all +ENV NVIDIA_DRIVER_CAPABILITIES compute,utility +ENV JAVA_HOME /usr/lib/jvm/java-14-openjdk-amd64/