diff --git a/test/images/node-perf/npb-ep/BASEIMAGE b/test/images/node-perf/npb-ep/BASEIMAGE new file mode 100644 index 00000000000..fbe1ea05e77 --- /dev/null +++ b/test/images/node-perf/npb-ep/BASEIMAGE @@ -0,0 +1,3 @@ +amd64=debian:stretch-slim +arm64=arm64v8/debian:stretch-slim +ppc64le=ppc64le/debian:stretch-slim diff --git a/test/images/node-perf/npb-ep/Dockerfile b/test/images/node-perf/npb-ep/Dockerfile new file mode 100644 index 00000000000..d2b6b9f68ff --- /dev/null +++ b/test/images/node-perf/npb-ep/Dockerfile @@ -0,0 +1,42 @@ +# Copyright 2018 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM BASEIMAGE as build_node_perf_npb_ep + +CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/ + +RUN apt-get update && apt-get install -y build-essential gfortran + +ADD http://www.nas.nasa.gov/assets/npb/NPB3.3.1.tar.gz . +RUN tar xzf NPB3.3.1.tar.gz + +WORKDIR ./NPB3.3.1/NPB3.3-OMP +RUN if [ $(arch) != "x86_64" ]; then \ + sed s/-mcmodel=medium//g config/NAS.samples/make.def.gcc_x86 > config/make.def; \ +else \ + cp config/NAS.samples/make.def.gcc_x86 config/make.def; \ +fi +RUN make EP CLASS=D + +# Copying the required libraries (shared object files) to a convenient location so that it can be copied into the +# main container in the second build stage. +RUN mkdir -p /lib-copy && find /usr/lib -name "*.so.*" -exec cp {} /lib-copy \; + +FROM BASEIMAGE + +COPY --from=build_node_perf_npb_ep /NPB3.3.1/NPB3.3-OMP/bin/ep.D.x / +COPY --from=build_node_perf_npb_ep /lib-copy /lib-copy +ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/lib-copy" + +ENTRYPOINT /ep.D.x diff --git a/test/images/node-perf/npb-ep/README.md b/test/images/node-perf/npb-ep/README.md new file mode 100644 index 00000000000..b542766d145 --- /dev/null +++ b/test/images/node-perf/npb-ep/README.md @@ -0,0 +1,16 @@ +## NAS Parallel Benchmark Suite - Embarrassingly Parallel (EP) Benchmark + +The container image described here runs the EP benchmark from the +[NAS parallel benchmark suite.](https://www.nas.nasa.gov/publications/npb.html) +This image is used as a workload in in node performance testing. + +## How to release: +``` +# Build +$ cd $K8S_ROOT/test/images +$ make all WHAT=node-perf/npb-ep + +# Push +$ cd $K8S_ROOT/test/images +$ make all-push WHAT=node-perf/npb-ep +``` diff --git a/test/images/node-perf/npb-ep/VERSION b/test/images/node-perf/npb-ep/VERSION new file mode 100644 index 00000000000..d3827e75a5c --- /dev/null +++ b/test/images/node-perf/npb-ep/VERSION @@ -0,0 +1 @@ +1.0 diff --git a/test/images/node-perf/npb-is/BASEIMAGE b/test/images/node-perf/npb-is/BASEIMAGE new file mode 100644 index 00000000000..fbe1ea05e77 --- /dev/null +++ b/test/images/node-perf/npb-is/BASEIMAGE @@ -0,0 +1,3 @@ +amd64=debian:stretch-slim +arm64=arm64v8/debian:stretch-slim +ppc64le=ppc64le/debian:stretch-slim diff --git a/test/images/node-perf/npb-is/Dockerfile b/test/images/node-perf/npb-is/Dockerfile new file mode 100644 index 00000000000..c956658481e --- /dev/null +++ b/test/images/node-perf/npb-is/Dockerfile @@ -0,0 +1,44 @@ +# Copyright 2018 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM BASEIMAGE as build_node_perf_npb_is + +CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/ + +RUN apt-get update && apt-get install -y build-essential gfortran + +ADD http://www.nas.nasa.gov/assets/npb/NPB3.3.1.tar.gz . +RUN tar xzf NPB3.3.1.tar.gz + +WORKDIR ./NPB3.3.1/NPB3.3-OMP + +# Create build config based on the architecture and build the workload. +RUN if [ $(arch) != "x86_64" ]; then \ + sed s/-mcmodel=medium//g config/NAS.samples/make.def.gcc_x86 > config/make.def; \ +else \ + cp config/NAS.samples/make.def.gcc_x86 config/make.def; \ +fi +RUN make IS CLASS=D + +# Copying the required libraries (shared object files) to a convenient location so that it can be copied into the +# main container in the second build stage. +RUN mkdir -p /lib-copy && find /usr/lib -name "*.so.*" -exec cp {} /lib-copy \; + +FROM BASEIMAGE + +COPY --from=build_node_perf_npb_is /NPB3.3.1/NPB3.3-OMP/bin/is.D.x / +COPY --from=build_node_perf_npb_is /lib-copy /lib-copy +ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/lib-copy" + +ENTRYPOINT /is.D.x diff --git a/test/images/node-perf/npb-is/README.md b/test/images/node-perf/npb-is/README.md new file mode 100644 index 00000000000..8449574324d --- /dev/null +++ b/test/images/node-perf/npb-is/README.md @@ -0,0 +1,16 @@ +## NAS Parallel Benchmark Suite - Integer Sort (IS) Benchmark + +The container image described here runs the IS benchmark from the +[NAS parallel benchmark suite.](https://www.nas.nasa.gov/publications/npb.html) +This image is used as a workload in in node performance testing. + +## How to release: +``` +# Build +$ cd $K8S_ROOT/test/images +$ make all WHAT=node-perf/npb-is + +# Push +$ cd $K8S_ROOT/test/images +$ make all-push WHAT=node-perf/npb-is +``` diff --git a/test/images/node-perf/npb-is/VERSION b/test/images/node-perf/npb-is/VERSION new file mode 100644 index 00000000000..d3827e75a5c --- /dev/null +++ b/test/images/node-perf/npb-is/VERSION @@ -0,0 +1 @@ +1.0 diff --git a/test/images/node-perf/tf-wide-deep/BASEIMAGE b/test/images/node-perf/tf-wide-deep/BASEIMAGE new file mode 100644 index 00000000000..70bc384f0ab --- /dev/null +++ b/test/images/node-perf/tf-wide-deep/BASEIMAGE @@ -0,0 +1 @@ +amd64=python:3.6-slim-stretch diff --git a/test/images/node-perf/tf-wide-deep/Dockerfile b/test/images/node-perf/tf-wide-deep/Dockerfile new file mode 100644 index 00000000000..f5ab2c5c8dd --- /dev/null +++ b/test/images/node-perf/tf-wide-deep/Dockerfile @@ -0,0 +1,27 @@ +# Copyright 2018 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM BASEIMAGE + +RUN apt-get update && apt-get install -y wget time +RUN pip install tensorflow + +RUN wget https://github.com/tensorflow/models/archive/v1.9.0.tar.gz \ +&& tar xzf v1.9.0.tar.gz \ +&& rm -f v1.9.0.tar.gz + +WORKDIR $HOME/models-1.9.0/official/wide_deep +ENV PYTHONPATH $PYTHONPATH:$HOME/models-1.9.0 + +ENTRYPOINT python ./wide_deep.py diff --git a/test/images/node-perf/tf-wide-deep/README.md b/test/images/node-perf/tf-wide-deep/README.md new file mode 100644 index 00000000000..7126bf304da --- /dev/null +++ b/test/images/node-perf/tf-wide-deep/README.md @@ -0,0 +1,17 @@ +## Tensorflow Official Wide Deep Model + +The container image described here predicts the income using the census income dataset in Tensorflow. For more +information, see +[https://github.com/tensorflow/models/tree/master/official/wide_deep](https://github.com/tensorflow/models/tree/master/official/wide_deep). +This image is used as a workload in in node performance testing. + +## How to release: +``` +# Build +$ cd $K8S_ROOT/test/images +$ make all WHAT=node-perf/tf-wide-deep + +# Push +$ cd $K8S_ROOT/test/images +$ make all-push WHAT=node-perf/tf-wide-deep +``` diff --git a/test/images/node-perf/tf-wide-deep/VERSION b/test/images/node-perf/tf-wide-deep/VERSION new file mode 100644 index 00000000000..d3827e75a5c --- /dev/null +++ b/test/images/node-perf/tf-wide-deep/VERSION @@ -0,0 +1 @@ +1.0