|
| 1 | +# BUILD redisfab/redisai:${VERSION}-jetson-${ARCH}-${OSNICK} |
| 2 | + |
| 3 | +ARG REDIS_VER=6.0.9 |
| 4 | + |
| 5 | +# OSNICK=bionic|centos7|centos6 |
| 6 | +ARG OSNICK=bionic |
| 7 | + |
| 8 | +# OS=ubuntu18.04|ubuntu16.04|centos7 |
| 9 | +ARG OS=ubuntu18.04 |
| 10 | + |
| 11 | +# ARCH=arm64v8|arm32v7 |
| 12 | +ARG ARCH=arm64v8 |
| 13 | + |
| 14 | +ARG CUDA_VER=10.2-cudnn7 |
| 15 | + |
| 16 | +ARG L4T_VER=r32.4.4 |
| 17 | + |
| 18 | +ARG PACK=0 |
| 19 | +ARG TEST=0 |
| 20 | + |
| 21 | +#---------------------------------------------------------------------------------------------- |
| 22 | +FROM redisfab/redis:${REDIS_VER}-${ARCH}-${OSNICK} AS redis |
| 23 | +FROM redisfab/jetpack:4.4.1-arm64v8-l4t as builder |
| 24 | + |
| 25 | +ARG OSNICK |
| 26 | +ARG OS |
| 27 | +ARG ARCH |
| 28 | +ARG REDIS_VER |
| 29 | +ARG CUDA_VER |
| 30 | +ARG L4T_VER |
| 31 | + |
| 32 | +RUN echo "Building for ${OSNICK} (${OS}) for ${ARCH} [with Redis ${REDIS_VER}]" |
| 33 | + |
| 34 | +ENV NVIDIA_VISIBLE_DEVICES all |
| 35 | +ENV NVIDIA_DRIVER_CAPABILITIES compute,utility |
| 36 | + |
| 37 | +WORKDIR /build |
| 38 | +COPY --from=redis /usr/local/ /usr/local/ |
| 39 | + |
| 40 | +COPY ./opt/ opt/ |
| 41 | +COPY ./tests/flow/test_requirements.txt tests/flow/ |
| 42 | + |
| 43 | +RUN PIP=1 FORCE=1 ./opt/readies/bin/getpy3 |
| 44 | +RUN ./opt/system-setup.py |
| 45 | + |
| 46 | +ARG DEPS_ARGS="GPU=1 JETSON=1 WITH_PT=1 WITH_TF=1 WITH_TFLITE=0 WITH_ORT=0" |
| 47 | +COPY ./get_deps.sh . |
| 48 | +# RUN if [ "$DEPS_ARGS" = "" ]; then ./get_deps.sh gpu; else env $DEPS_ARGS ./get_deps.sh gpu; fi |
| 49 | +RUN set -e ;\ |
| 50 | + env $DEPS_ARGS ./get_deps.sh |
| 51 | + |
| 52 | +ARG BUILD_ARGS="GPU=1 JETSON=1 WITH_TF=1 WITH_PT=1 WITH_TFLITE=0 WITH_ORT=0" |
| 53 | + |
| 54 | +ADD ./ /build |
| 55 | +RUN bash -c "set -e ;\ |
| 56 | + . ./opt/readies/bin/sourced ./profile.d ;\ |
| 57 | + make -C opt build $BUILD_ARGS SHOW=1" |
| 58 | + |
| 59 | +ARG PACK |
| 60 | +ARG TEST |
| 61 | + |
| 62 | +RUN mkdir -p bin/artifacts |
| 63 | +RUN set -e ;\ |
| 64 | + if [ "$PACK" = "1" ]; then make -C opt pack GPU=1; fi |
| 65 | + |
| 66 | +RUN set -e ;\ |
| 67 | + if [ "$TEST" = "1" ]; then \ |
| 68 | + TEST= make -C opt test GPU=1 $BUILD_ARGS NO_LFS=1 ;\ |
| 69 | + if [[ -d test/logs ]]; then \ |
| 70 | + tar -C test/logs -czf bin/artifacts/test-logs-gpu.tgz . ;\ |
| 71 | + fi ;\ |
| 72 | + fi |
| 73 | + |
| 74 | +#---------------------------------------------------------------------------------------------- |
| 75 | +# FROM nvidia/cuda:${CUDA_VER}-runtime-${OS} |
| 76 | +# FROM nvidia/cuda-arm64:11.1-runtime-ubuntu18.04 |
| 77 | +# FROM nvcr.io/nvidia/l4t-base:${L4T_VER} |
| 78 | +FROM redisfab/jetpack:4.4.1-arm64v8-l4t |
| 79 | + |
| 80 | +ARG OS |
| 81 | +ARG L4T_VER |
| 82 | + |
| 83 | +RUN if [ ! -z $(command -v apt-get) ]; then apt-get -qq update; apt-get -q install -y libgomp1; fi |
| 84 | +RUN if [ ! -z $(command -v yum) ]; then yum install -y libgomp; fi |
| 85 | + |
| 86 | +ENV REDIS_MODULES /usr/lib/redis/modules |
| 87 | +RUN mkdir -p $REDIS_MODULES/ |
| 88 | + |
| 89 | +COPY --from=redis /usr/local/ /usr/local/ |
| 90 | +COPY --from=builder /build/install-gpu/ $REDIS_MODULES/ |
| 91 | + |
| 92 | +COPY --from=builder /build/bin/artifacts/ /var/opt/redislabs/artifacts |
| 93 | + |
| 94 | +# COPY --from=builder /usr/local/etc/redis/redis.conf /usr/local/etc/redis/ |
| 95 | + |
| 96 | +WORKDIR /data |
| 97 | +EXPOSE 6379 |
| 98 | +# CMD ["/usr/local/bin/redis-server", "/usr/local/etc/redis/redis.conf", "--loadmodule", "/usr/lib/redis/modules/redisai.so"] |
| 99 | +CMD ["/usr/local/bin/redis-server", "--loadmodule", "/usr/lib/redis/modules/redisai.so"] |
0 commit comments