-
Notifications
You must be signed in to change notification settings - Fork 128
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #645 from chuckatkins/add-ompi-images
Add aditional openmpi images
- Loading branch information
Showing
5 changed files
with
192 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Client maintainer: [email protected] | ||
set(CTEST_SITE "CircleCI") | ||
|
||
set(CTEST_BUILD_CONFIGURATION Debug) | ||
set(CTEST_CMAKE_GENERATOR "Unix Makefiles") | ||
set(CTEST_BUILD_FLAGS "-k -j4") | ||
set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) | ||
|
||
set(dashboard_model Experimental) | ||
set(dashboard_binary_name "build_$ENV{CIRCLE_JOB}") | ||
set(dashboard_track "Continuous Integration") | ||
|
||
set(CTEST_GIT_COMMAND "/usr/bin/git") | ||
set(CTEST_UPDATE_VERSION_ONLY TRUE) | ||
set(CTEST_SOURCE_DIRECTORY "$ENV{CIRCLE_WORKING_DIRECTORY}/source") | ||
set(CTEST_DASHBOARD_ROOT "$ENV{HOME}") | ||
|
||
include(${CMAKE_CURRENT_LIST_DIR}/EnvironmentModules.cmake) | ||
module(purge) | ||
module(load intel) | ||
module(load py2-numpy) | ||
module(load openmpi3) | ||
module(load py2-mpi4py) | ||
module(load phdf5) | ||
module(load adios) | ||
|
||
set(ENV{CC} icc) | ||
set(ENV{CXX} icpc) | ||
set(ENV{FC} ifort) | ||
set(ENV{CFLAGS} -Werror) | ||
set(ENV{CXXFLAGS} -Werror) | ||
set(ENV{FFLAGS} "-warn errors") | ||
|
||
set(dashboard_cache " | ||
ADIOS2_USE_ADIOS1:STRING=ON | ||
ADIOS2_USE_BZip2:STRING=ON | ||
ADIOS2_USE_DataMan:STRING=ON | ||
ADIOS2_USE_Fortran:STRING=ON | ||
ADIOS2_USE_HDF5:STRING=ON | ||
ADIOS2_USE_MPI:STRING=ON | ||
ADIOS2_USE_Python:STRING=ON | ||
#ADIOS2_USE_ZFP:STRING=ON | ||
ADIOS2_USE_ZeroMQ:STRING=ON | ||
#ZFP_ROOT:PATH=/opt/zfp/install | ||
MPI_C_COMPILER:FILEPATH=${MPI_C_COMPILER} | ||
MPI_CXX_COMPILER:FILEPATH=${MPI_CXX_COMPILER} | ||
MPI_Fortran_COMPILER:FILEPATH=${MPI_Fortran_COMPILER} | ||
MPIEXEC_MAX_NUMPROCS:STRING=16 | ||
") | ||
|
||
include(${CMAKE_CURRENT_LIST_DIR}/../dashboard/adios_common.cmake) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Client maintainer: [email protected] | ||
set(CTEST_SITE "CircleCI") | ||
set(CTEST_BUILD_CONFIGURATION Debug) | ||
set(CTEST_CMAKE_GENERATOR "Unix Makefiles") | ||
set(CTEST_BUILD_FLAGS "-k -j4") | ||
set(CTEST_TEST_ARGS PARALLEL_LEVEL 4) | ||
|
||
set(dashboard_model Experimental) | ||
set(dashboard_binary_name "build_$ENV{CIRCLE_JOB}") | ||
set(dashboard_track "Analysis") | ||
|
||
set(CTEST_GIT_COMMAND "/usr/bin/git") | ||
set(CTEST_UPDATE_VERSION_ONLY TRUE) | ||
set(CTEST_SOURCE_DIRECTORY "$ENV{CIRCLE_WORKING_DIRECTORY}/source") | ||
set(CTEST_DASHBOARD_ROOT "$ENV{HOME}") | ||
|
||
set(ENV{CC} gcc) | ||
set(ENV{CXX} g++) | ||
set(ENV{FC} gfortran) | ||
set(ENV{CFLAGS} -fsanitize=undefined -fno-sanitize-recover=all -pthread) | ||
set(ENV{CXXFLAGS} -fsanitize=undefined -fno-sanitize-recover=all -pthread) | ||
set(ENV{FFLAGS} -fsanitize=undefined -fno-sanitize-recover=all -pthread) | ||
set(ENV{UBSAN_OPTIONS} "print_stacktrace=1") | ||
|
||
include(${CMAKE_CURRENT_LIST_DIR}/EnvironmentModules.cmake) | ||
module(load mpi) | ||
|
||
set(dashboard_cache " | ||
ADIOS2_USE_ADIOS1:STRING=OFF | ||
ADIOS2_USE_BZip2:STRING=ON | ||
ADIOS2_USE_DataMan:STRING=ON | ||
ADIOS2_USE_Fortran:STRING=ON | ||
ADIOS2_USE_HDF5:STRING=ON | ||
ADIOS2_USE_MPI:STRING=ON | ||
ADIOS2_USE_Python:STRING=ON | ||
ADIOS2_USE_ZFP:STRING=OFF | ||
ADIOS2_USE_ZeroMQ:STRING=ON | ||
") | ||
|
||
include(${CMAKE_CURRENT_LIST_DIR}/../dashboard/adios_common.cmake) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
FROM centos:centos7 | ||
|
||
# Install core dev packages | ||
RUN yum -y install make curl file git gcc pkg-config \ | ||
gdb zlib zlib-devel bzip2 bzip2-libs bzip2-devel python-devel | ||
RUN yum -y install epel-release | ||
RUN yum -y install zeromq-devel | ||
|
||
# Install Intel C++ compiler | ||
WORKDIR /tmp | ||
COPY silent-custom.cfg /tmp | ||
RUN curl -L http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12717/parallel_studio_xe_2018_update2_cluster_edition.tgz | tar -xz \ | ||
&& ./parallel_studio_xe_2018_update2_cluster_edition/install.sh -s ./silent-custom.cfg \ | ||
&& rm -rf parallel_studio_xe_2018* silent* | ||
|
||
# Install extra repos | ||
RUN yum -y install epel-release https://github.com/openhpc/ohpc/releases/download/v1.3.GA/ohpc-release-1.3-1.el7.x86_64.rpm | ||
|
||
# Install intel OpenHPC packages | ||
RUN yum -y install \ | ||
lmod-ohpc intel-compilers-devel-ohpc python-numpy-intel-ohpc \ | ||
openmpi3-intel-ohpc python-mpi4py-intel-openmpi3-ohpc \ | ||
phdf5-intel-openmpi3-ohpc netcdf-intel-openmpi3-ohpc adios-intel-openmpi3-ohpc | ||
|
||
# Cleanup headers and packages | ||
RUN yum clean all | ||
|
||
# Install libfabric | ||
WORKDIR /opt/libfabric | ||
RUN curl -L https://github.com/ofiwg/libfabric/releases/download/v1.6.0/libfabric-1.6.0.tar.bz2 | tar -xj \ | ||
&& pushd libfabric-1.6.0 \ | ||
&& ./configure --prefix=/opt/libfabric/1.6.0 --libdir=/opt/libfabric/1.6.0/lib64 \ | ||
&& make -j8 install \ | ||
&& popd \ | ||
&& rm -rf libfabric-1.6.0 | ||
|
||
# Install the CMake binary | ||
WORKDIR /opt/cmake/3.6.3 | ||
RUN curl -L https://cmake.org/files/v3.6/cmake-3.6.3-Linux-x86_64.tar.gz | \ | ||
tar --strip-components=1 -xz | ||
|
||
# Create a non-root user to run the builds/tests | ||
RUN export uid=1001 gid=1001 && \ | ||
mkdir -p /home/adios2 && \ | ||
echo "adios2:x:${uid}:${gid}:adios2,,,:/home/adios2:/bin/bash" >> /etc/passwd && \ | ||
echo "adios2:x:${uid}:" >> /etc/group && \ | ||
chown ${uid}:${gid} -R /home/adios2 | ||
|
||
# Misc cleanup of unneeded files | ||
RUN rm -rfv /tmp/* \ | ||
&& rm -rfv \ | ||
/opt/intel/man \ | ||
/opt/intel/documentation_2018 \ | ||
/opt/intel/ide_support_2018 \ | ||
/opt/intel/samples_2018 \ | ||
/opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/benchmarks \ | ||
/opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/examples \ | ||
&& rm -rf /var/cache/yum | ||
|
||
USER adios2 | ||
ENV HOME /home/adios2 | ||
WORKDIR /home/adios2 | ||
CMD /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
ACCEPT_EULA=accept | ||
CONTINUE_WITH_OPTIONAL_ERROR=yes | ||
PSET_INSTALL_DIR=/opt/intel | ||
CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes | ||
PSET_MODE=install | ||
ACTIVATION_TYPE=trial_lic | ||
INTEL_SW_IMPROVEMENT_PROGRAM_CONSENT=no | ||
ARCH_SELECTED=INTEL64 | ||
COMPONENTS=;intel-comp__x86_64;intel-comp-doc__noarch;intel-comp-l-all-common__noarch;intel-comp-l-all-vars__noarch;intel-comp-nomcu-vars__noarch;intel-comp-ps__x86_64;intel-comp-ps-ss__x86_64;intel-comp-ps-ss-bec__x86_64;intel-openmp__x86_64;intel-openmp-common__noarch;intel-openmp-common-icc__noarch;intel-openmp-common-ifort__noarch;intel-openmp-ifort__x86_64;intel-tbb-libs__x86_64;intel-idesupport-icc-common-ps__noarch;intel-icc__x86_64;intel-c-comp-common__noarch;intel-icc-common__noarch;intel-icc-common-ps__noarch;intel-icc-common-ps-ss-bec__noarch;intel-icc-doc__noarch;intel-icc-doc-ps__noarch;intel-icc-ps__x86_64;intel-icc-ps-ss__x86_64;intel-icc-ps-ss-bec__x86_64;intel-ifort__x86_64;intel-ifort-common__noarch;intel-ifort-doc__noarch;intel-mkl-common__noarch;intel-mkl-core__x86_64;intel-mkl-core-rt__x86_64;intel-mkl-doc__noarch;intel-mkl-doc-ps__noarch;intel-mkl-cluster__x86_64;intel-mkl-cluster-common__noarch;intel-mkl-cluster-rt__x86_64;intel-mkl-common-ps__noarch;intel-mkl-core-ps__x86_64;intel-mkl-common-c__noarch;intel-mkl-core-c__x86_64;intel-mkl-common-c-ps__noarch;intel-mkl-cluster-c__noarch;intel-mkl-common-f__noarch;intel-mkl-core-f__x86_64;intel-mkl-cluster-f__noarch;intel-mkl-f95-common__noarch;intel-mkl-f__x86_64;intel-tbb-devel__x86_64;intel-tbb-common__noarch;intel-tbb-doc__noarch;intel-ism__noarch;intel-icsxe__noarch;intel-psxe-common__noarch;intel-psxe-doc__noarch;intel-psxe-common-doc__noarch;intel-icsxe-doc__noarch;intel-psxe-licensing__noarch;intel-psxe-licensing-doc__noarch;intel-icsxe-pset |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
FROM fedora:latest | ||
|
||
# Install core dev packages | ||
RUN dnf -y install gcc gcc-c++ gcc-gfortran cmake git make curl file patch \ | ||
zlib-devel bzip2-devel openmpi-devel hdf5-openmpi-devel \ | ||
python3-devel python3-numpy python3-mpi4py-openmpi zeromq-devel libubsan | ||
|
||
# Patch the installed Lmod to properly deal with a CMake shell | ||
RUN curl https://github.com/TACC/Lmod/commit/516a986322ac462876218ce140214824f47f5887.patch | patch -p 2 /usr/share/lmod/7.5.16/libexec/tcl2lua.tcl | ||
|
||
# Cleanup headers and packages | ||
RUN dnf clean all | ||
|
||
# Create a non-root user to run the builds/tests | ||
RUN export uid=1001 gid=1001 && \ | ||
mkdir -p /home/adios2 && \ | ||
echo "adios2:x:${uid}:${gid}:adios2,,,:/home/adios2:/bin/bash" >> /etc/passwd && \ | ||
echo "adios2:x:${uid}:" >> /etc/group && \ | ||
chown ${uid}:${gid} -R /home/adios2 | ||
|
||
# Misc cleanup of unneeded files | ||
RUN rm -rfv /tmp/* \ | ||
&& rm -rf /var/cache/dnf | ||
|
||
USER adios2 | ||
ENV HOME /home/adios2 | ||
WORKDIR /home/adios2 | ||
CMD /bin/bash |