d2f5fca82a
This commit adds two m4 macros: OPAL_SUMMARY_ADD, OPAL_SUMMARY_PRINT. OPAL_SUMMARY_ADD adds an item to a section in the summary. For example OPAL_SUMMARY_ADD([[Transports]],[[Foo]],...,[yes]) will add the following to the summary: Transports ----------------------- Foo: yes With this commit two sections are added: Transports, Resource Managers. The OPAL_SUMMARY_PRINT macro is called after AC_OUTPUT and prints out some information about the build (version, projects, etc) and then the summarys sections. It will additionally print a warning if internal debugging is enabled. Example output: Open MPI configuration: ----------------------- Version: 3.0.0 a1 Build Open Platform Abstration project: yes Build Open Runtime project: yes Build Open MPI project: yes Build Open SHMEM project: no MPI C++ bindings (deprecated): no MPI Fortran bindings: mpif.h, use mpi, use mpi_f08 Debug build: yes Transports ----------------------- Cray uGNI (Gemini/Aries): no Intel Omnipath (PSM2): no KNEM Shared Memory: no Linux CMA IPC: no Mellanox MXM: no Open UCX: no OpenFabrics libfabric: no OpenFabrics Verbs: no portals4: no QLogic Infinipath (PSM): no tcp: yes XPMEM Shared Memory: no Resource Managers ----------------------- Cray Alps: no Grid Engine: no LSF: no Slurm: yes Torque: yes INTERNAL DEBUGGING IS ENABLED. DO NOT USE THIS BUILD FOR PERFORMANCE MEASUREMENTS! Signed-off-by: Nathan Hjelm <hjelmn@me.com>
111 строки
3.4 KiB
Bash
111 строки
3.4 KiB
Bash
dnl -*- shell-script -*-
|
|
dnl
|
|
dnl Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
|
dnl reserved.
|
|
dnl $COPYRIGHT$
|
|
dnl
|
|
dnl Additional copyrights may follow
|
|
dnl
|
|
dnl $HEADER$
|
|
dnl
|
|
AC_DEFUN([OMPI_SUMMARY_ADD],[
|
|
OPAL_VAR_SCOPE_PUSH([ompi_summary_section ompi_summary_line ompi_summary_section_current])
|
|
|
|
dnl need to replace spaces in the section name with somethis else. _ seems like a reasonable
|
|
dnl choice. if this changes remember to change OMPI_PRINT_SUMMARY as well.
|
|
ompi_summary_section=$(echo $1 | tr ' ' '_')
|
|
ompi_summary_line="$2: $4"
|
|
ompi_summary_section_current=$(eval echo \$ompi_summary_values_$ompi_summary_section)
|
|
|
|
if test -z "$ompi_summary_section_current" ; then
|
|
if test -z "$ompi_summary_sections" ; then
|
|
ompi_summary_sections=$ompi_summary_section
|
|
else
|
|
ompi_summary_sections="$ompi_summary_sections $ompi_summary_section"
|
|
fi
|
|
eval ompi_summary_values_$ompi_summary_section=\"$ompi_summary_line\"
|
|
else
|
|
eval ompi_summary_values_$ompi_summary_section=\"$ompi_summary_section_current,$ompi_summary_line\"
|
|
fi
|
|
|
|
OPAL_VAR_SCOPE_POP
|
|
])
|
|
|
|
AC_DEFUN([OMPI_SUMMARY_PRINT],[
|
|
OPAL_VAR_SCOPE_PUSH([ompi_summary_section ompi_summary_section_name])
|
|
echo "\nOpen MPI configuration:"
|
|
echo "-----------------------"
|
|
echo "Version: $OMPI_MAJOR_VERSION.$OMPI_MINOR_VERSION.$OMPI_RELEASE_VERSION $OMPI_GREEK_VERSION"
|
|
|
|
dnl Print out which projects will be built
|
|
echo "Build Open Platform Abstration project: yes"
|
|
if test "$project_orte_amc" = "true" ; then
|
|
echo "Build Open Runtime project: yes"
|
|
else
|
|
echo "Build Open Runtime project: no"
|
|
fi
|
|
|
|
if test "$project_ompi_amc" = "true" ; then
|
|
echo "Build Open MPI project: yes"
|
|
else
|
|
echo "Build Open MPI project: no"
|
|
fi
|
|
|
|
if test "$project_shmem_amc" = "true" ; then
|
|
echo "Build Open SHMEM project: yes"
|
|
else
|
|
echo "Build Open SHMEM project: no"
|
|
fi
|
|
|
|
dnl Print out the bindings if we are building OMPI
|
|
if test "$project_ompi_amc" = "true" ; then
|
|
if test x$enable_mpi_cxx = xyes ; then
|
|
echo "MPI C++ bindings (deprecated): yes"
|
|
else
|
|
echo "MPI C++ bindings (deprecated): no"
|
|
fi
|
|
|
|
if test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_MPIFH_BINDINGS ; then
|
|
echo "MPI Fortran bindings: mpif.h"
|
|
elif test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_USEMPI_BINDINGS ; then
|
|
echo "MPI Fortran bindings: mpif.h, use mpi"
|
|
elif test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_USEMPIF08_BINDINGS ; then
|
|
echo "MPI Fortran bindings: mpif.h, use mpi, use mpi_f08"
|
|
else
|
|
echo "MPI Fortran bindings: no"
|
|
fi
|
|
|
|
if test x$opal_java_happy = xyes ; then
|
|
echo "MPI Java bindings (experimental): yes"
|
|
else
|
|
echo "MPI Java bindings (experimental): no"
|
|
fi
|
|
fi
|
|
|
|
if test $WANT_DEBUG = 0 ; then
|
|
echo "Debug build: no"
|
|
else
|
|
echo "Debug build: yes"
|
|
fi
|
|
|
|
if test ! -z $with_platform ; then
|
|
echo "Platform file: $with_platform"
|
|
fi
|
|
|
|
echo
|
|
|
|
for ompi_summary_section in $(echo $ompi_summary_sections) ; do
|
|
ompi_summary_section_name=$(echo $ompi_summary_section | tr '_' ' ')
|
|
echo "$ompi_summary_section_name"
|
|
echo "-----------------------"
|
|
echo "$(eval echo \$ompi_summary_values_$ompi_summary_section)" | tr ',' $'\n' | sort -f
|
|
echo
|
|
done
|
|
|
|
if test $WANT_DEBUG = 1 ; then
|
|
echo "INTERNAL DEBUGGING IS ENABLED. DO NOT USE THIS BUILD FOR PERFORMANCE MEASUREMENTS!\n"
|
|
fi
|
|
|
|
OPAL_VAR_SCOPE_POP
|
|
])
|