-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile-gpu
49 lines (39 loc) · 1.94 KB
/
Dockerfile-gpu
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
# Use the official tensorflow-gpu as a base image
# Pinned image version using it's digest
FROM tensorflow/tensorflow:latest-gpu@sha256:807a3eaa544c49f9905cd9b5df50ee7463364f1f340ae665e70d49b3cd628fe4
MAINTAINER Shiva Manne <manneshiva@gmail.com>
WORKDIR "/"
#setting up Java & Maven for dl4j
RUN add-apt-repository -y ppa:webupd8team/java && \
apt-get update && \
echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections && \
apt-get install -y oracle-java8-installer && \
apt-get install -y libopenjfx-java && \
rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
ENV JAVAFX_HOME /usr/share/java/openjfx/jre/lib/ext/
RUN wget http://redrockdigimark.com/apachemirror/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz -P /maven/ && \
tar -zxf /maven/apache-maven-3.5.0-bin.tar.gz -C /maven && \
rm -rf /maven/apache-maven-3.5.0-bin.tar.gz
ENV PATH /maven/apache-maven-3.5.0/bin:$PATH
# Install python packages
RUN pip --no-cache-dir install \
gensim==2.1.0 \
memory_profiler==0.47 \
psutil==5.2.2 \
snowballstemmer==1.2.1 \
PyStemmer==1.3.0
COPY ./benchmark-word2vec-frameworks /benchmark-word2vec-frameworks
# build executable from .c file for orginalc code
WORKDIR /benchmark-word2vec-frameworks/nn_frameworks/originalc
RUN gcc word2vec.c -o word2vec -lm -pthread -Ofast -march=native -Wall -funroll-loops -Wno-unused-result
# compile tensorflow ops
WORKDIR /benchmark-word2vec-frameworks/nn_frameworks/tensorflow
RUN TF_INC=/usr/local/lib/python2.7/dist-packages/tensorflow/include && \
g++ -std=c++11 -shared word2vec_ops.cc word2vec_kernels.cc -o word2vec_ops.so -fPIC -I $TF_INC -O2 -D_GLIBCXX_USE_CXX11_ABI=0
# build the runnable dl4j jar
WORKDIR /benchmark-word2vec-frameworks/nn_frameworks/dl4j
RUN mvn package
WORKDIR /
CMD ["/bin/bash"]