Skip to content

Commit

Permalink
Updating the docker image to test ParallelIO code
Browse files Browse the repository at this point in the history
  • Loading branch information
ckhroulev committed Nov 18, 2019
1 parent 82efca3 commit a11fe3e
Show file tree
Hide file tree
Showing 10 changed files with 17 additions and 10 deletions.
3 changes: 2 additions & 1 deletion doc/sphinx/installation/code/hdf5.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ tar xzf hdf5-${version}.tar.gz

pushd hdf5-${version}

CC=mpicc ./configure \
CC=mpicc CFLAGS=-w ./configure \
--disable-static \
--enable-parallel \
--prefix=${prefix} 2>&1 | tee hdf5_configure.log

Expand Down
Empty file modified doc/sphinx/installation/code/install_docu_libraries.sh
100644 → 100755
Empty file.
Empty file modified doc/sphinx/installation/code/install_libraries.sh
100644 → 100755
Empty file.
Empty file modified doc/sphinx/installation/code/io_libraries.sh
100644 → 100755
Empty file.
6 changes: 3 additions & 3 deletions doc/sphinx/installation/code/netcdf.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ tar zxf netcdf-c-${version}.tar.gz
pushd netcdf-c-${version}

CC=${hdf5}/bin/h5pcc ./configure \
--enable-netcdf4 \
--disable-dap \
--prefix=${prefix} 2>&1 | tee netcdf_configure.log
--enable-netcdf4 \
--disable-dap \
--prefix=${prefix} 2>&1 | tee netcdf_configure.log

make all 2>&1 | tee netcdf_compile.log
make install 2>&1 | tee netcdf_install.log
Expand Down
Empty file modified doc/sphinx/installation/code/parallelio.sh
100644 → 100755
Empty file.
Empty file modified doc/sphinx/installation/code/pnetcdf.sh
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion doc/sphinx/installation/parallel-io-libraries.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ First, install HDF5_ with parallel I/O:
:language: bash
:linenos:
:lines: 7-
:emphasize-lines: 18-20
:emphasize-lines: 18-21

Lines 18-20 are the important ones: to compile parallel HDF5 one should use the MPI
compiler wrapper ``mpicc`` and run ``configure`` with the option ``--enable-parallel``.
Expand Down
6 changes: 4 additions & 2 deletions docker/debian/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
configure_file(Dockerfile.in Dockerfile)
configure_file(build_netcdf.sh build_netcdf.sh COPYONLY)
configure_file(${Pism_SOURCE_DIR}/doc/sphinx/installation/code/hdf5.sh . COPYONLY)
configure_file(${Pism_SOURCE_DIR}/doc/sphinx/installation/code/netcdf.sh . COPYONLY)
configure_file(${Pism_SOURCE_DIR}/doc/sphinx/installation/code/parallelio.sh . COPYONLY)

set(PISM_DOCKER_DEBIAN_VERSION 0.1.0)
set(PISM_DOCKER_DEBIAN_VERSION 0.1.2)

add_custom_target(docker-debian
COMMAND docker build -t ${DOCKER_USERNAME}/pism-debian:${PISM_DOCKER_DEBIAN_VERSION} .
Expand Down
10 changes: 7 additions & 3 deletions docker/debian/Dockerfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,15 @@ RUN apt-get update && apt-get install -y \
RUN useradd --create-home --system --shell=/bin/false builder && usermod --lock builder
USER builder

# Install parallel HDF5 and NetCDF by building them from sources.
# Install parallel HDF5, NetCDF, and ParallelIO by building them from sources.
#
# Uses wget installed above.
COPY build_netcdf.sh /tmp/
RUN /tmp/build_netcdf.sh
COPY hdf5.sh /tmp/
COPY netcdf.sh /tmp/
RUN /tmp/hdf5.sh
RUN /tmp/netcdf.sh

# Install old PETSc (3.5)

# Add a flag needed to use OpenMPI in a Docker container.
# See https://github.com/open-mpi/ompi/issues/4948
Expand Down

0 comments on commit a11fe3e

Please sign in to comment.