|
| 1 | +ARG AV_DEPS_VERSION |
| 2 | +ARG AV_VERSION |
| 3 | +ARG CUDA_VERSION |
| 4 | +ARG ROCKY_VERSION |
| 5 | +FROM alicevision/alicevision-deps:${AV_DEPS_VERSION}-rocky${ROCKY_VERSION}-cuda${CUDA_VERSION} |
| 6 | +LABEL maintainer="AliceVision Team [email protected]" |
| 7 | +ARG TARGET_ARCHITECTURE=core |
| 8 | + |
| 9 | +# use CUDA_VERSION to select the image version to use |
| 10 | +# see https://hub.docker.com/r/nvidia/cuda/ |
| 11 | +# |
| 12 | +# AV_VERSION=2.2.8 |
| 13 | +# CUDA_VERSION=11.0 |
| 14 | +# ROCKY_VERSION=9 |
| 15 | +# docker build \ |
| 16 | +# --build-arg CUDA_VERSION=${CUDA_VERSION} \ |
| 17 | +# --build-arg ROCKY_VERSION${ROCKY_VERSION} \ |
| 18 | +# --build-arg AV_VERSION=2.2.8.develop \ |
| 19 | +# --tag alicevision/alicevision:${AV_VERSION}-rocky${ROCKY_VERSION}-cuda${CUDA_VERSION} \ |
| 20 | +# -f Dockerfile_rocky . |
| 21 | +# |
| 22 | +# then execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)) |
| 23 | +# docker run -it --runtime=nvidia alicevision/alicevision:{AV_VERSION}-rocky${ROCKY_VERSION}-cuda${CUDA_VERSION} |
| 24 | + |
| 25 | + |
| 26 | +# OS/Version (FILE): cat /etc/issue.net |
| 27 | +# Cuda version (ENV): $CUDA_VERSION |
| 28 | + |
| 29 | +ENV AV_DEV=/opt/AliceVision_git \ |
| 30 | + AV_BUILD=/tmp/AliceVision_build \ |
| 31 | + AV_INSTALL=/opt/AliceVision_install \ |
| 32 | + AV_BUNDLE=/opt/AliceVision_bundle \ |
| 33 | + PATH="${PATH}:${AV_BUNDLE}" \ |
| 34 | + VERBOSE=1 |
| 35 | + |
| 36 | +COPY CMakeLists.txt *.md ${AV_DEV}/ |
| 37 | +COPY src ${AV_DEV}/src |
| 38 | + |
| 39 | +WORKDIR "${AV_BUILD}" |
| 40 | + |
| 41 | +COPY docker ${AV_DEV}/docker |
| 42 | + |
| 43 | +RUN export CPU_CORES=`${AV_DEV}/docker/check-cpu.sh` |
| 44 | + |
| 45 | +RUN cmake -DCMAKE_BUILD_TYPE=Release \ |
| 46 | + -DBUILD_SHARED_LIBS:BOOL=ON \ |
| 47 | + -DTARGET_ARCHITECTURE=${TARGET_ARCHITECTURE} \ |
| 48 | + -DALICEVISION_BUILD_DEPENDENCIES:BOOL=OFF \ |
| 49 | + -DCMAKE_PREFIX_PATH:PATH="${AV_INSTALL}" \ |
| 50 | + -DCMAKE_INSTALL_PREFIX:PATH="${AV_INSTALL}" \ |
| 51 | + -DALICEVISION_BUNDLE_PREFIX="${AV_BUNDLE}" \ |
| 52 | + -DALICEVISION_USE_ALEMBIC:BOOL=ON \ |
| 53 | + -DMINIGLOG:BOOL=ON \ |
| 54 | + -DALICEVISION_USE_CCTAG:BOOL=OFF \ |
| 55 | + -DALICEVISION_USE_OPENCV:BOOL=ON \ |
| 56 | + -DALICEVISION_USE_OPENGV:BOOL=ON \ |
| 57 | + -DALICEVISION_USE_POPSIFT:BOOL=ON \ |
| 58 | + -DALICEVISION_USE_CUDA:BOOL=ON \ |
| 59 | + -DALICEVISION_USE_ONNX_GPU:BOOL=OFF \ |
| 60 | + -DALICEVISION_BUILD_DOC:BOOL=OFF \ |
| 61 | + -DALICEVISION_BUILD_SWIG_BINDING:BOOL=ON \ |
| 62 | + -DSWIG_DIR:PATH="${AV_INSTALL}/share/swig/4.3.0" -DSWIG_EXECUTABLE:PATH="${AV_INSTALL}/bin-deps/swig" \ |
| 63 | + "${AV_DEV}" |
| 64 | + |
| 65 | +RUN make install -j${CPU_CORES} |
| 66 | + |
| 67 | +RUN make bundle |
| 68 | + |
| 69 | +RUN rm -rf "${AV_BUILD}" "${AV_DEV}" && \ |
| 70 | + echo "export ALICEVISION_SENSOR_DB=${AV_BUNDLE}/share/aliceVision/cameraSensors.db" >> /etc/profile.d/alicevision.sh && \ |
| 71 | + echo "export ALICEVISION_ROOT=${AV_BUNDLE}" >> /etc/profile.d/alicevision.sh |
0 commit comments