Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Support for cuda 9 and 10
- Support for RTX architecture
- Optional grid filtering
- Dockerfile
30 changes: 7 additions & 23 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
ARG CUDA_TAG=9.2-devel
FROM nvidia/cuda:$CUDA_TAG
ARG CUDA_TAG=10.2
ARG OS_TAG=18.04
FROM alicevision/popsift:deps-cuda${CUDA_TAG}-ubuntu${OS_TAG}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be consistent with AliceVision:
alicevision/popsift-deps:cuda${CUDA_TAG}-ubuntu${OS_TAG}
Or should we change on the other side?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah i didn't see that, I was just following Nvidia pattern nvidia/cuda:${CUDA_TAG}-devel-ubuntu${OS_TAG}

Copy link
Copy Markdown
Member Author

@simogasp simogasp May 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah no I thought u were referring to the - instead of _.
I put it like that because I thought on docker hub the image needs to have the same name as the repository hosting it.

LABEL maintainer="AliceVision Team alicevision@googlegroups.com"

# use CUDA_TAG to select the image version to use
Expand All @@ -16,26 +17,9 @@ LABEL maintainer="AliceVision Team alicevision@googlegroups.com"
# Cuda version (ENV): $CUDA_VERSION

# System update
RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends\
build-essential \
cmake \
git \
wget \
unzip \
yasm \
pkg-config \
libtool \
nasm \
automake \
libpng12-dev \
libjpeg-turbo8-dev \
libdevil-dev \
libboost-filesystem-dev \
libboost-system-dev \
libboost-program-options-dev \
libboost-thread-dev \
&& rm -rf /var/lib/apt/lists/*

COPY . /opt/popsift
WORKDIR /opt/popsift/build
RUN cmake .. -DCMAKE_BUILD_TYPE=Release && make install -j
RUN cmake .. -DCMAKE_BUILD_TYPE=Release && \
make install -j $(nproc) && \
cd /opt && \
rm -rf popsift
45 changes: 45 additions & 0 deletions Dockerfile_deps
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
ARG CUDA_TAG=10.2
ARG OS_TAG=18.04
FROM nvidia/cuda:${CUDA_TAG}-devel-ubuntu${OS_TAG}
LABEL maintainer="AliceVision Team alicevision@googlegroups.com"

# use CUDA_TAG to select the image version to use
# see https://hub.docker.com/r/nvidia/cuda/
#
# For example, to create a ubuntu 16.04 with cuda 8.0 for development, use
# docker build --build-arg CUDA_TAG=8.0 --tag alicevision/popsift:deps-cuda${CUDA_TAG}-ubuntu${OS_TAG} .
#
# then execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
# docker run -it --runtime=nvidia popsift_deps


# OS/Version (FILE): cat /etc/issue.net
# Cuda version (ENV): $CUDA_VERSION

# System update
RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends\
build-essential \
wget \
unzip \
libtool \
automake \
libssl-dev \
libjpeg-turbo8-dev \
libdevil-dev \
libboost-filesystem-dev \
libboost-system-dev \
libboost-program-options-dev \
libboost-thread-dev \
&& rm -rf /var/lib/apt/lists/*

# Manually install cmake
WORKDIR /tmp/cmake
ENV CMAKE_VERSION=3.17
ENV CMAKE_VERSION_FULL=${CMAKE_VERSION}.2
RUN wget https://cmake.org/files/v3.17/cmake-${CMAKE_VERSION_FULL}.tar.gz && \
tar zxvf cmake-${CMAKE_VERSION_FULL}.tar.gz && \
cd cmake-${CMAKE_VERSION_FULL} && \
./bootstrap --prefix=/usr/local -- -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_USE_OPENSSL:BOOL=ON && \
make -j$(nproc) install && \
cd /tmp && \
rm -rf cmake