-
Notifications
You must be signed in to change notification settings - Fork 48
/
Dockerfile
70 lines (58 loc) · 1.94 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Dockerfile for cuIBM
FROM nvidia/cuda:8.0-devel-ubuntu16.04
MAINTAINER Olivier Mesnard <mesnardo@gwu.edu>
# install base system
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
make \
vim \
git \
g++ \
wget \
ca-certificates
# CUSP
RUN CUSP_VERSION=0.5.1 && \
TARBALL=v${CUSP_VERSION}.tar.gz && \
wget https://github.com/cusplibrary/cusplibrary/archive/${TARBALL} && \
CUSP_DIR=/opt/cusp/${CUSP_VERSION} && \
mkdir -p ${CUSP_DIR} && \
tar -xvf ${TARBALL} -C ${CUSP_DIR} --strip-components=1 && \
rm -f ${TARBALL}
ENV CUSP_DIR=/opt/cusp/0.5.1
# Boost
RUN BOOST_VERSION=1.64.0 && \
TARBALL=boost_1_64_0.tar.gz && \
BOOST_DIR=/opt/boost/${BOOST_VERSION} && \
mkdir -p ${BOOST_DIR} && \
cd ${BOOST_DIR} && \
wget https://dl.bintray.com/boostorg/release/${BOOST_VERSION}/source/${TARBALL} && \
tar -xvf ${TARBALL} -C ${BOOST_DIR} --strip-components=1 && \
rm -f ${TARBALL}
ENV BOOST_DIR=/opt/boost/1.64.0
# cuIBM
RUN CUIBM_DIR=/opt/cuIBM && \
mkdir -p ${CUIBM_DIR} && \
cd /opt && \
git clone https://github.com/mesnardo/cuIBM.git && \
cd ${CUIBM_DIR} && \
BRANCH_NAME=master && \
git checkout -b ${BRANCH_NAME} origin/${BRANCH_NAME} && \
make -j2
ENV PATH=/opt/cuIBM/bin:$PATH \
CUIBM_DIR=/opt/cuIBM
# Miniconda
RUN MINICONDA_SCRIPT=Miniconda3-latest-Linux-x86_64.sh && \
wget https://repo.continuum.io/miniconda/${MINICONDA_SCRIPT} && \
bash ${MINICONDA_SCRIPT} -b -p /opt/miniconda && \
PATH=/opt/miniconda/bin:$PATH && \
conda update conda && \
conda install numpy scipy matplotlib pandas && \
rm -f ${MINICONDA_SCRIPT} && \
mkdir -p $HOME/.config/matplotlib && \
echo "backend: agg" > $HOME/.config/matplotlib/matplotlibrc
ENV PATH=/opt/miniconda/bin:$PATH
# Setup snake
RUN cd ${CUIBM_DIR}/external/snake-0.3 && \
python setup.py install
ENV SNAKE=${CUIBM_DIR}/external/snake-0.3