From dad567b2b1b4b769e555f140ded6e26aabbe2511 Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Thu, 6 Nov 2025 21:21:32 -0800 Subject: [PATCH 01/12] PR fixes recommendations. 1. We use DATACRUMBS_INSTALL_RUNSTATEDIR from GNUInstallUtils to get the variable. Make checking of effective user id secure 2. We need to ensure that the effective user id is checked securely to prevent any potential security issues. 3. renamed infrastrutcure to infrastructure --- cmake/configure_files/datacrumbs_config.h.in | 1 + cmake/modules/datacrumbs-utils.cmake | 10 ++-- docs/build.rst | 4 +- etc/datacrumbs/configs/project.yaml.in | 6 +-- etc/datacrumbs/flux/cli/plugins/datacrumbs.py | 2 +- etc/datacrumbs/modulefiles/module.lua.in | 2 +- .../docker/Dockerfile | 0 .../docker/Dockerfile.build | 0 .../docker/README.md | 0 .../docker/test_run.sh | 0 .../lima/README.md | 0 .../lima/ebpf.yaml | 0 scripts/datacrumbs/datacrumbs_compose.in | 2 +- scripts/datacrumbs/datacrumbs_compose_run.in | 2 +- scripts/datacrumbs/datacrumbs_logging.in | 6 +-- scripts/datacrumbs/datacrumbs_run.in | 2 +- .../datacrumbs/datacrumbs_server_run.sh.in | 2 +- .../datacrumbs/datacrumbs_server_stop.sh.in | 2 +- .../datacrumbs_service_common.sh.in | 4 +- .../datacrumbs/datacrumbs_service_run.sh.in | 2 +- .../datacrumbs/datacrumbs_service_stop.sh.in | 2 +- scripts/datacrumbs/datacrumbs_setup.in | 17 ++++--- scripts/datacrumbs/datacrumbs_stop.in | 2 +- scripts/datacrumbs/datacrumbs_utility.in | 48 +++++++++---------- scripts/docker-build.sh | 12 ++--- scripts/formatting/autoformat.sh | 2 +- scripts/formatting/check-formatting.sh | 2 +- src/datacrumbs/server/process/server.impl.cpp | 3 +- 28 files changed, 71 insertions(+), 64 deletions(-) rename {infrastrutcure => infrastructure}/docker/Dockerfile (100%) rename {infrastrutcure => infrastructure}/docker/Dockerfile.build (100%) rename {infrastrutcure => infrastructure}/docker/README.md (100%) rename {infrastrutcure => infrastructure}/docker/test_run.sh (100%) rename {infrastrutcure => infrastructure}/lima/README.md (100%) rename {infrastrutcure => infrastructure}/lima/ebpf.yaml (100%) diff --git a/cmake/configure_files/datacrumbs_config.h.in b/cmake/configure_files/datacrumbs_config.h.in index 8ea47057..773491e8 100644 --- a/cmake/configure_files/datacrumbs_config.h.in +++ b/cmake/configure_files/datacrumbs_config.h.in @@ -42,6 +42,7 @@ #cmakedefine DATACRUMBS_CONFIG_PATH "@DATACRUMBS_CONFIG_PATH@" #cmakedefine DATACRUMBS_LOG_DIR "@DATACRUMBS_LOG_DIR@" #cmakedefine DATACRUMBS_DATA_DIR "@DATACRUMBS_DATA_DIR@" +#cmakedefine DATACRUMBS_INSTALL_RUNSTATEDIR "@DATACRUMBS_INSTALL_RUNSTATEDIR@" #cmakedefine DATACRUMBS_ENABLE_INCLUSION_PATH @DATACRUMBS_ENABLE_INCLUSION_PATH@ #ifndef DATACRUMBS_ENABLE_INCLUSION_PATH diff --git a/cmake/modules/datacrumbs-utils.cmake b/cmake/modules/datacrumbs-utils.cmake index 3bd71594..8653cdd4 100644 --- a/cmake/modules/datacrumbs-utils.cmake +++ b/cmake/modules/datacrumbs-utils.cmake @@ -419,10 +419,10 @@ macro(load_build_variables) set(CMAKE_INSTALL_INCLUDEDIR include) set(CMAKE_INSTALL_DOCDIR doc) set(CMAKE_INSTALL_SYSCONFDIR etc) + set(CMAKE_INSTALL_LIBEXECDIR libexec) + set(CMAKE_INSTALL_RUNSTATEDIR run) endif() - set(CMAKE_INSTALL_LIBEXEC_DIR libexec) - set(DATACRUMBS_INSTALL_BINARYDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}) set(DATACRUMBS_INSTALL_SBINARYDIR @@ -436,7 +436,7 @@ macro(load_build_variables) set(DATACRUMBS_INSTALL_SYSCONFDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_SYSCONFDIR}/${PROJECT_NAME}) set(DATACRUMBS_INSTALL_LIBEXEC - ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXEC_DIR}/${PROJECT_NAME}) + ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}) else() set(DATACRUMBS_INSTALL_BINARYDIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") set(DATACRUMBS_INSTALL_SBINARYDIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") @@ -445,9 +445,8 @@ macro(load_build_variables) set(DATACRUMBS_INSTALL_DOCDIR "${CMAKE_BINARY_DIR}/doc") set(DATACRUMBS_INSTALL_SYSCONFDIR "${CMAKE_BINARY_DIR}/etc/${PROJECT_NAME}") set(DATACRUMBS_INSTALL_LIBEXEC ${CMAKE_LIBEXEC_OUTPUT_DIRECTORY}) + set(DATACRUMBS_RUNSTATEDIR "run") endif() - - set(CMAKE_INSTALL_LIBEXEC_DIR libexec) set(CMAKE_INSTALL_CONFIGS_DIR configs) set(CMAKE_INSTALL_DATA_DIR data) set(CMAKE_INSTALL_MODULES_DIR lmod/modulefiles) @@ -459,6 +458,7 @@ macro(load_build_variables) set(DATACRUMBS_INSTALL_ETC_CMAKE ${DATACRUMBS_INSTALL_SYSCONFDIR}/cmake) set(DATACRUMBS_INSTALL_ETC_SYSTEMD ${DATACRUMBS_INSTALL_SYSCONFDIR}/systemd) set(DATACRUMBS_INSTALL_ETC_FLUX ${DATACRUMBS_INSTALL_SYSCONFDIR}/flux) + set(DATACRUMBS_INSTALL_RUNSTATEDIR /${CMAKE_INSTALL_RUNSTATEDIR}) # Set this at the top level of your project, before any install commands set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE) diff --git a/docs/build.rst b/docs/build.rst index 6f901e7a..105b82ac 100644 --- a/docs/build.rst +++ b/docs/build.rst @@ -51,7 +51,7 @@ The following dependencies are required for building `datacrumbs`: bpf_header=$(find . -name bpf.h | head -n 1) bpf_header=$(readlink -f $bpf_header) bpf_install_dir=$(dirname $(dirname $(dirname $bpf_header))) - if [ "$bpf_install_dir" != "$PREFIX" ]; then + if [[ "$bpf_install_dir" != "$PREFIX" ]]; then mv $bpf_install_dir/include $PREFIX mv $bpf_install_dir/lib* $PREFIX fi @@ -59,7 +59,7 @@ The following dependencies are required for building `datacrumbs`: bpftool=$(find . -name bpftool | head -n 1) bpftool=$(readlink -f $bpftool) bpftool_install_dir=$(dirname $(dirname $bpftool)) - if [ "$bpftool_install_dir" != "$PREFIX" ]; then + if [[ "$bpftool_install_dir" != "$PREFIX" ]]; then mv $bpftool_install_dir/* $PREFIX fi popd diff --git a/etc/datacrumbs/configs/project.yaml.in b/etc/datacrumbs/configs/project.yaml.in index 2256ea49..fcb3d4c9 100644 --- a/etc/datacrumbs/configs/project.yaml.in +++ b/etc/datacrumbs/configs/project.yaml.in @@ -7,7 +7,7 @@ install: bin_dir: ${DATACRUMBS_INSTALL_PREFIX}/@CMAKE_INSTALL_BINDIR@ sbin_dir: ${DATACRUMBS_INSTALL_PREFIX}/@CMAKE_INSTALL_SBINDIR@ lib_dir: ${DATACRUMBS_INSTALL_PREFIX}/@CMAKE_INSTALL_LIBDIR@ - libexec_dir: ${DATACRUMBS_INSTALL_PREFIX}/@CMAKE_INSTALL_LIBEXEC_DIR@/@PROJECT_NAME@ + libexec_dir: ${DATACRUMBS_INSTALL_PREFIX}/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@ etc_dir: ${DATACRUMBS_INSTALL_PREFIX}/@CMAKE_INSTALL_SYSCONFDIR@/@PROJECT_NAME@ configs_dir: ${DATACRUMBS_INSTALL_ETC_DIR}/@CMAKE_INSTALL_CONFIGS_DIR@ data_dir: ${DATACRUMBS_INSTALL_ETC_DIR}/@CMAKE_INSTALL_DATA_DIR@ @@ -23,8 +23,8 @@ log: dir: @DATACRUMBS_CONFIGURED_LOG_DIR@ server: load_timeout: ${DATACRUMBS_SERVER_TIMEOUT_USER:-600} - pid_file: /var/run/datacrumbs.pid - runid_file: /tmp/datacrumbs.runid + pid_file: @DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs.pid + runid_file: @DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs.runid module: 0 preamble: job: diff --git a/etc/datacrumbs/flux/cli/plugins/datacrumbs.py b/etc/datacrumbs/flux/cli/plugins/datacrumbs.py index f53401a0..d9a88782 100644 --- a/etc/datacrumbs/flux/cli/plugins/datacrumbs.py +++ b/etc/datacrumbs/flux/cli/plugins/datacrumbs.py @@ -45,7 +45,7 @@ def validate(self, jobspec): # user = jobspec.attributes["system"]["environment"].get("USER", "") # if user == "": # raise ValueError("USER environment variable is required for datacrumbs composite validation") - # file = f"@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXEC_DIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/{user}/datacrumbs_{composite_name}" + # file = f"@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/{user}/datacrumbs_{composite_name}" # if not os.path.exists(file): # raise ValueError(f"Datacrumbs composite: {composite_name} does not exist") except KeyError: diff --git a/etc/datacrumbs/modulefiles/module.lua.in b/etc/datacrumbs/modulefiles/module.lua.in index 71bb7e92..fb91b4a5 100644 --- a/etc/datacrumbs/modulefiles/module.lua.in +++ b/etc/datacrumbs/modulefiles/module.lua.in @@ -23,7 +23,7 @@ local user = os.getenv("DATACRUMBS_USER") or os.getenv("USER") or "@DATACRUMBS_I local bin_dir = pathJoin(prefix, "@CMAKE_INSTALL_BINDIR@") local sbin_dir = pathJoin(prefix, "@CMAKE_INSTALL_SBINDIR@") local etc_dir = pathJoin(prefix, "@CMAKE_INSTALL_SYSCONFDIR@") -local userbin = prefix .. "/@CMAKE_INSTALL_LIBEXEC_DIR@/@CMAKE_INSTALL_SBINDIR@/" .. user +local userbin = prefix .. "/@CMAKE_INSTALL_LIBEXECDIR@/@CMAKE_INSTALL_SBINDIR@/" .. user local libexec_dir = pathJoin(prefix, userbin) local lib_dir = pathJoin(prefix, "@DATACRUMBS_INSTALL_LIB_DIR@") diff --git a/infrastrutcure/docker/Dockerfile b/infrastructure/docker/Dockerfile similarity index 100% rename from infrastrutcure/docker/Dockerfile rename to infrastructure/docker/Dockerfile diff --git a/infrastrutcure/docker/Dockerfile.build b/infrastructure/docker/Dockerfile.build similarity index 100% rename from infrastrutcure/docker/Dockerfile.build rename to infrastructure/docker/Dockerfile.build diff --git a/infrastrutcure/docker/README.md b/infrastructure/docker/README.md similarity index 100% rename from infrastrutcure/docker/README.md rename to infrastructure/docker/README.md diff --git a/infrastrutcure/docker/test_run.sh b/infrastructure/docker/test_run.sh similarity index 100% rename from infrastrutcure/docker/test_run.sh rename to infrastructure/docker/test_run.sh diff --git a/infrastrutcure/lima/README.md b/infrastructure/lima/README.md similarity index 100% rename from infrastrutcure/lima/README.md rename to infrastructure/lima/README.md diff --git a/infrastrutcure/lima/ebpf.yaml b/infrastructure/lima/ebpf.yaml similarity index 100% rename from infrastrutcure/lima/ebpf.yaml rename to infrastructure/lima/ebpf.yaml diff --git a/scripts/datacrumbs/datacrumbs_compose.in b/scripts/datacrumbs/datacrumbs_compose.in index fc472d52..148666fc 100755 --- a/scripts/datacrumbs/datacrumbs_compose.in +++ b/scripts/datacrumbs/datacrumbs_compose.in @@ -92,7 +92,7 @@ elif [[ "$ACTION" == "compose" ]]; then done log "Composing $COMPOSABLE_NAME for: ${DATACRUMBS_USER}" - BUILD_DIR="/tmp/datacrumbs_${DATACRUMBS_USER}_$(date +%s%N)" + BUILD_DIR="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_$(date +%s%N)" if [[ -d "${BUILD_DIR}" ]]; then warn "Cleaning existing build directory: ${BUILD_DIR}" run rm -rf "${BUILD_DIR}" diff --git a/scripts/datacrumbs/datacrumbs_compose_run.in b/scripts/datacrumbs/datacrumbs_compose_run.in index ca41496b..d3765493 100755 --- a/scripts/datacrumbs/datacrumbs_compose_run.in +++ b/scripts/datacrumbs/datacrumbs_compose_run.in @@ -67,7 +67,7 @@ fi RUNID=${!DATACRUMBS_JOB_ID_VAR} RUNID=${RUNID:-1000} DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="/tmp/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" +READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" debug "RUNID: $RUNID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" diff --git a/scripts/datacrumbs/datacrumbs_logging.in b/scripts/datacrumbs/datacrumbs_logging.in index a2e739d0..56903c96 100755 --- a/scripts/datacrumbs/datacrumbs_logging.in +++ b/scripts/datacrumbs/datacrumbs_logging.in @@ -1,14 +1,14 @@ #! /usr/bin/env bash log() { - if [ "${QUIET:-0}" -eq 0 ]; then + if [[ "${QUIET:-0}" == "0" ]]; then printf "[INFO $(date '+%Y-%m-%d %H:%M:%S')] $@" printf "\n" fi } debug() { - if [ "${VERBOSE:-0}" -eq 1 ] && [ "${QUIET:-1}" -eq 0 ]; then + if [[ "${VERBOSE:-0}" == "1" ]] && [[ "${QUIET:-1}" == "0" ]]; then printf "[DEBUG $(date '+%Y-%m-%d %H:%M:%S')] $@" printf "\n" fi @@ -20,7 +20,7 @@ error() { } warn() { - if [ "${QUIET:-1}" != "" ] && [ "${QUIET:-1}" -eq 0 ]; then + if [[ "${QUIET:-1}" != "" ]] && [[ "${QUIET:-1}" == "0" ]]; then printf "[WARN $(date '+%Y-%m-%d %H:%M:%S')] $@" >&2 printf "\n" >&2 fi diff --git a/scripts/datacrumbs/datacrumbs_run.in b/scripts/datacrumbs/datacrumbs_run.in index e03a7393..02ee45fa 100755 --- a/scripts/datacrumbs/datacrumbs_run.in +++ b/scripts/datacrumbs/datacrumbs_run.in @@ -50,7 +50,7 @@ check_regular_user RUNID=${!DATACRUMBS_JOB_ID_VAR} RUNID=${RUNID:-1000} DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="/tmp/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" +READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" debug "RUNID: $RUNID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" diff --git a/scripts/datacrumbs/datacrumbs_server_run.sh.in b/scripts/datacrumbs/datacrumbs_server_run.sh.in index 4e6ddfd8..fd2c7442 100755 --- a/scripts/datacrumbs/datacrumbs_server_run.sh.in +++ b/scripts/datacrumbs/datacrumbs_server_run.sh.in @@ -47,7 +47,7 @@ check_sudo_user RUNID=${!DATACRUMBS_JOB_ID_VAR} RUNID=${RUNID:-1000} DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="/tmp/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" +READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" debug "RUNID: $RUNID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" diff --git a/scripts/datacrumbs/datacrumbs_server_stop.sh.in b/scripts/datacrumbs/datacrumbs_server_stop.sh.in index 473848d6..5bceafef 100755 --- a/scripts/datacrumbs/datacrumbs_server_stop.sh.in +++ b/scripts/datacrumbs/datacrumbs_server_stop.sh.in @@ -52,7 +52,7 @@ check_sudo_user RUNID=${!DATACRUMBS_JOB_ID_VAR} RUNID=${RUNID:-1000} DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR:-/tmp}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="/tmp/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" +READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" debug "RUNID: $RUNID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" diff --git a/scripts/datacrumbs/datacrumbs_service_common.sh.in b/scripts/datacrumbs/datacrumbs_service_common.sh.in index 621a45e9..ff4ebd9c 100755 --- a/scripts/datacrumbs/datacrumbs_service_common.sh.in +++ b/scripts/datacrumbs/datacrumbs_service_common.sh.in @@ -23,10 +23,10 @@ if [[ ${FLUX_DATACRUMBS_COMPOSE} == "null" || ${FLUX_DATACRUMBS_COMPOSE} == "" logger "User hasn't requested datacrumbs' composite feature using ${DATACRUMBS_COMPOSABLE_NAME}." else DATACRUMBS_COMPOSABLE_NAME=${FLUX_DATACRUMBS_COMPOSE} - if [ -n "$FLUX_JOB_USERID" ]; then + if [[ -n "$FLUX_JOB_USERID" ]]; then DATACRUMBS_USER=$(id -nu $FLUX_JOB_USERID) fi - if [[ ! -f "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXEC_DIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER}/datacrumbs_${DATACRUMBS_COMPOSABLE_NAME}" ]]; then + if [[ ! -f "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER}/datacrumbs_${DATACRUMBS_COMPOSABLE_NAME}" ]]; then warn_user "Error: Composable name ${DATACRUMBS_COMPOSABLE_NAME} does not exist." return 1 fi diff --git a/scripts/datacrumbs/datacrumbs_service_run.sh.in b/scripts/datacrumbs/datacrumbs_service_run.sh.in index 6edf519e..6ef0b518 100755 --- a/scripts/datacrumbs/datacrumbs_service_run.sh.in +++ b/scripts/datacrumbs/datacrumbs_service_run.sh.in @@ -1,6 +1,6 @@ #!/bin/bash source @DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_service_common.sh -if [ $? -eq 0 ]; then +if [[ $? -eq 0 ]]; then umask 022 printenv > /run/datacrumbs.env echo datacrumbs_service_run "Starting datacrumbs service run script on job ${FLUX_JOB_ID}" diff --git a/scripts/datacrumbs/datacrumbs_service_stop.sh.in b/scripts/datacrumbs/datacrumbs_service_stop.sh.in index 291c707c..23a50b54 100755 --- a/scripts/datacrumbs/datacrumbs_service_stop.sh.in +++ b/scripts/datacrumbs/datacrumbs_service_stop.sh.in @@ -1,6 +1,6 @@ #!/bin/bash source @DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_service_common.sh -if [ $? -eq 0 ]; then +if [[ $? -eq 0 ]]; then sudo systemctl stop datacrumbs@$DATACRUMBS_COMPOSABLE_NAME.service fi exit 0 diff --git a/scripts/datacrumbs/datacrumbs_setup.in b/scripts/datacrumbs/datacrumbs_setup.in index 3abd1430..8c292deb 100755 --- a/scripts/datacrumbs/datacrumbs_setup.in +++ b/scripts/datacrumbs/datacrumbs_setup.in @@ -1,24 +1,29 @@ #! /usr/bin/env bash +if [[ -z "${BASH_VERSION}" ]]; then + error "This script requires bash" + exit 1 +fi + SCRIPT_DIR=@DATACRUMBS_INSTALL_BINARYDIR@ CONFIG_FILE=@DATACRUMBS_INSTALL_ETC_CONFIGSDIR@/project.yaml source ${SCRIPT_DIR}/datacrumbs_utility -if [ "${DATACRUMBS_ENV_LOADED:-0}" -eq 0 ]; then - if [ "$EUID" -ne 0 ]; then +if [[ "${DATACRUMBS_ENV_LOADED:-0}" == "0" ]]; then + if [[ "$(id -u)" != "0" ]]; then export DATACRUMBS_IS_ROOT=0 export DATACRUMBS_USER=$(id -un) else export DATACRUMBS_IS_ROOT=1 export DATACRUMBS_USER=$SUDO_USER - if [ -z "$DATACRUMBS_USER" ]; then + if [[ -z "$DATACRUMBS_USER" ]]; then DATACRUMBS_USER=$USER debug "User is root." fi - if [ -z "$DATACRUMBS_USER" ] || [ "$DATACRUMBS_USER" = "root" ]; then - if [ -n "$FLUX_JOB_USERID" ]; then + if [[ -z "$DATACRUMBS_USER" ]] || [[ "$DATACRUMBS_USER" = "root" ]]; then + if [[ -n "$FLUX_JOB_USERID" ]]; then DATACRUMBS_USER=$(id -nu $FLUX_JOB_USERID) fi fi @@ -40,7 +45,7 @@ if [ "${DATACRUMBS_ENV_LOADED:-0}" -eq 0 ]; then eval $DATACRUMBS_SERVER_PREAMBLE fi -if [ "$DATACRUMBS_MODULE_AVAILABLE" -eq 1 ] && [ "$DATACRUMBS_SERVER_MODULE" == "1" ]; then +if [[ "$DATACRUMBS_MODULE_AVAILABLE" == "1" ]] && [[ "$DATACRUMBS_SERVER_MODULE" == "1" ]]; then if ! module is-loaded datacrumbs/@DATACRUMBS_RELEASE_VERSION_STRING@; then module use @DATACRUMBS_INSTALL_ETC_MODULESDIR@ module load datacrumbs/@DATACRUMBS_RELEASE_VERSION_STRING@ diff --git a/scripts/datacrumbs/datacrumbs_stop.in b/scripts/datacrumbs/datacrumbs_stop.in index 6c4b140a..3fc2b7fe 100755 --- a/scripts/datacrumbs/datacrumbs_stop.in +++ b/scripts/datacrumbs/datacrumbs_stop.in @@ -13,7 +13,7 @@ if [[ "$DATACRUMBS_IS_ROOT" != "1" ]]; then exit 1 fi -if [ "$PROG_NAME" == "" ]; then +if [[ "$PROG_NAME" == "" ]]; then ps -aef | grep 'datacrumbs' | grep ${DATACRUMBS_USER} | awk '{print $2}' | xargs kill -9 else ps -aef | grep 'datacrumbs' | grep ${DATACRUMBS_USER} | grep -v $PROG_NAME | awk '{print $2}' | xargs kill -9 diff --git a/scripts/datacrumbs/datacrumbs_utility.in b/scripts/datacrumbs/datacrumbs_utility.in index 116298d4..7927fc85 100755 --- a/scripts/datacrumbs/datacrumbs_utility.in +++ b/scripts/datacrumbs/datacrumbs_utility.in @@ -30,13 +30,13 @@ function datacrumbs_parse_yaml { function datacrumbs_run_command() { local err_msg="$1" shift - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would run: $*" return 0 fi "$@" local status=$? - if [ $status -ne 0 ]; then + if [[ $status -ne 0 ]]; then log "Error: $err_msg" exit $status fi @@ -46,20 +46,20 @@ function datacrumbs_run_command() { # datacrumbs_run_command "Failed to list directory" ls /nonexistent/path function datacrumbs_finalize() { - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would finalize for user: $DATACRUMBS_USER, log path: $DATACRUMBS_TRACE_DIR" return 0 fi } function datacrumbs_init() { - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would create log directory: ${DATACRUMBS_TRACE_DIR}" return 0 fi - if [ ! -d "${DATACRUMBS_TRACE_DIR}" ]; then + if [[ ! -d "${DATACRUMBS_TRACE_DIR}" ]]; then mkdir -p "${DATACRUMBS_TRACE_DIR}" - if [ $? -ne 0 ]; then + if [[ $? -ne 0 ]]; then error "Failed to create trace directory: ${DATACRUMBS_TRACE_DIR}" exit 1 fi @@ -68,13 +68,13 @@ function datacrumbs_init() { } function datacrumbs_start_server() { - if [ "$RUNID" == "1000" ]; then + if [[ "$RUNID" == "1000" ]]; then RUNID=$(date +"%Y-%m-%d-%H-%M-%S") fi - READY_FILE="/tmp/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" + READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" exec=$1 exec=($exec) - if [ -z "$DATACRUMBS_TRACE_DIR" ]; then + if [[ -z "$DATACRUMBS_TRACE_DIR" ]]; then error "DATACRUMBS_TRACE_DIR is empty. Please set the trace directory." exit 1 fi @@ -84,7 +84,7 @@ function datacrumbs_start_server() { ELAPSED=0 log "Starting Server: ${cmd[*]}" - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then server_launch "${cmd[@]}" else server_launch "${cmd[@]}" > $DATACRUMBS_LOG_FILE 2>&1 & @@ -94,17 +94,17 @@ function datacrumbs_start_server() { chown ${DATACRUMBS_USER}:${DATACRUMBS_USER} $DATACRUMBS_LOG_FILE fi - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would wait for ready file: $READY_FILE (DATACRUMBS_SERVER_LOAD_TIMEOUT: $DATACRUMBS_SERVER_LOAD_TIMEOUT seconds)" return 0 fi - while [ ! -f "$READY_FILE" ]; do + while [[ ! -f "$READY_FILE" ]]; do sleep $WAIT_INTERVAL log "Waiting for ${ELAPSED} seconds $Server..." ELAPSED=$((ELAPSED + WAIT_INTERVAL)) - if [ $ELAPSED -ge $DATACRUMBS_SERVER_LOAD_TIMEOUT ]; then + if [[ $ELAPSED -ge $DATACRUMBS_SERVER_LOAD_TIMEOUT ]]; then log "DATACRUMBS_SERVER_LOAD_TIMEOUT waiting for $READY_FILE" server_launch $DATACRUMBS_INSTALL_SBIN_DIR/datacrumbs_stop cat $DATACRUMBS_LOG_FILE @@ -118,30 +118,30 @@ function datacrumbs_start_server() { function datacrumbs_stop_server() { exec=$1 prog_name=$2 - if [ "$RUNID" == "1000" ] && [ -f "$DATACRUMBS_SERVER_RUNID_FILE" ]; then + if [[ "$RUNID" == "1000" ]] && [[ -f "$DATACRUMBS_SERVER_RUNID_FILE" ]]; then RUNID=$(cat "$DATACRUMBS_SERVER_RUNID_FILE" 2>/dev/null) fi - READY_FILE="/tmp/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" + READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" exec=($exec) common_cmd=("$DATACRUMBS_INSTALL_HOST" "--user" "$DATACRUMBS_USER" "--config_path" "$DATACRUMBS_INSTALL_CONFIGS_DIR" "--data_dir" "$DATACRUMBS_INSTALL_DATA_DIR" "--trace_log_dir" "$DATACRUMBS_TRACE_DIR" --run_id "$RUNID") cmd=("${exec[@]}" "stop" "${common_cmd[@]}") log "Stopping Server: ${cmd[*]}" - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then server_launch "${cmd[@]}" else server_launch "${cmd[@]}" >> $DATACRUMBS_LOG_FILE 2>&1 fi - - if [ "${DRY_RUN:-0}" -eq 1 ]; then + + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would find and kill process(es) with RUNID ${RUNID}" log "[DRY RUN] Would remove ready file: $READY_FILE" return 0 fi SERVER_PID=$(cat "$DATACRUMBS_SERVER_PID_FILE") # SERVER_PID=$(ps aux | grep "${RUNID}" | grep -v grep | grep -v "${prog_name}" | awk '{print $2}') - if [ -n "$SERVER_PID" ]; then + if [[ -n "$SERVER_PID" ]]; then log "Found process(es) with RUNID ${RUNID}: $SERVER_PID. Killing them." if [[ "$DATACRUMBS_IS_ROOT" == "1" ]]; then ${DATACRUMBS_INSTALL_SBIN_DIR}/datacrumbs_stop "${prog_name}" @@ -156,17 +156,17 @@ function datacrumbs_stop_server() { } function datacrumbs_print_status() { - if [ "$RUNID" == "1000" ] && [ -f "$DATACRUMBS_SERVER_RUNID_FILE" ]; then + if [[ "$RUNID" == "1000" ]] && [[ -f "$DATACRUMBS_SERVER_RUNID_FILE" ]]; then RUNID=$(cat "$DATACRUMBS_SERVER_RUNID_FILE" 2>/dev/null) fi local status_file="/tmp/datacrumbs_${DATACRUMBS_USER}_status_${RUNID}.json" - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would print status from: $status_file" log "[DRY RUN] Would remove status file: $status_file" return 0 fi - if [ ! -f "$status_file" ]; then + if [[ ! -f "$status_file" ]]; then log "Status file not found: $status_file" return 1 fi @@ -212,7 +212,7 @@ function job_launch() { debug "Launching job without MPI" cmd=("$@") fi - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would launch job: ${cmd[*]}" return 0 fi @@ -241,7 +241,7 @@ function server_launch() { debug "Launching server without MPI" cmd=( "${cmd[@]}" --disable_mpi) fi - if [ "${DRY_RUN:-0}" -eq 1 ]; then + if [[ "${DRY_RUN:-0}" -eq 1 ]]; then log "[DRY RUN] Would launch server: ${cmd[*]}" return 0 fi diff --git a/scripts/docker-build.sh b/scripts/docker-build.sh index f56a8d56..53972794 100755 --- a/scripts/docker-build.sh +++ b/scripts/docker-build.sh @@ -31,7 +31,7 @@ print_error() { } # Check if we're in the correct directory -if [ ! -f "$DOCKERFILE_PATH" ]; then +if [[ ! -f "$DOCKERFILE_PATH" ]]; then print_error "Dockerfile not found at $DOCKERFILE_PATH" print_error "Please run this script from the datacrumbs root directory" exit 1 @@ -86,7 +86,7 @@ while [[ $# -gt 0 ]]; do done # Validate Docker Hub username if pushing -if [ "$PUSH_TO_HUB" = true ] && [ "$DOCKER_HUB_USERNAME" = "your-dockerhub-username" ]; then +if [[ "$PUSH_TO_HUB" = true ]] && [[ "$DOCKER_HUB_USERNAME" = "your-dockerhub-username" ]]; then print_error "Please provide a valid Docker Hub username with -u or set DOCKER_HUB_USERNAME environment variable" exit 1 fi @@ -121,7 +121,7 @@ else fi # Tag for Docker Hub if pushing -if [ "$PUSH_TO_HUB" = true ]; then +if [[ "$PUSH_TO_HUB" = true ]]; then print_status "Tagging image for Docker Hub..." # Tag with version @@ -133,7 +133,7 @@ if [ "$PUSH_TO_HUB" = true ]; then fi # Tag as latest if version is not already latest - if [ "$VERSION" != "latest" ]; then + if [[ "$VERSION" != "latest" ]]; then if $CONTAINER_CMD tag "$LOCAL_TAG" "$HUB_LATEST_TAG"; then print_status "✅ Tagged as $HUB_LATEST_TAG" else @@ -162,7 +162,7 @@ if [ "$PUSH_TO_HUB" = true ]; then fi # Push latest tag if different from version - if [ "$VERSION" != "latest" ]; then + if [[ "$VERSION" != "latest" ]]; then if $PUSH_CMD "$HUB_LATEST_TAG"; then print_status "✅ Pushed $HUB_LATEST_TAG" else @@ -175,7 +175,7 @@ if [ "$PUSH_TO_HUB" = true ]; then echo "" echo "Your image is now available at:" echo " docker pull $HUB_TAG" - if [ "$VERSION" != "latest" ]; then + if [[ "$VERSION" != "latest" ]]; then echo " docker pull $HUB_LATEST_TAG" fi else diff --git a/scripts/formatting/autoformat.sh b/scripts/formatting/autoformat.sh index 9b3e608c..b397ab82 100755 --- a/scripts/formatting/autoformat.sh +++ b/scripts/formatting/autoformat.sh @@ -1,7 +1,7 @@ #! /bin/bash clang_format_exe="clang-format" -if [ $# -ge 1 ]; then +if [[ $# -ge 1 ]]; then clang_format_exe="$1" fi diff --git a/scripts/formatting/check-formatting.sh b/scripts/formatting/check-formatting.sh index b66a6f2b..ed8a1c37 100755 --- a/scripts/formatting/check-formatting.sh +++ b/scripts/formatting/check-formatting.sh @@ -1,7 +1,7 @@ #! /bin/bash clang_format_exe="clang-format" -if [ $# -ge 1 ]; then +if [[ $# -ge 1 ]]; then clang_format_exe="$1" fi diff --git a/src/datacrumbs/server/process/server.impl.cpp b/src/datacrumbs/server/process/server.impl.cpp index f782fd47..70f011e5 100644 --- a/src/datacrumbs/server/process/server.impl.cpp +++ b/src/datacrumbs/server/process/server.impl.cpp @@ -519,7 +519,8 @@ static int main_process(int argc, char** argv, datacrumbs::EventProcessor* event // Main event polling loop signal(SIGINT, sig_handler); if (event_processor->configManager_->mpi_rank == 0) { - std::string ready_file = "/tmp/datacrumbs_" + event_processor->configManager_->user + "_" + + std::string ready_file = std::string(DATACRUMBS_INSTALL_RUNSTATEDIR) + "/datacrumbs_" + + event_processor->configManager_->user + "_" + event_processor->configManager_->run_id + ".ready"; std::ofstream ofs_ready(ready_file); ofs_ready << "ready" << std::endl; From db2413dccf9d7367163467afc3fba573fe498f47 Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Thu, 6 Nov 2025 16:34:57 -0800 Subject: [PATCH 02/12] feat: Enhance argument parsing and logging, add UTF-8 character removal, and update dependency handling --- .vscode/settings.json | 3 - cmake/modules/datacrumbs-utils.cmake | 9 ++- notes.MD | 10 ++- scripts/datacrumbs/datacrumbs_compose.in | 2 +- scripts/datacrumbs/datacrumbs_utility.in | 4 +- .../common/configuration_manager.cpp | 4 +- src/datacrumbs/common/utils.h | 61 +++++++++++++++++++ src/datacrumbs/composable/CMakeLists.txt.in | 43 ++++++++++++- .../server/process/event_processor.cpp | 4 +- 9 files changed, 126 insertions(+), 14 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 4048a73d..6d343ec1 100755 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,4 @@ { - "cmake.configureArgs": [ - "-DCMAKE_PREFIX_PATH=/home/cc/datacrumbs/dependency/.spack-env/view" - ], "editor.formatOnSave": true, "files.associations": { "string": "cpp", diff --git a/cmake/modules/datacrumbs-utils.cmake b/cmake/modules/datacrumbs-utils.cmake index 8653cdd4..eb68d0a1 100644 --- a/cmake/modules/datacrumbs-utils.cmake +++ b/cmake/modules/datacrumbs-utils.cmake @@ -31,6 +31,8 @@ macro(include_dependencies) message(FATAL_ERROR "[${UPPER_PROJECT_NAME}] libbpf version 1.0.0 or newer is required, but found ${LIBBPF_VERSION}") endif() + set(PKG_CONFIG_PATH $ENV{PKG_CONFIG_PATH}) + # include all links if(LIBBPF_FOUND) include_directories(${LIBBPF_INCLUDEDIR}) @@ -94,7 +96,7 @@ macro(include_dependencies) if(json-c_FOUND) get_filename_component(json-c_INCLUDE_DIR "${json-c_DIR}/../../../include" ABSOLUTE) get_filename_component(json-c_LIBRARY_DIR "${json-c_DIR}/../../" ABSOLUTE) - include_directories(json-c::json-c) + include_directories(${json-c_INCLUDE_DIR}) list(APPEND DEPENDENCY_LIBRARY_DIRS ${json-c_LIBRARY_DIR}) set(DEPENDENCY_LIB ${DEPENDENCY_LIB} -ljson-c) else() @@ -105,7 +107,7 @@ macro(include_dependencies) include_directories(${ZLIB_INCLUDE_DIRS}) get_filename_component(ZLIB_LIBRARY_DIRS "${ZLIB_LIBRARIES}/../" ABSOLUTE) list(APPEND DEPENDENCY_LIBRARY_DIRS ${ZLIB_LIBRARY_DIRS}) - set(DEPENDENCY_LIB ${DEPENDENCY_LIB} ZLIB::ZLIB) + set(DEPENDENCY_LIB ${DEPENDENCY_LIB} -lz) else() message(FATAL_ERROR "-- [${UPPER_PROJECT_NAME}] zlib is needed for ${PROJECT_NAME} build") endif() @@ -119,11 +121,13 @@ macro(include_dependencies) if(MPI_CXX_LIBRARIES) # If MPI_CXX_LIBRARIES is a list, get parent dir of each library set(MPI_CXX_LIBRARY_DIR "") + foreach(_lib ${MPI_CXX_LIBRARIES}) get_filename_component(_lib_dir "${_lib}" DIRECTORY) get_filename_component(_lib_dir "${_lib_dir}" ABSOLUTE) list(APPEND MPI_CXX_LIBRARY_DIR "${_lib_dir}") endforeach() + list(REMOVE_DUPLICATES MPI_CXX_LIBRARY_DIR) else() get_filename_component(MPI_CXX_LIBRARY_DIR "${MPI_CXX_LIBRARIES}" DIRECTORY) @@ -152,6 +156,7 @@ macro(include_dependencies) string(REPLACE ";" ":" DEPENDENCY_LIBRARY_DIRS_COLON "${DEPENDENCY_LIBRARY_DIRS}") set(CMAKE_INSTALL_RPATH "${DEPENDENCY_LIBRARY_DIRS}") set(CMAKE_BUILD_RPATH "${DEPENDENCY_LIBRARY_DIRS}") + # print_all_variables() endmacro(include_dependencies) diff --git a/notes.MD b/notes.MD index fd811ca5..e9a4fcf9 100644 --- a/notes.MD +++ b/notes.MD @@ -21,7 +21,7 @@ for i in {3..6} {9..11}; do done ``` ```bash -for i in 2 {4..6} {9..11}; do +for i in {2..6} {9..11}; do echo "Copying prolog and epilog files into server:lead${i}" sudo ssh lead${i} rm /etc/flux/system/prolog-job-manager.d/datacrumbs* sudo ssh lead${i} rm /etc/flux/system/epilog.d/datacrumbs* @@ -111,4 +111,12 @@ flux run -N $nodes --tasks-per-node 16 ~/software/ior/install/bin/ior -t 1m -b 1 flux run -N $nodes --tasks-per-node 16 ~/software/ior/install/bin/ior -a MPIIO -t 1m -b 16m -F -o /tmp/file2 flux run -N $nodes --tasks-per-node 16 ~/software/ior/install/bin/ior -c -t 1m -b 16m -F -o /tmp/file2 -z flux run -N $nodes --tasks-per-node 16 ~/software/ior/install/bin/ior -t 1m -b 16m -F -o /tmp/file2 +``` + +```bash +mkfs /dev/sda +DIR=/p/ssd +pdsh -g compute mkdir -p $DIR +pdsh -g compute 'mount /dev/sda $DIR' +pdsh -g compute 'chmod 777 $DIR' ``` \ No newline at end of file diff --git a/scripts/datacrumbs/datacrumbs_compose.in b/scripts/datacrumbs/datacrumbs_compose.in index 148666fc..5dc946bf 100755 --- a/scripts/datacrumbs/datacrumbs_compose.in +++ b/scripts/datacrumbs/datacrumbs_compose.in @@ -52,7 +52,7 @@ if [[ -n "${DRY_RUN}" && "${DRY_RUN}" != "0" ]]; then fi run() { - if [[ "$DRY_RUN_MODE" -eq 1 ]]; then + if [[ "$DRY_RUN_MODE" == "1" ]]; then printf "[DRY-RUN]" printf " %q" "$@" printf "\n" diff --git a/scripts/datacrumbs/datacrumbs_utility.in b/scripts/datacrumbs/datacrumbs_utility.in index 7927fc85..3455b73e 100755 --- a/scripts/datacrumbs/datacrumbs_utility.in +++ b/scripts/datacrumbs/datacrumbs_utility.in @@ -239,9 +239,9 @@ function server_launch() { cmd=( "${cmd[@]}" ) else debug "Launching server without MPI" - cmd=( "${cmd[@]}" --disable_mpi) + cmd=( "${cmd[@]}" --disable-mpi) fi - if [[ "${DRY_RUN:-0}" -eq 1 ]]; then + if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would launch server: ${cmd[*]}" return 0 fi diff --git a/src/datacrumbs/common/configuration_manager.cpp b/src/datacrumbs/common/configuration_manager.cpp index 9ff7b293..7642d2b5 100644 --- a/src/datacrumbs/common/configuration_manager.cpp +++ b/src/datacrumbs/common/configuration_manager.cpp @@ -97,14 +97,14 @@ ArgumentParser::ArgumentParser(int argc, char** argv, ExecutableType exe_type) { } else if (arg == "--log_dir" && i + 1 < argc) { log_dir = argv[++i]; DC_LOG_DEBUG("[ArgumentParser] Log directory set to: %s", log_dir->c_str()); - } else if (arg == "--disable_mpi") { + } else if (arg == "--disable-mpi") { disable_mpi = true; DC_LOG_DEBUG("[ArgumentParser] disable_mpi set to: %s", disable_mpi ? "true" : "false"); } else if (arg == "--help" || arg == "-h") { DC_LOG_PRINT( "Usage: %s [--run_id ] [--trace_log_dir ] " "[--config_path ] [--user ] [--data_dir " - "] [--inclusion_path ] [--log_dir ]", + "] [--inclusion_path ] [--log_dir ] [--disable-mpi]", argv[0]); exit(0); } else { diff --git a/src/datacrumbs/common/utils.h b/src/datacrumbs/common/utils.h index 7959050f..663de1f8 100644 --- a/src/datacrumbs/common/utils.h +++ b/src/datacrumbs/common/utils.h @@ -150,5 +150,66 @@ class Timer { double elapsed_time; // Accumulated elapsed time in seconds }; +// Function to remove non-UTF8 characters from a string +inline std::string remove_non_utf8(const std::string& input) { + DC_LOG_TRACE("Start remove_non_utf8, input size: %zu", input.size()); + std::string result; + result.reserve(input.size()); + + for (size_t i = 0; i < input.size();) { + unsigned char byte = static_cast(input[i]); + + // Single-byte UTF-8 character (0xxxxxxx) + if (byte <= 0x7F) { + // Only keep characters valid for filenames/paths + if ((byte >= 'A' && byte <= 'Z') || (byte >= 'a' && byte <= 'z') || + (byte >= '0' && byte <= '9') || byte == '_' || byte == '-' || byte == '.' || + byte == '/' || byte == '\\') { + result += input[i]; + } else { + DC_LOG_DEBUG("Skipping invalid filename character 0x%02X at position %zu", byte, i); + } + i++; + } + // Multi-byte UTF-8 character + else if ((byte & 0xE0) == 0xC0) { // 2-byte (110xxxxx) + if (i + 1 < input.size() && (static_cast(input[i + 1]) & 0xC0) == 0x80) { + result += input.substr(i, 2); + i += 2; + } else { + DC_LOG_DEBUG("Invalid 2-byte UTF-8 sequence at position %zu", i); + i++; + } + } else if ((byte & 0xF0) == 0xE0) { // 3-byte (1110xxxx) + if (i + 2 < input.size() && (static_cast(input[i + 1]) & 0xC0) == 0x80 && + (static_cast(input[i + 2]) & 0xC0) == 0x80) { + result += input.substr(i, 3); + i += 3; + } else { + DC_LOG_DEBUG("Invalid 3-byte UTF-8 sequence at position %zu", i); + i++; + } + } else if ((byte & 0xF8) == 0xF0) { // 4-byte (11110xxx) + if (i + 3 < input.size() && (static_cast(input[i + 1]) & 0xC0) == 0x80 && + (static_cast(input[i + 2]) & 0xC0) == 0x80 && + (static_cast(input[i + 3]) & 0xC0) == 0x80) { + result += input.substr(i, 4); + i += 4; + } else { + DC_LOG_DEBUG("Invalid 4-byte UTF-8 sequence at position %zu", i); + i++; + } + } else { + // Invalid UTF-8 start byte + DC_LOG_DEBUG("Invalid UTF-8 start byte 0x%02X at position %zu", byte, i); + i++; + } + } + + DC_LOG_DEBUG("remove_non_utf8 completed, output size: %zu", result.size()); + DC_LOG_TRACE("End remove_non_utf8"); + return result; +} + } // namespace utils } // namespace datacrumbs \ No newline at end of file diff --git a/src/datacrumbs/composable/CMakeLists.txt.in b/src/datacrumbs/composable/CMakeLists.txt.in index e6995967..b3ce4bb7 100644 --- a/src/datacrumbs/composable/CMakeLists.txt.in +++ b/src/datacrumbs/composable/CMakeLists.txt.in @@ -77,8 +77,47 @@ endforeach() # ------------------------------------------------------------------------------ # Find all dependencies # ------------------------------------------------------------------------------ -set(yaml-cpp_DIR @YAML_CPP_CMAKE_DIR@) -include_dependencies() +# LIBBPF +include_directories(@LIBBPF_INCLUDEDIR@) +link_directories(@LIBBPF_LIBRARY_DIRS@) +set(LIBBPF_VERSION @LIBBPF_VERSION@) +# YAML_CPP +include_directories(@YAML_CPP_INCLUDE_DIR@) +link_directories(@YAML_CPP_LIBRARY_DIR@) +set(yaml-cpp_VERSION @yaml-cpp_VERSION@) +# LLVM +include_directories(@LLVM_INCLUDE_DIRS@) +link_directories(@LLVM_LIBRARY_DIRS@) +set(CLANG_EXECUTABLE @CLANG_EXECUTABLE@) +set(CLANG_VERSION_OUTPUT @CLANG_VERSION_OUTPUT@) +set(LLVM_VERSION @LLVM_VERSION@) +# JSON_C +include_directories(@json-c_INCLUDE_DIR@) +link_directories(@json-c_LIBRARY_DIR@) +set(json-c_CONSIDERED_VERSIONS @json-c_CONSIDERED_VERSIONS@) +# ZLIB +include_directories(@ZLIB_INCLUDE_DIRS@) +link_directories(@ZLIB_LIBRARY_DIRS@) +set(ZLIB_VERSION @ZLIB_VERSION@) +# MPI +include_directories(@MPI_CXX_INCLUDE_DIRS@) +link_directories(@MPI_CXX_LIBRARY_DIR@) +set(MPI_CXX_VERSION @MPI_CXX_VERSION@) +# Dependencies +set(DEPENDENCY_LIB @DEPENDENCY_LIB@) +set(DEPENDENCY_LIBRARY_DIRS @DEPENDENCY_LIBRARY_DIRS@) +set(CMAKE_INSTALL_RPATH "${DEPENDENCY_LIBRARY_DIRS}") +set(CMAKE_BUILD_RPATH "${DEPENDENCY_LIBRARY_DIRS}") + +# print found packages +message(STATUS " - Found libbpf:${LIBBPF_VERSION} at include:${LIBBPF_INCLUDEDIR} lib:${LIBBPF_LIBRARY_DIRS}") +message(STATUS " - Found yaml-cpp:${yaml-cpp_VERSION} at include:${YAML_CPP_INCLUDE_DIR} lib:${YAML_CPP_LIBRARY_DIR}") +message(STATUS " - Found llvm:${LLVM_VERSION} at include:${LLVM_INCLUDE_DIRS} lib:${LLVM_LIBRARY_DIRS} clang:${CLANG_EXECUTABLE}") +message(STATUS " - Found json-c:${json-c_CONSIDERED_VERSIONS} at include:${json-c_INCLUDE_DIR} lib:${json-c_LIBRARY_DIR}") +message(STATUS " - Found zlib:${ZLIB_VERSION} at include:${ZLIB_INCLUDE_DIRS} lib:${ZLIB_LIBRARY_DIRS}") +message(STATUS " - Found mpi:${MPI_CXX_VERSION} at include:${MPI_CXX_INCLUDE_DIRS} lib:${MPI_CXX_LIBRARY_DIR}") +message(STATUS " - DEPENDENCY_LIBRARY_DIRS for RPATH:${DEPENDENCY_LIBRARY_DIRS}") +message(STATUS " - DEPENDENCY_LIB for linking :${DEPENDENCY_LIB}") # ------------------------------------------------------------------------------ # Build composite object file diff --git a/src/datacrumbs/server/process/event_processor.cpp b/src/datacrumbs/server/process/event_processor.cpp index 1ab96f9f..ac192fc7 100644 --- a/src/datacrumbs/server/process/event_processor.cpp +++ b/src/datacrumbs/server/process/event_processor.cpp @@ -158,9 +158,11 @@ int EventProcessor::update_filename(const char* filename, unsigned int hash) { DC_LOG_DEBUG("Filename %s with hash %u already processed, skipping", filename, hash); return 0; // Skip if already processed } + auto file_str = utils::remove_non_utf8(filename); + processed_hashes_.insert(hash); // Mark this hash as processed auto args = new DataCrumbsArgs(); - args->emplace("value", std::string(filename)); + args->emplace("value", file_str); args->emplace("hash", hash); auto event = new datacrumbs::EventWithId(METADATA_EVENT, event_index.fetch_add(1), 0, 0, 0, 0, 0, args); From 3ac58e3f680bc3134d24f3d268785f15a6a73fa3 Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Thu, 6 Nov 2025 21:21:32 -0800 Subject: [PATCH 03/12] PR fixes recommendations. 1. We use DATACRUMBS_INSTALL_RUNSTATEDIR from GNUInstallUtils to get the variable. Make checking of effective user id secure 2. We need to ensure that the effective user id is checked securely to prevent any potential security issues. 3. renamed infrastrutcure to infrastructure --- .github/workflows/docker-build-test.yml | 62 ++++---- infrastructure/docker/Dockerfile | 12 -- infrastructure/docker/Dockerfile.build | 14 +- infrastructure/docker/build-multiarch.sh | 185 +++++++++++++++++++++++ 4 files changed, 229 insertions(+), 44 deletions(-) create mode 100755 infrastructure/docker/build-multiarch.sh diff --git a/.github/workflows/docker-build-test.yml b/.github/workflows/docker-build-test.yml index dc093c10..56b582b0 100644 --- a/.github/workflows/docker-build-test.yml +++ b/.github/workflows/docker-build-test.yml @@ -3,7 +3,7 @@ name: Docker Build and Test on: push: pull_request: - branches: [ develop, stage-in ] + branches: [develop, stage-in] workflow_dispatch: env: @@ -13,37 +13,37 @@ env: jobs: docker-build-and-test: runs-on: ubuntu-latest - + steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - - name: Build Docker image - run: | - docker buildx build \ - --cache-from=type=gha \ - --cache-to=type=gha,mode=max \ - --load \ - -t ${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_TAG }} \ - -f infrastrutcure/docker/Dockerfile \ - . + - name: Build Docker image + run: | + docker buildx build \ + --cache-from=type=gha \ + --cache-to=type=gha,mode=max \ + --load \ + -t ${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_TAG }} \ + -f infrastructure/docker/Dockerfile \ + . - - name: Run DataCrumbs tests - run: | - docker run --rm \ - -v /lib/modules/:/lib/modules:ro \ - -v /sys/kernel/debug/:/sys/kernel/debug:rw \ - --net=host \ - --pid=host \ - --privileged \ - --cap-add sys_admin \ - --cap-add sys_ptrace \ - --hostname docker \ - -v /sys/fs/bpf:/sys/fs/bpf \ - ${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_TAG }} \ - bash -c /opt/datacrumbs/infrastrutcure/docker/test_run.sh + - name: Run DataCrumbs tests + run: | + docker run --rm \ + -v /lib/modules/:/lib/modules:ro \ + -v /sys/kernel/debug/:/sys/kernel/debug:rw \ + --net=host \ + --pid=host \ + --privileged \ + --cap-add sys_admin \ + --cap-add sys_ptrace \ + --hostname docker \ + -v /sys/fs/bpf:/sys/fs/bpf \ + ${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_TAG }} \ + bash -c /opt/datacrumbs/infrastructure/docker/test_run.sh diff --git a/infrastructure/docker/Dockerfile b/infrastructure/docker/Dockerfile index 9803acd4..1deb1045 100644 --- a/infrastructure/docker/Dockerfile +++ b/infrastructure/docker/Dockerfile @@ -3,18 +3,6 @@ FROM hdevarajan92/datacrumbs:latest RUN mkdir -p /opt/datacrumbs COPY . /opt/datacrumbs/ -# Create a non-root user 'docker' with passwordless sudo access and install tools -RUN (dnf -y install epel-release || yum -y install epel-release) && \ - (dnf -y install sudo || yum -y install sudo) && \ - (dnf -y install patchelf || yum -y install patchelf) && \ - (dnf -y install openmpi-devel || yum -y install openmpi-devel) && \ - (dnf clean all || yum clean all) && \ - groupadd -f wheel && \ - useradd -m -s /bin/bash docker && \ - usermod -aG wheel docker && \ - echo 'docker ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/docker && \ - chmod 0440 /etc/sudoers.d/docker - RUN . /opt/rh/gcc-toolset-11/enable && \ mkdir -p datacrumbs-build && \ rm -rf datacrumbs-build/* && \ diff --git a/infrastructure/docker/Dockerfile.build b/infrastructure/docker/Dockerfile.build index bcfa048f..20751e6c 100644 --- a/infrastructure/docker/Dockerfile.build +++ b/infrastructure/docker/Dockerfile.build @@ -8,6 +8,9 @@ RUN cd /etc/yum.repos.d/ && \ # Update system RUN yum update -y +# Install EPEL repository first (needed for patchelf) +RUN yum install -y epel-release + # Install base development tools and dependencies RUN yum install -y \ gcc \ @@ -79,12 +82,21 @@ RUN echo "/usr/local/lib64" > /etc/ld.so.conf.d/local.conf && \ echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf && \ ldconfig +# Create a non-root user 'docker' with passwordless sudo access and install tools +RUN (dnf -y install openmpi-devel || yum -y install openmpi-devel) && \ + (dnf clean all || yum clean all) && \ + groupadd -f wheel && \ + useradd -m -s /bin/bash docker && \ + usermod -aG wheel docker && \ + echo 'docker ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/docker && \ + chmod 0440 /etc/sudoers.d/docker + # Create datacrumbs directory WORKDIR /opt/datacrumbs # Set environment variables ENV PATH="/opt/rh/gcc-toolset-11/root/usr/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/rh/gcc-toolset-11/root/usr/lib64:/usr/local/lib64:/usr/local/lib:${LD_LIBRARY_PATH}" +ENV LD_LIBRARY_PATH="/opt/rh/gcc-toolset-11/root/usr/lib64:/usr/local/lib64:/usr/local/lib" # Create entrypoint script RUN echo '#!/bin/bash' > /entrypoint.sh && \ diff --git a/infrastructure/docker/build-multiarch.sh b/infrastructure/docker/build-multiarch.sh new file mode 100755 index 00000000..97b418dc --- /dev/null +++ b/infrastructure/docker/build-multiarch.sh @@ -0,0 +1,185 @@ +#!/bin/bash + +# Multi-architecture Docker build script for DataCrumbs +# Builds for linux/amd64 and linux/arm64 platforms + +set -e + +# Configuration +IMAGE_NAME="${IMAGE_NAME:-datacrumbs}" +IMAGE_TAG="${IMAGE_TAG:-latest}" +DOCKERFILE="${DOCKERFILE:-infrastructure/docker/Dockerfile.build}" +REGISTRY="${REGISTRY:-docker.io}" +USERNAME="${USERNAME:-hdevarajan92}" +PLATFORMS="${PLATFORMS:-linux/amd64,linux/arm64}" + +# Parse command line arguments +PUSH=false +LOAD=false + +print_usage() { + echo "Usage: $0 [OPTIONS]" + echo "" + echo "Options:" + echo " --push Push the built images to the registry" + echo " --load Load the image into local Docker (only works for single platform)" + echo " --platform ARCH Comma-separated list of platforms (default: linux/amd64,linux/arm64)" + echo " --tag TAG Image tag (default: latest)" + echo " --name NAME Image name (default: datacrumbs)" + echo " --registry REG Registry URL (default: docker.io)" + echo " --username USER Registry username (default: hdevarajan92)" + echo " -h, --help Show this help message" + echo "" + echo "Examples:" + echo " $0 --push # Build and push multi-arch images" + echo " $0 --load --platform linux/amd64 # Build and load amd64 only" + echo " $0 --push --tag v1.0.0 --name myimage # Custom tag and name" +} + +while [[ $# -gt 0 ]]; do + case $1 in + --push) + PUSH=true + shift + ;; + --load) + LOAD=true + shift + ;; + --platform) + PLATFORMS="$2" + shift 2 + ;; + --tag) + IMAGE_TAG="$2" + shift 2 + ;; + --name) + IMAGE_NAME="$2" + shift 2 + ;; + --registry) + REGISTRY="$2" + shift 2 + ;; + --username) + USERNAME="$2" + shift 2 + ;; + -h|--help) + print_usage + exit 0 + ;; + *) + echo "Unknown option: $1" + print_usage + exit 1 + ;; + esac +done + +# Construct full image name +if [ "$REGISTRY" = "docker.io" ]; then + FULL_IMAGE_NAME="${USERNAME}/${IMAGE_NAME}:${IMAGE_TAG}" +else + FULL_IMAGE_NAME="${REGISTRY}/${USERNAME}/${IMAGE_NAME}:${IMAGE_TAG}" +fi + +echo "======================================" +echo "Multi-Architecture Docker Build" +echo "======================================" +echo "Image: ${FULL_IMAGE_NAME}" +echo "Platforms: ${PLATFORMS}" +echo "Dockerfile: ${DOCKERFILE}" +echo "Push: ${PUSH}" +echo "Load: ${LOAD}" +echo "======================================" +echo "" + +# Check if Docker Buildx is available +if ! docker buildx version &> /dev/null; then + echo "Error: Docker Buildx is not available. Please install Docker Buildx." + exit 1 +fi + +# Create a new builder instance if it doesn't exist +BUILDER_NAME="datacrumbs-multiarch-builder" +if ! docker buildx inspect "$BUILDER_NAME" &> /dev/null; then + echo "Creating new buildx builder: $BUILDER_NAME" + docker buildx create --name "$BUILDER_NAME" --use --platform "$PLATFORMS" +else + echo "Using existing buildx builder: $BUILDER_NAME" + docker buildx use "$BUILDER_NAME" +fi + +# Bootstrap the builder +echo "Bootstrapping builder..." +docker buildx inspect --bootstrap + +# Build command +BUILD_CMD="docker buildx build" +BUILD_CMD+=" --platform ${PLATFORMS}" +BUILD_CMD+=" -t ${FULL_IMAGE_NAME}" +BUILD_CMD+=" -f ${DOCKERFILE}" + +if [ "$PUSH" = true ] && [ "$LOAD" = true ]; then + echo "Error: Cannot use --push and --load together. Use --load for single platform only." + exit 1 +fi + +if [ "$PUSH" = true ]; then + BUILD_CMD+=" --push" + echo "Images will be pushed to registry after build." +elif [ "$LOAD" = true ]; then + BUILD_CMD+=" --load" + echo "Image will be loaded into local Docker." + if [[ "$PLATFORMS" == *","* ]]; then + echo "Warning: --load only works with a single platform. Building first platform only." + PLATFORMS=$(echo "$PLATFORMS" | cut -d',' -f1) + BUILD_CMD="docker buildx build --platform ${PLATFORMS} -t ${FULL_IMAGE_NAME} -f ${DOCKERFILE} --load" + fi +else + echo "Note: Images will be built but not pushed or loaded." + echo "Use --push to push to registry or --load to load locally." +fi + +BUILD_CMD+=" ." + +echo "" +echo "Executing: $BUILD_CMD" +echo "" + +# Change to repository root +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" +cd "$REPO_ROOT" + +# Execute the build +eval "$BUILD_CMD" + +if [ $? -eq 0 ]; then + echo "" + echo "======================================" + echo "Build completed successfully!" + echo "======================================" + echo "Image: ${FULL_IMAGE_NAME}" + echo "Platforms: ${PLATFORMS}" + + if [ "$PUSH" = true ]; then + echo "" + echo "Images have been pushed to the registry." + echo "You can pull them with:" + echo " docker pull ${FULL_IMAGE_NAME}" + elif [ "$LOAD" = true ]; then + echo "" + echo "Image has been loaded into local Docker." + echo "You can run it with:" + echo " docker run -it ${FULL_IMAGE_NAME}" + fi +else + echo "" + echo "======================================" + echo "Build failed!" + echo "======================================" + exit 1 +fi From 6a985fa84b3e67999f00d2cb9435030e04cd9ea8 Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Thu, 6 Nov 2025 21:21:32 -0800 Subject: [PATCH 04/12] Change states to be store in /run We use DATACRUMBS_INSTALL_RUNSTATEDIR from GNUInstallUtils to get the variable. Make checking of effective user id secure --- scripts/datacrumbs/datacrumbs_utility.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/datacrumbs/datacrumbs_utility.in b/scripts/datacrumbs/datacrumbs_utility.in index 3455b73e..2903579b 100755 --- a/scripts/datacrumbs/datacrumbs_utility.in +++ b/scripts/datacrumbs/datacrumbs_utility.in @@ -30,6 +30,7 @@ function datacrumbs_parse_yaml { function datacrumbs_run_command() { local err_msg="$1" shift + if [[ "${DRY_RUN:-0}" == "1" ]]; then if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would run: $*" return 0 @@ -46,6 +47,7 @@ function datacrumbs_run_command() { # datacrumbs_run_command "Failed to list directory" ls /nonexistent/path function datacrumbs_finalize() { + if [[ "${DRY_RUN:-0}" == "1" ]]; then if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would finalize for user: $DATACRUMBS_USER, log path: $DATACRUMBS_TRACE_DIR" return 0 From 25b6ebd37209f79b543cab8690650a16593300b0 Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Mon, 10 Nov 2025 21:22:01 -0800 Subject: [PATCH 05/12] Added Lustre configurations 1. Tested Lustre configurations 2. Improved validation case to handle all cases 3. reduced logging to avoid blowing up log files --- CMakeLists.txt | 8 +- etc/datacrumbs/configs/lead.yaml | 33 +++- .../data/probes-exclusion-haridev-lead.json | 2 +- etc/datacrumbs/data/probes-haridev-lead.json | 2 +- .../data/probes-invalid-haridev-lead.json | 2 +- notes.MD | 13 +- .../datacrumbs/datacrumbs_run_validator.in | 8 + scripts/datacrumbs/datacrumbs_utility.in | 2 - src/datacrumbs/common/logging.h | 39 ++++- src/datacrumbs/common/utils.h | 2 +- .../explorer/mechanism/elf_capture.cpp | 2 +- .../server/process/event_processor.cpp | 7 +- src/datacrumbs/validator/probe_validator.cpp | 144 ++++++++++++++++-- valgrind.supp | 34 +++++ 14 files changed, 263 insertions(+), 35 deletions(-) create mode 100644 valgrind.supp diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e71121a..e1840cb6 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,7 +92,6 @@ set(DATACRUMBS_KERNEL_HEADERS_PATH "" CACHE STRING "Path to the kernel headers d option(DATACRUMBS_BUILD_ONLY "Build only the datacrumbs library without installation" OFF) set(DATACRUMBS_KERNEL_PATH "" CACHE STRING "Path to the kernel source directory") - # ------------------------------------------------------------------------------ # Derive CMake variables based on options # ------------------------------------------------------------------------------ @@ -144,6 +143,7 @@ message(STATUS " - DATACRUMBS_CONFIGURED_LOG_DIR: ${DATACRUMBS_CONFI if(NOT EXISTS "${DATACRUMBS_CONFIGURED_TRACE_DIR}") message(FATAL_ERROR "[${UPPER_PROJECT_NAME}] DATACRUMBS_CONFIGURED_TRACE_DIR does not exist: ${DATACRUMBS_CONFIGURED_TRACE_DIR}") endif() + if(NOT EXISTS "${DATACRUMBS_CONFIGURED_LOG_DIR}") message(FATAL_ERROR "[${UPPER_PROJECT_NAME}] DATACRUMBS_CONFIGURED_LOG_DIR does not exist: ${DATACRUMBS_CONFIGURED_LOG_DIR}") endif() @@ -795,15 +795,15 @@ if(NOT DATACRUMBS_INCLUSION_PATH STREQUAL "NONE") set(DATACRUMBS_VARS ${DATACRUMBS_VARS} --inclusion_path ${DATACRUMBS_INCLUSION_PATH}) endif() -add_test(NAME datacrumbs_start COMMAND ${DATACRUMBS_PATH}/datacrumbs start ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) +add_test(NAME datacrumbs_start COMMAND ${DATACRUMBCMAKE_RUNTIME_OUTPUT_DIRECTORYS_PATH}/datacrumbs start ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) set_tests_properties(datacrumbs_start PROPERTIES DEPENDS datacrumbs_pretest) set_tests_properties(datacrumbs_start PROPERTIES DEPENDS ${PROJECT_NAME}) -add_test(NAME datacrumbs_run COMMAND ${DATACRUMBS_PATH}/datacrumbs run ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) +add_test(NAME datacrumbs_run COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/datacrumbs run ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) set_tests_properties(datacrumbs_run PROPERTIES DEPENDS datacrumbs_pretest) set_tests_properties(datacrumbs_run PROPERTIES DEPENDS ${PROJECT_NAME}) -add_test(NAME datacrumbs_stop COMMAND ${DATACRUMBS_PATH}/datacrumbs stop ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) +add_test(NAME datacrumbs_stop COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/datacrumbs stop ${DATACRUMBS_HOST} ${DATACRUMBS_VARS}) set_tests_properties(datacrumbs_stop PROPERTIES DEPENDS datacrumbs_pretest) set_tests_properties(datacrumbs_stop PROPERTIES DEPENDS ${PROJECT_NAME}) diff --git a/etc/datacrumbs/configs/lead.yaml b/etc/datacrumbs/configs/lead.yaml index 1b0528d3..16c5f971 100755 --- a/etc/datacrumbs/configs/lead.yaml +++ b/etc/datacrumbs/configs/lead.yaml @@ -20,7 +20,28 @@ capture_probes: probe: kprobe type: binary file: /usr/lib/modules/5.14.0-570.55.1.1toss.t5.x86_64/weak-updates/lustre/fs/lustre.ko - - name: mpiio + regex: (?!.*__)(?!.*:)(?!.*constprop)(?!.*isra).* + - name: mdc + probe: kprobe + type: binary + file: /usr/lib/modules/5.14.0-570.55.1.1toss.t5.x86_64/weak-updates/lustre/fs/mdc.ko + regex: (?!.*__)(?!.*:)(?!.*constprop)(?!.*isra).* + - name: mgc + probe: kprobe + type: binary + file: /usr/lib/modules/5.14.0-570.55.1.1toss.t5.x86_64/weak-updates/lustre/fs/mgc.ko + regex: (?!.*__)(?!.*:)(?!.*constprop)(?!.*isra).* + - name: osc + probe: kprobe + type: binary + file: /usr/lib/modules/5.14.0-570.55.1.1toss.t5.x86_64/weak-updates/lustre/fs/osc.ko + regex: (?!.*__)(?!.*:)(?!.*constprop)(?!.*isra).* + - name: ptlrpc + probe: kprobe + type: binary + file: /usr/lib/modules/5.14.0-570.55.1.1toss.t5.x86_64/weak-updates/lustre/fs/ptlrpc.ko + regex: (?!.*__)(?!.*:)(?!.*constprop)(?!.*isra).* + - name: mpi probe: uprobe type: binary file: /opt/toss/openmpi/4.1/gnu/lib/libmpi.so @@ -29,4 +50,12 @@ capture_probes: probe: uprobe type: binary file: /home/haridev/software/ior/install/bin/ior - regex: .* \ No newline at end of file + regex: .* + - name: iomap + probe: kprobe + type: ksym + regex: ^iomap(?!.*cold).* + - name: xfs + probe: kprobe + type: ksym + regex: ^xfs(?!.*cold).* \ No newline at end of file diff --git a/etc/datacrumbs/data/probes-exclusion-haridev-lead.json b/etc/datacrumbs/data/probes-exclusion-haridev-lead.json index cb5c8f92..f80a1fce 100644 --- a/etc/datacrumbs/data/probes-exclusion-haridev-lead.json +++ b/etc/datacrumbs/data/probes-exclusion-haridev-lead.json @@ -1 +1 @@ -[{"type":4,"name":"custom1","functions":[],"bpf_path":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c","start_event_id":100000,"process_header":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h","event_type":2},{"type":0,"name":"sys","functions":["fork","sys","ioctl","newfstatat","ni_syscall","old_mmap","old_select","io_getevents","io_getevents_time32","io_pgetevents","io_pgetevents_time32","epoll_create1","epoll_ctl","epoll_pwait","epoll_pwait2","ioprio_set","ioprio_get","umount","mount","pivot_root","chroot","vhangup","pipe2","quotactl","quotactl_fd","getdents64","pselect6","pselect6_time32","ppoll","ppoll_time32","signalfd4","vmsplice","splice","tee","timerfd_create","timerfd_settime","timerfd_gettime","timerfd_gettime32","timerfd_settime32","utimensat","utimensat_time32","acct","capget","capset","personality","waitid","set_tid_address","unshare","futex","futex_time32","get_robust_list","set_robust_list","futex_waitv","futex_wake","futex_wait","futex_requeue","nanosleep","nanosleep_time32","getitimer","setitimer","kexec_load","init_module","delete_module","timer_create","timer_gettime","timer_getoverrun","timer_settime","timer_delete","clock_settime","clock_gettime","clock_getres","clock_nanosleep","timer_gettime32","timer_settime32","clock_settime32","clock_gettime32","clock_getres_time32","clock_nanosleep_time32","syslog","ptrace","sched_setparam","sched_setscheduler","sched_getscheduler","sched_getparam","sched_setaffinity","sched_getaffinity","sched_yield","sched_get_priority_max","sched_get_priority_min","sched_rr_get_interval","sched_rr_get_interval_time32","restart_syscall","kill","tkill","tgkill","sigaltstack","rt_sigsuspend","rt_sigaction","rt_sigprocmask","rt_sigpending","rt_sigtimedwait","rt_sigtimedwait_time32","rt_sigqueueinfo","setpriority","getpriority","reboot","setregid","setgid","setreuid","setuid","setresuid","getresuid","setresgid","getresgid","setfsuid","setfsgid","times","setpgid","getpgid","getsid","setsid","getgroups","setgroups","newuname","sethostname","setdomainname","getrlimit","setrlimit","getrusage","umask","prctl","getcpu","gettimeofday","settimeofday","adjtimex","adjtimex_time32","getpid","getppid","getuid","geteuid","getgid","getegid","gettid","sysinfo","mq_open","mq_unlink","mq_timedsend","mq_timedreceive","mq_notify","mq_getsetattr","mq_timedreceive_time32","mq_timedsend_time32","msgget","old_msgctl","msgctl","msgrcv","msgsnd","semget","semctl","old_semctl","semtimedop","semtimedop_time32","semop","shmget","old_shmctl","shmctl","shmat","shmdt","socket","socketpair","bind","listen","accept","connect","getsockname","getpeername","sendto","recvfrom","setsockopt","getsockopt","shutdown","sendmsg","recvmsg","readahead","brk","add_key","request_key","keyctl","clone","clone3","execve","swapon","swapoff","get_mempolicy","set_mempolicy","rt_tgsigqueueinfo","perf_event_open","accept4","recvmmsg","recvmmsg_time32","wait4","prlimit64","name_to_handle_at","open_by_handle_at","clock_adjtime","clock_adjtime32","setns","sendmmsg","kcmp","finit_module","sched_setattr","sched_getattr","renameat2","seccomp","getrandom","memfd_create","bpf","execveat","userfaultfd","membarrier","mlock2","pkey_mprotect","pkey_alloc","pkey_free","rseq","open_tree","move_mount","mount_setattr","fsopen","fsconfig","fsmount","fspick","pidfd_send_signal","pidfd_getfd","landlock_create_ruleset","landlock_add_rule","landlock_restrict_self","memfd_secret","set_mempolicy_home_node","cachestat","map_shadow_stack","ioperm","pciconfig_read","pciconfig_write","pciconfig_iobase","spu_run","spu_create","chmod","chown","lchown","epoll_create","eventfd","signalfd","sendfile","alarm","getpgrp","pause","time","time32","futimesat_time32","utime32","utimes_time32","select","poll","epoll_wait","recv","send","oldumount","uselib","stime","stime32","sigpending","sigprocmask","sgetmask","ssetmask","signal","nice","kexec_file_load","waitpid","socketcall","old_readdir","gethostname","uname","olduname","ipc"]},{"type":2,"name":"libc","functions":["fnmatch@@GLIBC_2.2.5","sched_getaffinity@@GLIBC_2.3.4","getgrnam_r@@GLIBC_2.2.5","sysctl@GLIBC_2.2.5","forkpty@@GLIBC_2.34","getpwnam_r@@GLIBC_2.2.5","getgrgid_r@@GLIBC_2.2.5","openpty@@GLIBC_2.34","fdetach@GLIBC_2.2.5","gai_error@GLIBC_2.2.5","res_send@@GLIBC_2.34","putmsg@GLIBC_2.2.5","fmemopen@GLIBC_2.2.5","forkpty@GLIBC_2.2.5","getpwuid_r@@GLIBC_2.2.5","res_mailok@@GLIBC_2.34","getspnam_r@@GLIBC_2.2.5","quick_exit@@GLIBC_2.24","logwtmp@@GLIBC_2.34","logout@@GLIBC_2.34","fopencookie@@GLIBC_2.2.5","gai_cancel@@GLIBC_2.34","glob64@GLIBC_2.2.5","getgrent_r@@GLIBC_2.2.5","_getopt_internal_r","frexpf128","res_search@@GLIBC_2.34","_nl_select_era_entry","finitef128_do_not_use","copysignf32x","gai_error@@GLIBC_2.34","copysignf32","getmsg@GLIBC_2.2.5","_nl_get_walt_digit","_create_xid","sstk@GLIBC_2.2.5","_nl_cleanup_time","_itoa_word","_nl_unload_domain","_getopt_long_r","getspent_r@@GLIBC_2.2.5","_getopt_long_only_r","_option_is_end","_IO_str_count","_nl_cleanup_ctype","_des_crypt","_getopt_internal","_openchild","re_string_realloc_buffers","context_reuse","hex2bin","x_putint32","x_getpostn","gai_suspend@@GLIBC_2.34","duplicate_node","bin2hex","tr_break@GLIBC_2.2.5","_nl_init_era_entries.part.0","exec_comm","gethostbyname2_r@@GLIBC_2.2.5","_nl_make_l10nflist.localalias","_nl_find_msg","gethostent_r@@GLIBC_2.2.5","start_thread","get_kernel_syms@GLIBC_2.2.5","get_scope","add_prefixlist","match_prefix","in6aicmp","fini","exchange","parse_branch","parse_expression","authdes_nextverf","re_search_internal","gr_map_free","merge_state_with_log","until_short","get_subexp_sub","clean_state_log_if_needed","canon_doc_option","extend_buffers","check_arrival_expand_ecl_sub","check_node_accept_bytes","sub_epsilon_src_nodes","harmless","pmap_rmtcall@GLIBC_2.2.5","merge_state_array","re_acquire_state_context","w_addword","check_dst_limits","check_halt_state_context","context_send_common","utf8_encode.part.0","build_charclass","pop_fail_stack","time_ifunc","match_ctx_clean","re_dfa_add_node","free_charset","build_upper_buffer","re_node_set_add_intersect","free_state","search_cur_bkref_entry","re_node_set_compare","print_and_abort","internal_getgrouplist","clear_once_control","send_vc","shm_open@GLIBC_2.2.5","fstab_init","lio_listio64@@GLIBC_2.34","_nl_init_alt_digit","parse_rule","free_tree","parse_offset","decode_name","argp_hol","x_putbytes","strcspn_ifunc","ext_match","compute_change","ranged_convert","ydhms_diff","name_to_database_index","binary_hnok","memchr_ifunc","get_mnt_entry","end_pattern","str_append","ptrlist_add__","critical_factorization","argp_doc","gethosts","read_alias_file","authnone_validate","ldexpf32","memcmp_ifunc","strrchr_ifunc","strncat_ifunc","strlen_ifunc","gai_suspend@GLIBC_2.2.5","strcpy_ifunc","re_string_context_at","_int_realloc","next_line","sysmalloc","arena_get_retry","arena_get2.part.0","fetch_number","register_state","des_setparity@GLIBC_2.2.5","ptmalloc_init.part.0","process_long_option","internal_fallocate64","build_wcs_upper_buffer","try_file","get_locked_global","key_call_socket","read_conf_file.isra.0","change_sigmask","check_arrival_expand_ecl","resolv_conf_matches","calc_eclosure_iter","arg_bool","duplicate_node_closure","strspn_ifunc","fts_build","prefixcmp","get_nprocs_cpu_online","initshells","fstab_free","add_request_to_runlist","duplicate_tree","tdestroy_recurse","strpbrk_ifunc","peek_token","glob@GLIBC_2.2.5","argp_args_levels.isra.0","strcmp_ifunc","array_add__","x_setpostn","authdes_refresh","fstab_convert","create_token_tree","realpath_stk","authdes_marshal","check_arrival","fts_alloc.isra.0","internal_fnmatch","x_putlong","expand_bkref_cache","msgctl@@GLIBC_2.2.5","pmap_getport@GLIBC_2.2.5","quick_exit@GLIBC_2.10","authnone_verf","get_next_alias","freeres","sock_eq","hol_cousin_cluster_cmp.isra.0","ftw_dir","check_node_accept","decide_maybe_mmap","vtimes_one.part.0","internal_addseverity","build_trtable","adjust_wide_data","getaliasbyname_r@@GLIBC_2.2.5","alloc_perturb","_nl_get_era_entry","scalbnf64x","print_header","set_binding_values.part.0","get_nproc_stat","update_cur_sifted_state","authdes_destroy","walker","strncpy_ifunc","helper_thread","parse_dollars","authnone_create@GLIBC_2.2.5","scalbnf128","tzset_internal","locked_vfxprintf","wcsrchr_ifunc","_Unwind_GetCFA","get_free_list","new_do_write","wait_on_socket","frexpf32","find_derivation","option_alloc","detach_arena.part.0","_int_malloc","buffer_free","sched_setaffinity@@GLIBC_2.3.4","register_file","key_gendes@GLIBC_2.2.5","skip","send_dg","_res_hconf_trim_domain","gethostbyname3_context","authnone_create_once","decrement_at_index.part.0","lower_subexp","scalbnf32","strncmp_ifunc","isinff128_do_not_use","nrl_domainname","freecache","hol_entry_short_iterate","authdes_pk_create@GLIBC_2.2.5","do_system","getpwent_r@@GLIBC_2.2.5","gethostbyname_r@@GLIBC_2.2.5","unwind_stop","create_thread","_IO_wstrn_overflow","token.part.0","wcsncmp_ifunc","find_module_idx","indent_to","hack_digit","open_socket","getttyname_r","_IO_obstack_xsputn","reopen","peek_token_bracket","fts_sort","asctime_internal","maybe_init","alias_compare","fts_stat.isra.0","ecb_crypt@GLIBC_2.2.5","time_syscall","add_module","sift_states_backward","do_release_shlib","do_release_all","new_composite_name","memset_ifunc","x_destroy","free_category","re_compile_internal","msort_with_tmp.part.0","fmemopen@@GLIBC_2.22","free_dfa_content","try_nocreate","strcat_ifunc","_IO_cookie_read","_IO_cookie_seek","space","_IO_cookie_close","parse_reg_exp","fts_palloc","_IO_fopencookie","_IO_str_finish","_nl_expand_alias","copysignf128","_IO_default_seekpos","_int_free","getpmsg@GLIBC_2.2.5","_IO_getwc","build_charclass_op","rtime@GLIBC_2.2.5","unlock","uselib@GLIBC_2.2.5","bdflush@GLIBC_2.2.5","derivation_compare","object_compare","_res_hconf_init","sched_setaffinity@GLIBC_2.3.3","internal_fnwmatch","_argp_input","end_wpattern","ext_wmatch","pcmp","_nl_archive_subfreeres","check_dst_limits_calc_pos_1","_option_is_short","try_dir","argp_default_parser","pmap_getmaps@GLIBC_2.2.5","_seterr_reply@GLIBC_2.2.5","matches_last_entry","parse_backtick","aio_fsync64@@GLIBC_2.34","perror_internal","maybe_script_execute","add_alias2.part.0","authdes_create@GLIBC_2.2.5","munmap_chunk","hst_map_free","_nl_get_alt_digit","re_node_set_init_union","gai_cancel@GLIBC_2.2.5","usage_argful_short_opt","re_acquire_state","copysignf64x","getpublickey@GLIBC_2.2.5","ldexpf64","check_one_fd","re_compile_fastmap_iter","_nl_parse_alt_digit","authdes_getucred@GLIBC_2.2.5","modff128","_Unwind_ForcedUnwind","re_node_set_merge","check_subexp_matching_top","_nl_explode_name","isnanf128_do_not_use","ftw_startup","key_get_conv@GLIBC_2.2.5","_nl_postload_ctype","scalbnf64","re_search_stub","fattach@GLIBC_2.2.5","hol_entry_qcmp","w_addmem","eval_expr_multdiv","cfree@GLIBC_2.2.5"],"binary_path":"/usr/lib64/libc.so.6"},{"type":2,"name":"hdf5","functions":["H5SL_above","H5SL_add","H5SL_below:0x2794b0","H5SL_close:0x27a240","H5SL_count:0x26f830","H5SL_create:0x26f680","H5SL_destroy:0x27a170","H5SL_find:0x278e80","H5SL_first:0x27a020","H5SL_free:0x27a120","H5SL_greater:0x2788a0","H5SL_init:0x26f5c0","H5SL_insert:0x26f840","H5SL_item:0x27a060","H5SL_iterate:0x27a070","H5SL_last:0x27a050","H5SL_less:0x278260","H5SL_next:0x27a030","H5SL_prev:0x27a040","H5SL_release:0x27a0c0","H5SL_remove:0x26f8f0","H5SL_remove_first:0x2776f0","H5SL_search:0x277c10","H5SL_term_package:0x26f600","H5SM__get_index:0x27b480","H5SM__get_mesg_count_test:0x281610","H5SM__list_free:0x27f4f0","H5SM__message_compare:0x2811c0","H5SM__message_decode:0x281500","H5SM__message_encode:0x2813b0","H5SM__table_free:0x27f4b0","H5SM_can_share:0x27b940","H5SM_delete:0x27d490","H5SM_get_fheap_addr:0x27b780","H5SM_get_info:0x27e590","H5SM_get_refcount:0x27ed00","H5SM_ih_size:0x27ff50","H5SM_init:0x27ada0","H5SM_list_debug:0x27f990","H5SM_reconstitute:0x27ece0","H5SM_table_debug:0x27f530","H5SM_try_share:0x27bc00","H5SM_type_shared:0x27b580","H5T__alloc:0x2831b0","H5T__array_create:0x290bf0","H5T__bit_copy:0x2917f0","H5T__bit_dec:0x2928f0","H5T__bit_find:0x2920e0","H5T__bit_get_d:0x291d20","H5T__bit_inc:0x2927d0","H5T__bit_neg:0x292a00","H5T__bit_set:0x291db0","H5T__bit_set_d:0x291d70","H5T__bit_shift:0x291eb0","H5T__commit:0x294900","H5T__commit_anon:0x2950e0","H5T__commit_named:0x293640","H5T__conv_array:0x301480","H5T__conv_b_b:0x2fc5d0","H5T__conv_double_float:0x2f3330","H5T__conv_double_int:0x2ef570","H5T__conv_double_ldouble:0x2f3b30","H5T__conv_double_llong:0x2f1e10","H5T__conv_double_long:0x2f08f0","H5T__conv_double_schar:0x2ece10","H5T__conv_double_short:0x2ee170","H5T__conv_double_uchar:0x2ed7c0","H5T__conv_double_uint:0x2eff20","H5T__conv_double_ullong:0x2f2780","H5T__conv_double_ulong:0x2f1260","H5T__conv_double_ushort:0x2eeb70","H5T__conv_enum:0x2ff6f0","H5T__conv_enum_numeric:0x2ffce0","H5T__conv_f_f:0x2e2430","H5T__conv_f_i:0x2e43e0","H5T__conv_float_double:0x2ec590","H5T__conv_float_int:0x2e86a0","H5T__conv_float_ldouble:0x2ec9c0","H5T__conv_float_llong:0x2eae70","H5T__conv_float_long:0x2e9750","H5T__conv_float_schar:0x2e5fa0","H5T__conv_float_short:0x2e72f0","H5T__conv_float_uchar:0x2e6940","H5T__conv_float_uint:0x2e8ed0","H5T__conv_float_ullong:0x2eb8c0","H5T__conv_float_ulong:0x2ea1a0","H5T__conv_float_ushort:0x2e7cc0","H5T__conv_i_f:0x299b60","H5T__conv_i_i:0x298db0","H5T__conv_int_double:0x2b45f0","H5T__conv_int_float:0x2b3340","H5T__conv_int_ldouble:0x2b5b30","H5T__conv_int_llong:0x2b2900","H5T__conv_int_long:0x2b1ec0","H5T__conv_int_schar:0x2afdc0","H5T__conv_int_short:0x2b0be0","H5T__conv_int_uchar:0x2b04a0","H5T__conv_int_uint:0x2b1a80","H5T__conv_int_ullong:0x2b2d40","H5T__conv_int_ulong:0x2b2300","H5T__conv_int_ushort:0x2b1330","H5T__conv_ldouble_double:0x2fb570","H5T__conv_ldouble_float:0x2fad20","H5T__conv_ldouble_int:0x2f6960","H5T__conv_ldouble_llong:0x2f95a0","H5T__conv_ldouble_long:0x2f7e20","H5T__conv_ldouble_schar:0x2f3f80","H5T__conv_ldouble_short:0x2f5450","H5T__conv_ldouble_uchar:0x2f49e0","H5T__conv_ldouble_uint:0x2f7390","H5T__conv_ldouble_ullong:0x2fa010","H5T__conv_ldouble_ulong:0x2f8890","H5T__conv_ldouble_ushort:0x2f5ea0","H5T__conv_llong_double:0x2d56f0","H5T__conv_llong_float:0x2d3690","H5T__conv_llong_int:0x2d1cc0","H5T__conv_llong_ldouble:0x2d73e0","H5T__conv_llong_long:0x2d2b80","H5T__conv_llong_schar:0x2cff90","H5T__conv_llong_short:0x2d0df0","H5T__conv_llong_uchar:0x2d06a0","H5T__conv_llong_uint:0x2d2450","H5T__conv_llong_ullong:0x2d3220","H5T__conv_llong_ulong:0x2d2da0","H5T__conv_llong_ushort:0x2d1560","H5T__conv_long_double:0x2c3250","H5T__conv_long_float:0x2c11f0","H5T__conv_long_int:0x2bf820","H5T__conv_long_ldouble:0x2c4f40","H5T__conv_long_llong:0x2c0b50","H5T__conv_long_schar:0x2bdaf0","H5T__conv_long_short:0x2be950","H5T__conv_long_uchar:0x2be200","H5T__conv_long_uint:0x2bffb0","H5T__conv_long_ullong:0x2c0d70","H5T__conv_long_ulong:0x2c06e0","H5T__conv_long_ushort:0x2bf0c0","H5T__conv_noop:0x297600","H5T__conv_order:0x297670","H5T__conv_order_opt:0x297900","H5T__conv_ref:0x2fe7c0","H5T__conv_s_s:0x2fbdc0","H5T__conv_schar_double:0x29e6c0","H5T__conv_schar_float:0x29dc80","H5T__conv_schar_int:0x29be30","H5T__conv_schar_ldouble:0x29f100","H5T__conv_schar_llong:0x29d250","H5T__conv_schar_long:0x29c820","H5T__conv_schar_short:0x29b400","H5T__conv_schar_uchar:0x29afe0","H5T__conv_schar_uint:0x29c260","H5T__conv_schar_ullong:0x29d6a0","H5T__conv_schar_ulong:0x29cc70","H5T__conv_schar_ushort:0x29b850","H5T__conv_short_double:0x2a8260","H5T__conv_short_float:0x2a71e0","H5T__conv_short_int:0x2a5340","H5T__conv_short_ldouble:0x2a92e0","H5T__conv_short_llong:0x2a6790","H5T__conv_short_long:0x2a5d40","H5T__conv_short_schar:0x2a40a0","H5T__conv_short_uchar:0x2a47b0","H5T__conv_short_uint:0x2a5770","H5T__conv_short_ullong:0x2a6be0","H5T__conv_short_ulong:0x2a6190","H5T__conv_short_ushort:0x2a4ef0","H5T__conv_struct:0x2fd780","H5T__conv_struct_opt:0x2fdf30","H5T__conv_struct_subset:0x2fd770","H5T__conv_uchar_double:0x2a2bf0","H5T__conv_uchar_float:0x2a21b0","H5T__conv_uchar_int:0x2a0850","H5T__conv_uchar_ldouble:0x2a3630","H5T__conv_uchar_llong:0x2a1930","H5T__conv_uchar_long:0x2a10b0","H5T__conv_uchar_schar:0x29fb80","H5T__conv_uchar_short:0x29ffd0","H5T__conv_uchar_uint:0x2a0c80","H5T__conv_uchar_ullong:0x2a1d70","H5T__conv_uchar_ulong:0x2a14f0","H5T__conv_uchar_ushort:0x2a0410","H5T__conv_uint_double:0x2bb070","H5T__conv_uint_float:0x2b9e40","H5T__conv_uint_int:0x2b88e0","H5T__conv_uint_ldouble:0x2bc5a0","H5T__conv_uint_llong:0x2b95c0","H5T__conv_uint_long:0x2b8d40","H5T__conv_uint_schar:0x2b7080","H5T__conv_uint_short:0x2b7c90","H5T__conv_uint_uchar:0x2b7670","H5T__conv_uint_ullong:0x2b9a00","H5T__conv_uint_ulong:0x2b9180","H5T__conv_uint_ushort:0x2b82b0","H5T__conv_ullong_double:0x2de570","H5T__conv_ullong_float:0x2dc420","H5T__conv_ullong_int:0x2dacb0","H5T__conv_ullong_ldouble:0x2e0360","H5T__conv_ullong_llong:0x2dbf80","H5T__conv_ullong_long:0x2db880","H5T__conv_ullong_schar:0x2d9430","H5T__conv_ullong_short:0x2da050","H5T__conv_ullong_uchar:0x2d9a40","H5T__conv_ullong_uint:0x2db290","H5T__conv_ullong_ulong:0x2dbd30","H5T__conv_ullong_ushort:0x2da680","H5T__conv_ulong_double:0x2cc0d0","H5T__conv_ulong_float:0x2c9f80","H5T__conv_ulong_int:0x2c8810","H5T__conv_ulong_ldouble:0x2cdec0","H5T__conv_ulong_llong:0x2c9880","H5T__conv_ulong_long:0x2c93e0","H5T__conv_ulong_schar:0x2c6f90","H5T__conv_ulong_short:0x2c7bb0","H5T__conv_ulong_uchar:0x2c75a0","H5T__conv_ulong_uint:0x2c8df0","H5T__conv_ulong_ullong:0x2c9d30","H5T__conv_ulong_ushort:0x2c81e0","H5T__conv_ushort_double:0x2add40","H5T__conv_ushort_float:0x2acd10","H5T__conv_ushort_int:0x2ab3b0","H5T__conv_ushort_ldouble:0x2aed70","H5T__conv_ushort_llong:0x2ac490","H5T__conv_ushort_long:0x2abc10","H5T__conv_ushort_schar:0x2aa310","H5T__conv_ushort_short:0x2aaf10","H5T__conv_ushort_uchar:0x2aa910","H5T__conv_ushort_uint:0x2ab7e0","H5T__conv_ushort_ullong:0x2ac8d0","H5T__conv_ushort_ulong:0x2ac050","H5T__conv_vlen:0x300080","H5T__create:0x28abf0","H5T__enum_create:0x302dd0","H5T__enum_insert:0x303040","H5T__free:0x283af0","H5T__get_array_dims:0x2911b0","H5T__get_array_ndims:0x291050","H5T__get_create_plist:0x294720","H5T__get_member_name:0x3040c0","H5T__get_member_size:0x296610","H5T__get_member_value:0x303450","H5T__get_path_table_npaths:0x290ba0","H5T__init_native_float_types:0x306040","H5T__init_native_internal:0x309e00","H5T__insert:0x2967f0","H5T__open_name:0x295770","H5T__print_path_stats:0x302060","H5T__ref_reclaim:0x30d890","H5T__ref_set_loc:0x30d430","H5T__reverse_order:0x296ef0","H5T__sort_name:0x3047c0","H5T__sort_value:0x304520","H5T__update_packed:0x296780","H5T__upgrade_version:0x2909b0","H5T__visit:0x30dc90","H5T__vlen_create:0x30e520","H5T__vlen_reclaim:0x30ea90","H5T__vlen_set_loc:0x30e820","H5T_already_vol_managed:0x295cf0","H5T_close:0x283d10","H5T_close_real:0x2832c0","H5T_cmp:0x2840a0","H5T_construct_datatype:0x295930","H5T_convert:0x285ab0","H5T_convert_committed_datatype:0x285fa0","H5T_convert_with_ctx:0x2859d0","H5T_copy:0x286f50","H5T_copy_reopen:0x28a200","H5T_debug:0x302070","H5T_decode:0x2864e0","H5T_detect_class:0x2825a0","H5T_encode:0x282cc0","H5T_get_actual_type:0x295b00","H5T_get_class:0x282450","H5T_get_force_conv:0x296ee0","H5T_get_member_offset:0x296140","H5T_get_member_type:0x2965a0","H5T_get_named_type:0x295af0","H5T_get_nmembers:0x303f20","H5T_get_offset:0x30a280","H5T_get_order:0x30ae70","H5T_get_precision:0x30bd20","H5T_get_ref_type:0x2860e0","H5T_get_sign:0x304aa0","H5T_get_size:0x284090","H5T_get_super:0x289e80","H5T_init:0x28b230","H5T_invoke_vol_optional:0x295d00","H5T_is_immutable:0x285f60","H5T_is_named:0x285f70","H5T_is_numeric_with_unusual_unused_bits:0x290bb0","H5T_is_relocatable:0x2908a0","H5T_is_sensible:0x286100","H5T_is_variable_str:0x282800","H5T_is_vl_storage:0x2908e0","H5T_link:0x293ce0","H5T_lock:0x282fc0","H5T_nameof:0x285ed0","H5T_noop_conv:0x285880","H5T_oloc:0x285e40","H5T_open:0x295190","H5T_own_vol_obj:0x290b20","H5T_patch_file:0x290ae0","H5T_patch_vlen_file:0x290b00","H5T_path_bkg:0x2859c0","H5T_path_compound_subset:0x285990","H5T_path_find:0x2885b0","H5T_path_noop:0x285840","H5T_reclaim:0x296e40","H5T_reclaim_cb:0x296db0","H5T_restore_refresh_state:0x295c10","H5T_save_refresh_state:0x295b20","H5T_set_loc:0x286130","H5T_set_version:0x290a20","H5T_term_package:0x281fa0","H5T_top_term_package:0x283500","H5T_unregister:0x284d00","H5T_update_shared:0x2948d0","H5T_vlen_reclaim_elmt:0x30ed60","H5S__extent_copy_real:0x236cc0","H5S__extent_release:0x236670","H5S__get_diminfo_status_test:0x26cc70","H5S__get_rebuild_status_test:0x26cbe0","H5S__hyper_get_op_gen:0x249670","H5S__hyper_project_intersection:0x255f70","H5S__hyper_rebuild:0x250d80","H5S__internal_consistency_test:0x26ccd0","H5S__modify_select:0x25e1a0","H5S__sel_iter_close_cb:0x26c030","H5S__verify_offsets:0x26cd90","Nflock:0x61f30","Pflock:0x61ee0"]},{"type":1,"name":"bio","functions":["bio_get_last_bvec","bio_will_gap","bio_integrity_init"]},{"type":3,"name":"python","functions":[],"binary_path":"/usr/lib64/libpython3.9.so","provider":"python"},{"type":1,"name":"xfs","functions":["xfs_dir2_block_addname","xfs_dir2_block_getdents","xfs_dir2_block_log_leaf","xfs_dir2_block_lookup","xfs_dir2_block_lookup_int","xfs_dir2_block_removename","xfs_dir2_block_replace","xfs_dir2_block_sfsize","xfs_dir2_block_sort","xfs_dir2_block_to_leaf","xfs_dir2_block_to_sf","xfs_dir2_compname","xfs_dir2_data_bestfree_p","xfs_dir2_data_entry_tag_p","xfs_dir2_data_freefind","xfs_dir2_data_freeinsert","xfs_dir2_data_freeremove.constprop.0","xfs_dir2_data_freescan","xfs_dir2_data_get_ftype","xfs_dir2_data_log_entry","xfs_dir2_data_log_header","xfs_dir2_data_log_unused","xfs_dir2_data_make_free","xfs_dir2_data_put_ftype","xfs_dir2_data_use_free","xfs_dir2_free_hdr_from_disk","xfs_dir2_free_hdr_to_disk.isra.0","xfs_dir2_free_log_bests.isra.0","xfs_dir2_free_read","xfs_dir2_grow_inode","xfs_dir2_hashname","xfs_dir2_isblock","xfs_dir2_isleaf","xfs_dir2_leaf_addname","xfs_dir2_leaf_getdents","xfs_dir2_leaf_hdr_from_disk","xfs_dir2_leaf_hdr_to_disk","xfs_dir2_leaf_lasthash","xfs_dir2_leaf_lookup","xfs_dir2_leaf_lookup_int","xfs_dir2_leaf_readbuf","xfs_dir2_leaf_removename","xfs_dir2_leaf_replace","xfs_dir2_leaf_search_hash","xfs_dir2_leaf_to_block","xfs_dir2_leaf_to_node","xfs_dir2_leaf_trim_data","xfs_dir2_leafn_add","xfs_dir2_leafn_lookup_for_addname","xfs_dir2_leafn_lookup_for_entry","xfs_dir2_leafn_lookup_int","xfs_dir2_leafn_order","xfs_dir2_leafn_rebalance.constprop.0","xfs_dir2_leafn_remove","xfs_dir2_leafn_split","xfs_dir2_leafn_toosmall","xfs_dir2_leafn_unbalance","xfs_dir2_namecheck","xfs_dir2_node_add_datablk","xfs_dir2_node_addname","xfs_dir2_node_addname_int","xfs_dir2_node_find_freeblk","xfs_dir2_node_lookup","xfs_dir2_node_removename","xfs_dir2_node_replace","xfs_dir2_node_to_leaf","xfs_dir2_node_trim_free","xfs_dir2_sf_addname","xfs_dir2_sf_addname_easy","xfs_dir2_sf_addname_hard","xfs_dir2_sf_create","xfs_dir2_sf_entsize","xfs_dir2_sf_get_ftype","xfs_dir2_sf_get_ino","xfs_dir2_sf_get_parent_ino","xfs_dir2_sf_getdents.isra.0","xfs_dir2_sf_lookup","xfs_dir2_sf_nextentry","xfs_dir2_sf_put_ftype","xfs_dir2_sf_put_ino","xfs_dir2_sf_put_parent_ino","xfs_dir2_sf_removename","xfs_dir2_sf_replace","xfs_dir2_sf_to_block","xfs_dir2_sf_toino4","xfs_dir2_sf_toino8","xfs_dir2_sf_verify","xfs_dir2_shrink_inode","xfs_dir3_block_init","xfs_dir3_block_read","xfs_dir3_block_read_verify","xfs_dir3_block_verify","xfs_dir3_block_write_verify","xfs_dir3_data_end_offset","xfs_dir3_data_init","xfs_dir3_data_read","xfs_dir3_data_read_verify","xfs_dir3_data_reada_verify","xfs_dir3_data_readahead","xfs_dir3_data_verify","xfs_dir3_data_write_verify","xfs_dir3_free_get_buf","xfs_dir3_free_read_verify","xfs_dir3_free_verify","xfs_dir3_free_write_verify","xfs_dir3_get_dtype","xfs_dir3_leaf_check_int","xfs_dir3_leaf_compact","xfs_dir3_leaf_compact_x1","xfs_dir3_leaf_find_entry","xfs_dir3_leaf_find_stale","xfs_dir3_leaf_get_buf","xfs_dir3_leaf_init","xfs_dir3_leaf_log_bests.isra.0","xfs_dir3_leaf_log_ents","xfs_dir3_leaf_log_header","xfs_dir3_leaf_log_tail.isra.0","xfs_dir3_leaf_read","xfs_dir3_leaf_read_verify","xfs_dir3_leaf_verify","xfs_dir3_leaf_write_verify","xfs_dir3_leafn_moveents","xfs_dir3_leafn_moveents.part.0","xfs_dir3_leafn_read","xfs_dir_canenter","xfs_dir_cilookup_result","xfs_dir_createname","xfs_dir_fsync","xfs_dir_init","xfs_dir_ino_validate","xfs_dir_isempty","xfs_dir_lookup","xfs_dir_open","xfs_rmaproot_init","xfs_sb_from_disk","xfs_sb_get_secondary","xfs_sb_good_version","xfs_sb_mount_common","xfs_sb_quiet_read_verify","xfs_sb_quota_from_disk","xfs_sb_read_secondary","xfs_sb_read_verify","xfs_sb_to_disk","xfs_sb_validate_fsb_count","xfs_sb_version_to_features","xfs_sb_write_verify","xfs_sbblock_init","xfs_sbversion_add_attr2","xfs_seek_iomap_begin","xfs_setsize_buftarg_early","xfs_dir_removename","xfs_dir_replace","xfs_dir_startup","xfs_imap_lookup","xfs_imap_valid.part.0","xfs_inobt_first_free_inode","xfs_inobt_get_maxrecs","xfs_inobt_get_minrecs","xfs_inobt_init_key_from_rec","xfs_inobt_init_ptr_from_cur","xfs_inobt_insert","xfs_inobt_insert_sprec","xfs_inobt_maxlevels_ondisk","xfs_inobt_update.isra.0","xfs_dialloc_ag","xfs_dialloc_ag_finobt_near","xfs_dialloc_ag_finobt_newino.isra.0","xfs_dialloc_ag_inobt","xfs_dialloc_ag_update_inobt","xfs_difree_finobt","xfs_difree_inobt","xfs_difree_inode_chunk.isra.0","xfs_dinode_verify.part.0","xfs_dinode_verify_fork","xfs_btree_afakeroot_set_root","xfs_btree_bload","xfs_btree_bload_compute_geometry","xfs_btree_bload_desired_npb","xfs_btree_bload_drop_buf","xfs_btree_bload_ensure_slack","xfs_btree_bload_leaf","xfs_btree_bload_level_geometry","xfs_btree_bload_max_npb","xfs_btree_bload_node","xfs_btree_bload_prep_block","xfs_btree_block_change_owner","xfs_btree_buf_to_ptr.isra.0","xfs_btree_calc_size","xfs_btree_change_owner","xfs_btree_check_block","xfs_btree_check_lptr","xfs_btree_check_sblock","xfs_btree_check_sptr","xfs_btree_commit_afakeroot","xfs_btree_commit_ifakeroot","xfs_btree_compute_maxlevels","xfs_btree_copy_keys","xfs_btree_copy_ptrs","xfs_btree_copy_recs","xfs_btree_count_blocks","xfs_btree_count_blocks_helper","xfs_btree_dec_cursor","xfs_btree_decrement","xfs_btree_del_cursor","xfs_btree_delete","xfs_btree_delrec","xfs_btree_destroy_cur_caches","xfs_btree_diff_two_ptrs","xfs_btree_dup_cursor","xfs_btree_fakeroot_alloc_block","xfs_btree_fakeroot_dup_cursor","xfs_btree_fakeroot_free_block","xfs_btree_fakeroot_init_ptr_from_cur","xfs_btree_firstrec","xfs_btree_free_block","xfs_btree_get_block","xfs_btree_get_buf_block","xfs_btree_get_iroot","xfs_btree_get_keys","xfs_btree_get_leaf_keys","xfs_btree_get_leaf_keys.cold","xfs_btree_get_node_keys","xfs_btree_get_rec","xfs_btree_get_sibling","xfs_btree_goto_left_edge","xfs_btree_has_more_records","xfs_btree_has_records","xfs_btree_has_records_helper","xfs_btree_high_key_addr","xfs_btree_high_key_from_key","xfs_btree_high_key_offset","xfs_btree_ifork_ptr","xfs_btree_increment","xfs_btree_init_block","xfs_btree_init_block_cur","xfs_btree_init_block_int","xfs_btree_insert","xfs_btree_insrec","xfs_btree_is_lastrec","xfs_btree_key_addr","xfs_btree_key_offset","xfs_btree_kill_iroot","xfs_btree_kill_root","xfs_btree_lastrec","xfs_btree_lblock_calc_crc","xfs_btree_lblock_v5hdr_verify","xfs_btree_lblock_verify","xfs_btree_lblock_verify_crc","xfs_btree_log_block","xfs_btree_log_keys","xfs_btree_log_ptrs","xfs_btree_log_recs","xfs_btree_lookup","xfs_btree_lookup_get_block","xfs_btree_lshift","xfs_btree_magic","xfs_btree_make_block_unfull","xfs_btree_new_iroot","xfs_btree_new_root","xfs_btree_offsets","xfs_btree_overlapped_query_range","xfs_btree_ptr_addr","xfs_btree_ptr_is_null","xfs_btree_ptr_offset","xfs_btree_ptr_to_daddr","xfs_btree_query_all","xfs_btree_query_range","xfs_btree_read_buf_block","xfs_btree_read_bufl","xfs_btree_reada_bufl","xfs_btree_reada_bufs","xfs_btree_readahead.isra.0","xfs_btree_readahead_lblock.isra.0","xfs_btree_readahead_ptr.constprop.0","xfs_btree_readahead_sblock.isra.0","xfs_btree_rec_addr","xfs_btree_rec_offset","xfs_btree_rshift","xfs_btree_sblock_calc_crc","xfs_btree_sblock_v5hdr_verify","xfs_btree_sblock_verify","xfs_btree_sblock_verify_crc","xfs_btree_set_ptr_null","xfs_btree_set_refs","xfs_btree_set_sibling","xfs_btree_setbuf","xfs_btree_shift_keys","xfs_btree_shift_ptrs","xfs_btree_shift_recs","xfs_btree_simple_query_range","xfs_btree_space_to_height","xfs_btree_split","xfs_btree_split_worker","xfs_btree_stage_afakeroot","xfs_btree_stage_ifakeroot","xfs_btree_update","xfs_btree_update_keys","xfs_btree_updkeys_force.constprop.0","xfs_btree_visit_block","xfs_btree_visit_blocks","xfs_defer_add","xfs_defer_add_barrier","xfs_defer_barrier_abort_intent","xfs_defer_barrier_cancel_item","xfs_defer_barrier_create_done","xfs_defer_barrier_create_intent","xfs_defer_barrier_finish_item","xfs_defer_cancel","xfs_defer_cancel_recovery","xfs_defer_create_intent.part.0","xfs_defer_create_intents","xfs_defer_destroy_item_caches","xfs_defer_drain_free","xfs_defer_drain_init","xfs_defer_extent_free","xfs_defer_finish","xfs_defer_finish_noroll","xfs_defer_finish_one","xfs_defer_finish_recovery","xfs_defer_item_pause","xfs_defer_item_unpause","xfs_defer_move","xfs_defer_ops_capture_abort","xfs_defer_ops_capture_and_commit","xfs_defer_ops_continue","xfs_defer_pending_abort_list","xfs_defer_pending_cancel_work","xfs_defer_relog","xfs_defer_resources_rele","xfs_defer_restore_resources","xfs_defer_save_resources","xfs_defer_start_recovery","xfs_defer_trans_abort","xfs_defer_trans_roll","xfs_blockgc_clear_iflag","xfs_blockgc_flush_all","xfs_blockgc_free_dquots","xfs_blockgc_free_quota","xfs_blockgc_free_space","xfs_blockgc_set_iflag","xfs_blockgc_start","xfs_blockgc_stop","xfs_blockgc_worker","xfs_bmap_add_attrfork_btree.constprop.0","xfs_bmap_add_attrfork_extents.constprop.0","xfs_bmap_add_attrfork_local.constprop.0","xfs_bmap_add_extent_delay_real","xfs_bmap_add_extent_hole_delay.constprop.0","xfs_bmap_add_extent_hole_real","xfs_bmap_btalloc","xfs_bmap_btalloc_at_eof","xfs_bmap_btalloc_best_length","xfs_bmap_btree_to_extents","xfs_bmap_del_extent_real","xfs_bmap_extents_to_btree","xfs_bmap_extsize_align.part.0","xfs_bmap_forkoff_reset","xfs_bmap_isaeof","xfs_bmap_local_to_extents.constprop.0","xfs_bmap_shift_update_extent.constprop.0","xfs_bmap_worst_indlen.isra.0","xfs_bmapi_allocate","xfs_bmapi_convert_unwritten","xfs_bmapi_finish","xfs_bmapi_trim_map.constprop.0","xfs_bmapi_update_map.constprop.0","xfs_bmbt_init_common","xfs_bmbt_init_high_key_from_rec","xfs_bmbt_init_key_from_rec","xfs_bmbt_init_ptr_from_cur","xfs_bmbt_init_rec_from_cur","xfs_bmbt_key_diff","xfs_bmbt_keys_contiguous","xfs_bmbt_keys_inorder","xfs_bmbt_lookup_eq","xfs_bmbt_lookup_first","xfs_bmbt_read_verify","xfs_bmbt_recs_inorder","xfs_bmbt_update","xfs_bmbt_update_cursor","xfs_bmbt_verify","xfs_bmbt_write_verify","xfs_bmse_can_merge","xfs_bmse_merge.constprop.0","xfs_bnobt_diff_two_keys","xfs_bnobt_init_high_key_from_rec","xfs_bnobt_key_diff","xfs_bnobt_keys_inorder","xfs_bnobt_recs_inorder","xfs_bnoroot_init","xfs_buf_lookup.constprop.0","xfs_acl_from_disk","xfs_acl_from_disk","xfs_acl_to_disk","xfs_acl_to_disk","xfs_add_incompat_log_feature","xfs_add_incompat_log_feature","xfs_ag_block_count","xfs_ag_extend_space","xfs_ag_extend_space","xfs_ag_geom_health","xfs_ag_get_geometry","xfs_ag_get_geometry","xfs_ag_init_headers","xfs_ag_mark_healthy","xfs_ag_mark_healthy","xfs_ag_mark_sick","xfs_ag_mark_sick","xfs_ag_measure_sickness","xfs_ag_measure_sickness","xfs_ag_resv_alloc_extent","xfs_ag_resv_alloc_extent","xfs_ag_resv_critical","xfs_ag_resv_free","xfs_ag_resv_free","xfs_ag_resv_free_extent","xfs_ag_resv_free_extent","xfs_ag_resv_init","xfs_ag_resv_init","xfs_ag_resv_needed","xfs_ag_resv_needed","xfs_ag_resv_rmapbt_alloc","xfs_ag_resv_rmapbt_alloc","xfs_ag_shrink_space","xfs_agf_read_verify","xfs_agf_verify","xfs_agf_write_verify","xfs_agfl_free_finish_item","xfs_agfl_read_verify","xfs_agfl_size","xfs_agfl_size","xfs_agfl_verify","xfs_agfl_walk","xfs_agfl_walk","xfs_agfl_write_verify","xfs_agi_read_verify","xfs_agi_verify","xfs_agi_write_verify","xfs_agiblock_init","xfs_agino_range","xfs_ail_delete_one","xfs_ail_min_lsn","xfs_ail_push","xfs_ail_push_all","xfs_ail_push_all_sync","xfs_ail_update_finish","xfs_allocbt_alloc_block","xfs_allocbt_calc_size","xfs_allocbt_calc_size","xfs_allocbt_commit_staged_btree","xfs_allocbt_commit_staged_btree","xfs_allocbt_destroy_cur_cache","xfs_allocbt_destroy_cur_cache","xfs_allocbt_dup_cursor","xfs_allocbt_free_block","xfs_allocbt_get_maxrecs","xfs_allocbt_get_minrecs","xfs_allocbt_init_common","xfs_allocbt_init_cursor","xfs_allocbt_init_cursor","xfs_allocbt_init_key_from_rec","xfs_allocbt_init_ptr_from_cur","xfs_allocbt_init_rec_from_cur","xfs_allocbt_keys_contiguous","xfs_allocbt_maxlevels_ondisk","xfs_allocbt_maxlevels_ondisk","xfs_allocbt_maxrecs","xfs_allocbt_maxrecs","xfs_allocbt_read_verify","xfs_allocbt_set_root","xfs_allocbt_stage_cursor","xfs_allocbt_stage_cursor","xfs_allocbt_update_lastrec","xfs_allocbt_verify","xfs_allocbt_write_verify","xfs_ascii_ci_compname","xfs_ascii_ci_compname","xfs_ascii_ci_compname.part.0","xfs_ascii_ci_hashname","xfs_ascii_ci_hashname","xfs_attr3_leaf_add","xfs_attr3_leaf_add","xfs_attr3_leaf_add_work","xfs_attr3_leaf_clearflag","xfs_attr3_leaf_compact","xfs_attr3_leaf_create","xfs_attr3_leaf_figure_balance.isra.0","xfs_attr3_leaf_flipflags","xfs_attr3_leaf_flipflags","xfs_attr3_leaf_getvalue","xfs_attr3_leaf_hdr_from_disk","xfs_attr3_leaf_hdr_from_disk","xfs_attr3_leaf_hdr_to_disk","xfs_attr3_leaf_hdr_to_disk","xfs_attr3_leaf_inactive","xfs_attr3_leaf_inactive","xfs_attr3_leaf_list_int","xfs_attr3_leaf_list_int","xfs_attr3_leaf_lookup_int","xfs_attr3_leaf_lookup_int","xfs_attr3_leaf_moveents.constprop.0","xfs_attr3_leaf_order.isra.0","xfs_attr3_leaf_read","xfs_attr3_leaf_read","xfs_attr3_leaf_read_verify","xfs_attr3_leaf_rebalance.constprop.0","xfs_attr3_leaf_remove","xfs_attr3_leaf_remove","xfs_attr3_leaf_setflag","xfs_attr3_leaf_setflag","xfs_attr3_leaf_split","xfs_attr3_leaf_split","xfs_attr3_leaf_to_node","xfs_attr3_leaf_to_node","xfs_attr3_leaf_to_shortform","xfs_attr3_leaf_to_shortform","xfs_attr3_leaf_toosmall","xfs_attr3_leaf_toosmall","xfs_attr3_leaf_try_add","xfs_attr3_leaf_unbalance","xfs_attr3_leaf_unbalance","xfs_attr3_leaf_verify","xfs_attr3_leaf_write_verify","xfs_attr3_node_inactive","xfs_attr3_rmt_blocks","xfs_attr3_rmt_blocks","xfs_attr3_rmt_hdr_set","xfs_attr3_rmt_read_verify","xfs_attr3_rmt_stale","xfs_attr3_rmt_verify","xfs_attr3_rmt_verify_struct","xfs_attr3_rmt_write_verify","xfs_attr3_root_inactive","xfs_attr_abort_intent","xfs_attr_calc_size","xfs_attr_cancel_item","xfs_attr_change","xfs_attr_change","xfs_attr_copy_value","xfs_attr_copy_value.part.0","xfs_attr_create_done","xfs_attr_create_intent","xfs_attr_defer_add","xfs_attr_finish_item","xfs_attr_fork_remove","xfs_attr_fork_remove","xfs_attr_get","xfs_attr_get","xfs_attr_get_ilocked","xfs_attr_get_ilocked","xfs_attr_inactive","xfs_attr_intent_destroy_cache","xfs_attr_intent_destroy_cache","xfs_attr_is_leaf","xfs_attr_is_leaf","xfs_attr_leaf_get","xfs_attr_leaf_hasname","xfs_attr_leaf_lasthash","xfs_attr_leaf_lasthash","xfs_attr_leaf_list","xfs_attr_leaf_newentsize","xfs_attr_leaf_newentsize","xfs_attr_leaf_order","xfs_attr_leaf_order","xfs_attr_leaf_removename","xfs_attr_list","xfs_attr_list","xfs_attr_list_ilocked","xfs_attr_list_ilocked","xfs_attr_log_item.constprop.0","xfs_attr_match.part.0","xfs_attr_multi_by_handle","xfs_attr_namecheck","xfs_attr_namecheck","xfs_attr_node_addname","xfs_attr_node_addname_find_attr","xfs_attr_node_get","xfs_attr_node_list","xfs_attr_node_list","xfs_attr_node_list_lookup","xfs_attr_node_list_lookup","xfs_attr_node_lookup.constprop.0","xfs_attr_node_remove_attr.isra.0","xfs_attr_put_listent","xfs_attr_recover_work","xfs_attr_relog_intent","xfs_attr_rmt_find_hole","xfs_attr_rmt_find_hole","xfs_attr_rmtval_copyin.constprop.0","xfs_attr_rmtval_copyout","xfs_attr_rmtval_find_space","xfs_attr_rmtval_find_space","xfs_attr_rmtval_get","xfs_attr_rmtval_get","xfs_attr_rmtval_invalidate","xfs_attr_rmtval_invalidate","xfs_attr_rmtval_remove","xfs_attr_rmtval_remove","xfs_attr_rmtval_set_blk","xfs_attr_rmtval_set_blk","xfs_attr_rmtval_set_value","xfs_attr_rmtval_set_value","xfs_attr_rmtval_stale","xfs_attr_rmtval_stale","xfs_attr_set","xfs_attr_set","xfs_attr_set_iter","xfs_attr_set_iter","xfs_attr_sf_findname","xfs_attr_sf_removename","xfs_attr_shortform_add","xfs_attr_shortform_add","xfs_attr_shortform_addname","xfs_attr_shortform_allfit","xfs_attr_shortform_allfit","xfs_attr_shortform_bytesfit","xfs_attr_shortform_bytesfit","xfs_attr_shortform_compare","xfs_attr_shortform_compare","xfs_attr_shortform_create","xfs_attr_shortform_create","xfs_attr_shortform_getvalue","xfs_attr_shortform_getvalue","xfs_attr_shortform_list","xfs_attr_shortform_list","xfs_attr_shortform_to_leaf","xfs_attr_shortform_to_leaf","xfs_attr_shortform_verify","xfs_attr_shortform_verify","xfs_attr_try_sf_addname","xfs_attrd_item_format","xfs_attrd_item_free","xfs_attrd_item_intent","xfs_attrd_item_release","xfs_attrd_item_size","xfs_attri_init","xfs_attri_item_format","xfs_attri_item_free","xfs_attri_item_match","xfs_attri_item_release","xfs_attri_item_size","xfs_attri_item_unpin","xfs_attri_log_nameval_alloc","xfs_attri_recover_work","xfs_attri_release","xfs_attrlist_by_handle","xfs_attrmulti_attr_get","xfs_attrmulti_attr_set","xfs_attrmulti_by_handle","xfs_bitmap_empty","xfs_blkdev_get.constprop.0","xfs_bmap_add_attrfork","xfs_bmap_add_extent_unwritten_real","xfs_bmap_adjacent","xfs_bmap_alloc_account","xfs_bmap_btalloc_low_space","xfs_bmap_can_insert_extents","xfs_bmap_collapse_extents","xfs_bmap_complain_bad_rec","xfs_bmap_compute_attr_offset","xfs_bmap_compute_maxlevels","xfs_bmap_count_blocks","xfs_bmap_count_leaves","xfs_bmap_del_extent_cow","xfs_bmap_del_extent_delay","xfs_bmap_extsize_align","xfs_bmap_finish_one","xfs_bmap_first_unused","xfs_bmap_insert_extents","xfs_bmap_intent_destroy_cache","xfs_bmap_last_before","xfs_bmap_last_extent","xfs_bmap_last_offset","xfs_bmap_local_to_extents_empty","xfs_bmap_longest_free_extent","xfs_bmap_map_extent","xfs_bmap_punch_delalloc_range","xfs_bmap_recover_work","xfs_bmap_relog_intent","xfs_bmap_split_extent","xfs_bmap_trim_cow","xfs_bmap_unmap_extent","xfs_bmap_update_abort_intent","xfs_bmap_update_cancel_item","xfs_bmap_update_create_done","xfs_bmap_update_create_intent","xfs_bmap_update_diff_items","xfs_bmap_update_finish_item","xfs_bmap_update_get_group","xfs_bmap_update_log_item.constprop.0","xfs_bmap_validate_extent","xfs_bmap_validate_extent_raw","xfs_bmapi_convert_delalloc","xfs_bmapi_minleft","xfs_bmapi_read","xfs_bmapi_remap","xfs_bmapi_reserve_delalloc","xfs_bmapi_write","xfs_bmbt_alloc_block","xfs_bmbt_calc_size","xfs_bmbt_calc_size","xfs_bmbt_change_owner","xfs_bmbt_change_owner","xfs_bmbt_commit_staged_btree","xfs_bmbt_destroy_cur_cache","xfs_bmbt_destroy_cur_cache","xfs_bmbt_diff_two_keys","xfs_bmbt_disk_get_all","xfs_bmbt_disk_get_all","xfs_bmbt_disk_get_blockcount","xfs_bmbt_disk_get_blockcount","xfs_bmbt_disk_get_startoff","xfs_bmbt_disk_get_startoff","xfs_bmbt_disk_set_all","xfs_bmbt_disk_set_all","xfs_bmbt_dup_cursor","xfs_bmbt_free_block","xfs_bmbt_get_dmaxrecs","xfs_bmbt_get_maxrecs","xfs_bmbt_get_maxrecs","xfs_bmbt_get_minrecs","xfs_bmbt_init_cursor","xfs_bmbt_maxlevels_ondisk","xfs_bmbt_maxrecs","xfs_bmbt_stage_cursor","xfs_bmbt_to_bmdr","xfs_bmbt_to_iomap","xfs_bmdr_maxrecs","xfs_bmdr_to_bmbt","xfs_break_dax_layouts","xfs_break_layouts","xfs_break_leased_layouts","xfs_bstime_store_compat","xfs_bud_item_format","xfs_bud_item_intent","xfs_bud_item_release","xfs_bud_item_size","xfs_buftarg_drain","xfs_buftarg_wait","xfs_bui_copy_format","xfs_bui_init","xfs_bui_item_format","xfs_bui_item_free","xfs_bui_item_match","xfs_bui_item_release","xfs_bui_item_size","xfs_bui_item_unpin","xfs_bui_release","xfs_bulk_ireq_setup","xfs_bulkstat","xfs_bulkstat_fmt","xfs_bulkstat_health","xfs_bulkstat_iwalk","xfs_bulkstat_one","xfs_bulkstat_one_int","xfs_bulkstat_to_bstat","xfs_calc_addafork_reservation","xfs_calc_attrinval_reservation","xfs_calc_attrrm_reservation","xfs_calc_attrsetm_reservation.isra.0","xfs_calc_attrsetrt_reservation.isra.0","xfs_calc_buf_res","xfs_calc_clear_agi_bucket_reservation.isra.0","xfs_calc_create_resv_modify","xfs_calc_create_tmpfile_reservation","xfs_calc_dquots_per_chunk","xfs_calc_finobt_res","xfs_calc_growdata_reservation","xfs_calc_growrtalloc_reservation","xfs_calc_growrtfree_reservation","xfs_calc_growrtzero_reservation.isra.0","xfs_calc_ichange_reservation.isra.0","xfs_calc_icreate_reservation","xfs_calc_icreate_resv_alloc","xfs_calc_ifree_reservation","xfs_calc_inobt_res","xfs_calc_inode_chunk_res","xfs_calc_inode_res.isra.0","xfs_calc_itruncate_reservation","xfs_calc_itruncate_reservation_minlogsize","xfs_calc_iunlink_add_reservation.isra.0","xfs_calc_iunlink_remove_reservation.isra.0","xfs_calc_link_reservation","xfs_calc_mkdir_reservation","xfs_calc_qm_dqalloc_reservation","xfs_calc_qm_dqalloc_reservation_minlogsize","xfs_calc_qm_setqlim_reservation","xfs_calc_remove_reservation","xfs_calc_rename_reservation","xfs_calc_swrite_reservation.isra.0","xfs_calc_symlink_reservation","xfs_calc_write_reservation","xfs_calc_write_reservation_minlogsize","xfs_can_free_eofblocks","xfs_check_sizes","xfs_check_summary_counts","xfs_cil_prepare_item","xfs_cleanup_inode.isra.0","xfs_cleanup_procfs","xfs_clear_incompat_log_features","xfs_collapse_file_space","xfs_compat_attrlist_by_handle","xfs_compat_attrmulti_by_handle","xfs_compat_growfs_data_copyin","xfs_compat_growfs_rt_copyin","xfs_compat_handlereq_copyin","xfs_compat_handlereq_to_dentry.isra.0","xfs_compat_ioc_fsbulkstat.isra.0","xfs_compat_ioc_fsgeometry_v1","xfs_compute_rextslog","xfs_contig_bits","xfs_corruption_error","xfs_create","xfs_create_tmpfile","xfs_cross_rename","xfs_cud_item_format","xfs_cud_item_intent","xfs_cud_item_release","xfs_cud_item_size","xfs_cui_copy_format","xfs_cui_init","xfs_cui_item_format","xfs_cui_item_free","xfs_cui_item_match","xfs_cui_item_release","xfs_cui_item_size","xfs_cui_item_unpin","xfs_cui_release","xfs_dax_failure_fn","xfs_dax_notify_ddev_failure","xfs_dax_notify_failure","xfs_debugfs_mkdir","xfs_default_attroffset","xfs_default_resblks","xfs_deprecated_dointvec_minmax","xfs_deprecated_dointvec_minmax.cold","xfs_destroy_caches","xfs_destroy_mount_workqueues","xfs_destroy_workqueues","xfs_dev_is_read_only","xfs_dialloc","xfs_diflags_to_iflags","xfs_difree","xfs_dinode_calc_crc","xfs_dinode_verify","xfs_dqblk_repair","xfs_dqblk_verify","xfs_dqlock2","xfs_dquot_alloc","xfs_dquot_disk_alloc","xfs_dquot_disk_read","xfs_dquot_from_disk","xfs_dquot_from_disk_ts","xfs_dquot_set_grace_period","xfs_dquot_set_prealloc_limits","xfs_dquot_set_timeout","xfs_dquot_to_disk","xfs_dquot_to_disk_ts","xfs_dquot_verify","xfs_drain_wait_disable","xfs_drain_wait_enable","xfs_droplink","xfs_efd_item_format","xfs_efd_item_free","xfs_efd_item_intent","xfs_efd_item_release","xfs_efd_item_size","xfs_efi_copy_format","xfs_efi_init","xfs_efi_item_format","xfs_efi_item_free","xfs_efi_item_match","xfs_efi_item_release","xfs_efi_item_size","xfs_efi_item_unpin","xfs_efi_release","xfs_end_io","xfs_eof_alignment","xfs_error_get_cfg","xfs_error_report","xfs_error_sysfs_del","xfs_error_sysfs_init","xfs_file_compat_ioctl","xfs_file_ioctl","xfs_fileattr_get","xfs_fileattr_set","xfs_filestream_create_association","xfs_filestream_deassociate","xfs_filestream_lookup_association","xfs_filestream_mount","xfs_filestream_pick_ag","xfs_filestream_select_ag","xfs_filestream_unmount","xfs_fill_fsxattr","xfs_fill_statvfs_from_dquot","xfs_find_handle","xfs_find_trim_cow_extent","xfs_finish_flags","xfs_finobt_alloc_block","xfs_finobt_calc_reserves","xfs_finobt_free_block","xfs_finobt_set_root","xfs_flags2diflags","xfs_flags2diflags2.isra.0","xfs_flush_inodes","xfs_flush_inodes_worker","xfs_flush_unmap_range","xfs_force_summary_recalc","xfs_forget_acl","xfs_free_agfl_block","xfs_free_buftarg","xfs_free_eofblocks","xfs_free_extent_fix_freelist","xfs_free_extent_later","xfs_free_file_space","xfs_free_perag","xfs_free_unused_perag_range","xfs_freesb","xfs_fsb_to_db","xfs_fsbulkstat_one_fmt","xfs_fsbulkstat_one_fmt_compat","xfs_fsinumbers_fmt","xfs_fsinumbers_fmt_compat","xfs_fsmap_owner_to_rmap","xfs_fsmap_to_internal","xfs_fsop_geom_health","xfs_fstrm_free_func","xfs_generic_create","xfs_get_acl","xfs_get_cowextsz_hint","xfs_get_extsz_hint","xfs_getbmap","xfs_getbmap_report_hole","xfs_getfsmap","xfs_getfsmap_check_keys","xfs_getfsmap_datadev_bnobt","xfs_getfsmap_datadev_bnobt_helper","xfs_getfsmap_datadev_bnobt_query","xfs_getfsmap_datadev_helper","xfs_getfsmap_datadev_rmapbt","xfs_getfsmap_datadev_rmapbt_query","xfs_getfsmap_dev_compare","xfs_getfsmap_helper","xfs_getfsmap_is_shared","xfs_getfsmap_is_valid_device.isra.0","xfs_getfsmap_logdev","xfs_growfs_data","xfs_growfs_data_private.isra.0","xfs_growfs_log","xfs_handle_acceptable","xfs_handle_to_dentry","xfs_handlereq_to_dentry.isra.0","xfs_has_finobt","xfs_has_reflink","xfs_has_rmapbt","xfs_health_unmount","xfs_hex_dump","xfs_ialloc_calc_rootino","xfs_ialloc_check_shrink","xfs_ialloc_count_inodes","xfs_ialloc_has_inodes_at_extent","xfs_ialloc_inode_init","xfs_ialloc_log_agi","xfs_ialloc_read_agi","xfs_ialloc_setup_geometry","xfs_iallocbt_calc_size","xfs_iallocbt_maxlevels_ondisk","xfs_icount_range","xfs_icreate_item_format","xfs_icreate_item_release","xfs_icreate_item_size","xfs_icreate_log","xfs_icwalk","xfs_icwalk_ag","xfs_icwalk_match","xfs_icwalk_match_id","xfs_icwalk_match_id_union","xfs_idata_realloc","xfs_idestroy_fork","xfs_iext_count","xfs_iext_count_may_overflow","xfs_iext_count_upgrade","xfs_iext_destroy","xfs_iext_destroy_node","xfs_iext_first","xfs_iext_get_extent","xfs_iext_insert","xfs_iext_insert_node.constprop.0","xfs_iext_insert_raw","xfs_iext_last","xfs_iext_lookup_extent","xfs_iext_lookup_extent_before","xfs_iext_next","xfs_iext_prev","xfs_iext_rebalance_leaf","xfs_iext_remove","xfs_iext_remove_node","xfs_iext_state_to_fork","xfs_iext_update_extent","xfs_iext_update_node.constprop.0.isra.0","xfs_iextents_copy","xfs_iformat_attr_fork","xfs_iformat_btree","xfs_iformat_data_fork","xfs_iformat_extents","xfs_iformat_local","xfs_ifree","xfs_ifree_cluster","xfs_iget","xfs_iget_cache_hit","xfs_iget_cache_miss","xfs_iget_check_free_state","xfs_iget_recycle","xfs_ilock","xfs_ilock2_io_mmap","xfs_ilock_attr_map_shared","xfs_ilock_data_map_shared","xfs_ilock_demote","xfs_ilock_nowait","xfs_imap","xfs_imap_to_bp","xfs_inactive","xfs_inactive_ifree","xfs_inactive_symlink","xfs_inactive_symlink_rmt","xfs_inactive_truncate","xfs_init_attr_trans","xfs_init_fs_context","xfs_init_local_fork","xfs_init_mount_workqueues","xfs_init_new_inode","xfs_init_procfs","xfs_initialize_perag","xfs_initialize_perag_data","xfs_initxattrs","xfs_inobt_alloc_block","xfs_inobt_btrec_to_irec","xfs_inobt_check_irec","xfs_inobt_commit_staged_btree","xfs_inobt_cur","xfs_inobt_destroy_cur_cache","xfs_inobt_diff_two_keys","xfs_inobt_dup_cursor","xfs_inobt_free_block","xfs_inobt_get_rec","xfs_inobt_init_common","xfs_inobt_init_cursor","xfs_inobt_init_high_key_from_rec","xfs_inobt_init_rec_from_cur","xfs_inobt_insert_rec","xfs_inobt_irec_to_allocmask","xfs_inobt_key_diff","xfs_inobt_keys_contiguous","xfs_inobt_keys_inorder","xfs_inobt_lookup","xfs_inobt_maxrecs","xfs_inobt_read_verify","xfs_inobt_rec_freecount","xfs_inobt_recs_inorder","xfs_inobt_set_root","xfs_inobt_stage_cursor","xfs_inobt_verify","xfs_inobt_walk","xfs_inobt_write_verify","xfs_inodegc_flush","xfs_inodegc_init_percpu","xfs_inodegc_push","xfs_inodegc_queue","xfs_inodegc_queue_all","xfs_inodegc_register_shrinker","xfs_inodegc_set_reclaimable","xfs_inodegc_shrinker_count","xfs_inodegc_shrinker_scan","xfs_inodegc_start","xfs_inodegc_stop","xfs_inodegc_worker","xfs_insert_file_space","xfs_internal_inum","xfs_inumbers","xfs_inumbers_fmt","xfs_inumbers_to_inogrp","xfs_inumbers_walk","xfs_ioc_ag_geometry","xfs_ioc_attr_list","xfs_ioc_attr_put_listent","xfs_ioc_attrmulti_one","xfs_ioc_bulkstat.constprop.0.isra.0","xfs_ioc_fsbulkstat.isra.0","xfs_ioc_fsgeometry","xfs_ioc_fsgetxattra","xfs_ioc_getbmap","xfs_ioc_getfsmap","xfs_ioc_inumbers.constprop.0","xfs_ioc_scrub_metadata","xfs_ioc_setlabel","xfs_ioc_setlabel.cold","xfs_ioc_swapext","xfs_ioc_trim","xfs_ioctl32_bstat_copyin","xfs_ioctl32_bstime_copyin","xfs_ioctl_setattr_xflags","xfs_ip2xflags","xfs_iread_extents","xfs_irele","xfs_iroot_realloc","xfs_itruncate_extents_flags","xfs_iunlink","xfs_iunlink_item_precommit","xfs_iunlink_item_release","xfs_iunlink_item_sort","xfs_iunlink_log_dinode","xfs_iunlink_log_inode","xfs_iunlink_reload_next.isra.0","xfs_iunlink_remove","xfs_iunlink_remove_inode","xfs_iunlink_update_bucket.isra.0","xfs_iunlock","xfs_iunlock2_io_mmap","xfs_iunlock2_remapping","xfs_iunpin_wait","xfs_iwalk","xfs_iwalk_adjust_start","xfs_iwalk_ag","xfs_iwalk_ag_recs","xfs_iwalk_ag_start.constprop.0","xfs_iwalk_ag_work","xfs_iwalk_alloc","xfs_iwalk_free","xfs_iwalk_ichunk_ra","xfs_iwalk_run_callbacks","xfs_iwalk_threaded","xfs_kill_sb","xfs_link","xfs_lock_inodes.constprop.0","xfs_lock_two_inodes","xfs_log_calc_max_attrsetm_res","xfs_log_calc_minimum_size","xfs_log_calc_unit_res","xfs_log_check_lsn","xfs_log_clean","xfs_log_dinode_to_disk","xfs_log_force","xfs_log_force_inode","xfs_log_force_seq","xfs_log_get_max_trans_res","xfs_log_item_in_current_chkpt","xfs_log_item_init","xfs_log_mount","xfs_log_mount_cancel","xfs_log_mount_finish","xfs_log_need_covered.isra.0","xfs_log_quiesce","xfs_log_regrant","xfs_log_reserve","xfs_log_sb","xfs_log_space_wake","xfs_log_ticket_get","xfs_log_ticket_put","xfs_log_ticket_regrant","xfs_log_ticket_ungrant","xfs_log_unmount","xfs_log_unmount_write","xfs_log_work_queue","xfs_log_worker","xfs_log_writable","xfs_lookup","xfs_mod_delalloc","xfs_mod_freecounter","xfs_mode_to_ftype","xfs_mount_free","xfs_mount_reset_sbqflags","xfs_mountfs","xfs_next_bit","xfs_open_by_handle","xfs_open_devices","xfs_panic_mask_proc_handler","xfs_perag_clear_inode_tag","xfs_perag_get","xfs_perag_get_tag","xfs_perag_grab","xfs_perag_grab_tag","xfs_perag_hold","xfs_perag_intent_busy","xfs_perag_intent_drain","xfs_perag_intent_get","xfs_perag_intent_hold","xfs_perag_intent_put","xfs_perag_intent_rele","xfs_perag_put","xfs_perag_rele","xfs_perag_set_inode_tag","xfs_prealloc_blocks","xfs_prep_free_cowblocks","xfs_prepare_shift","xfs_printk_level","xfs_pwork_destroy","xfs_pwork_init","xfs_pwork_poll","xfs_pwork_queue","xfs_pwork_work","xfs_qm_adjust_dqlimits","xfs_qm_adjust_dqtimers","xfs_qm_destroy_quotainfo","xfs_qm_destroy_quotainos","xfs_qm_dqattach","xfs_qm_dqattach_locked","xfs_qm_dqattach_one","xfs_qm_dqdestroy","xfs_qm_dqdetach","xfs_qm_dqflush","xfs_qm_dqfree_one","xfs_qm_dqget","xfs_qm_dqget_cache_lookup","xfs_qm_dqget_checks","xfs_qm_dqget_inode","xfs_qm_dqget_next","xfs_qm_dqget_uncached","xfs_qm_dqpurge","xfs_qm_dqput","xfs_qm_dqread","xfs_qm_dqrele","xfs_qm_dqunpin_wait","xfs_qm_dquot_isolate","xfs_qm_dquot_logitem_committing","xfs_qm_dquot_logitem_format","xfs_qm_dquot_logitem_init","xfs_qm_dquot_logitem_pin","xfs_qm_dquot_logitem_push","xfs_qm_dquot_logitem_release","xfs_qm_dquot_logitem_size","xfs_qm_dquot_logitem_unpin","xfs_qm_dquot_walk.isra.0","xfs_qm_dqusage_adjust","xfs_qm_exit","xfs_qm_fill_state","xfs_qm_flush_one","xfs_qm_id_for_quotatype","xfs_qm_init_dquot_blk","xfs_qm_init_quotainfo","xfs_qm_init_quotainos","xfs_qm_init_timelimits","xfs_qm_mount_quotas","xfs_qm_need_dqattach","xfs_qm_newmount","xfs_qm_qino_alloc","xfs_qm_quotacheck","xfs_qm_quotacheck_dqadjust.constprop.0","xfs_qm_reset_dqcounts.constprop.0","xfs_qm_reset_dqcounts_all","xfs_qm_reset_dqcounts_buf","xfs_qm_scall_getquota","xfs_qm_scall_getquota_fill_qc.constprop.0","xfs_qm_scall_getquota_next","xfs_qm_scall_quotaoff","xfs_qm_scall_quotaon","xfs_qm_scall_setqlim","xfs_qm_scall_trunc_qfile","xfs_qm_scall_trunc_qfiles","xfs_qm_set_defquota","xfs_qm_shrink_count","xfs_qm_shrink_scan","xfs_qm_statvfs","xfs_qm_unmount","xfs_qm_unmount_quotas","xfs_qm_vop_chown","xfs_qm_vop_create_dqattach","xfs_qm_vop_dqalloc","xfs_qm_vop_rename_dqattach","xfs_quota_calc_throttle","xfs_quota_disable","xfs_quota_enable","xfs_quota_flags","xfs_quota_need_throttle","xfs_quota_type","xfs_quota_warn","xfs_readsb","xfs_reclaim_inode","xfs_reclaim_inodes","xfs_reclaim_inodes_count","xfs_reclaim_inodes_nr","xfs_reclaim_work_queue","xfs_reclaim_worker","xfs_recover_inode_owner_change","xfs_refc_block","xfs_refcount_adjust","xfs_refcount_adjust_cow","xfs_refcount_adjust_cow_extents","xfs_refcount_adjust_extents","xfs_refcount_alloc_cow_extent","xfs_refcount_btrec_to_irec","xfs_refcount_check_irec","xfs_refcount_decrease_extent","xfs_refcount_delete","xfs_refcount_find_left_extents","xfs_refcount_find_right_extents","xfs_refcount_find_shared","xfs_refcount_finish_one","xfs_refcount_finish_one_cleanup","xfs_refcount_free_cow_extent","xfs_refcount_get_rec","xfs_refcount_has_records","xfs_refcount_increase_extent","xfs_refcount_insert","xfs_refcount_intent_destroy_cache","xfs_refcount_lookup_eq","xfs_refcount_lookup_ge","xfs_refcount_lookup_le","xfs_refcount_merge_center_extents","xfs_refcount_merge_extents","xfs_refcount_merge_left_extent","xfs_refcount_merge_right_extent","xfs_refcount_query_range","xfs_refcount_query_range_helper","xfs_refcount_recover_cow_leftovers","xfs_refcount_recover_extent","xfs_refcount_recover_work","xfs_refcount_relog_intent","xfs_refcount_split_extent","xfs_refcount_still_have_space","xfs_refcount_update","xfs_refcount_update_abort_intent","xfs_refcount_update_cancel_item","xfs_refcount_update_create_done","xfs_refcount_update_create_intent","xfs_refcount_update_diff_items","xfs_refcount_update_finish_item","xfs_refcount_update_get_group","xfs_refcount_update_log_item.constprop.0","xfs_refcountbt_alloc_block","xfs_refcountbt_calc_reserves","xfs_refcountbt_calc_size","xfs_refcountbt_commit_staged_btree","xfs_refcountbt_compute_maxlevels","xfs_refcountbt_destroy_cur_cache","xfs_refcountbt_diff_two_keys","xfs_refcountbt_dup_cursor","xfs_refcountbt_free_block","xfs_refcountbt_get_maxrecs","xfs_refcountbt_get_minrecs","xfs_refcountbt_init_common","xfs_refcountbt_init_cursor","xfs_refcountbt_init_high_key_from_rec","xfs_refcountbt_init_key_from_rec","xfs_refcountbt_init_ptr_from_cur","xfs_refcountbt_init_rec_from_cur","xfs_refcountbt_key_diff","xfs_refcountbt_keys_contiguous","xfs_refcountbt_keys_inorder","xfs_refcountbt_max_size","xfs_refcountbt_maxlevels_ondisk","xfs_refcountbt_maxrecs","xfs_refcountbt_read_verify","xfs_refcountbt_recs_inorder","xfs_refcountbt_set_root","xfs_refcountbt_stage_cursor","xfs_refcountbt_verify","xfs_refcountbt_write_verify","xfs_reflink_allocate_cow","xfs_reflink_cancel_cow_blocks","xfs_reflink_cancel_cow_range","xfs_reflink_clear_inode_flag","xfs_reflink_convert_cow","xfs_reflink_convert_cow_locked","xfs_reflink_convert_unwritten.isra.0","xfs_reflink_end_cow","xfs_reflink_end_cow_extent","xfs_reflink_fill_cow_hole","xfs_reflink_find_shared","xfs_reflink_inode_has_shared_extents","xfs_reflink_recover_cow","xfs_reflink_remap_blocks","xfs_reflink_remap_extent","xfs_reflink_remap_prep","xfs_reflink_set_inode_flag","xfs_reflink_trim_around_shared","xfs_reflink_try_clear_inode_flag","xfs_reflink_unshare","xfs_reflink_update_dest","xfs_reinit_percpu_counters","xfs_rmap_alloc","xfs_rmap_alloc_extent","xfs_rmap_btrec_to_irec","xfs_rmap_check_irec","xfs_rmap_compare","xfs_rmap_convert","xfs_rmap_convert_extent","xfs_rmap_convert_shared","xfs_rmap_count_owners","xfs_rmap_count_owners_helper","xfs_rmap_delete","xfs_rmap_find_left_neighbor","xfs_rmap_find_left_neighbor_helper","xfs_rmap_finish_one","xfs_rmap_finish_one_cleanup","xfs_rmap_free","xfs_rmap_free_extent","xfs_rmap_get_rec","xfs_rmap_has_other_keys","xfs_rmap_has_records","xfs_rmap_insert","xfs_rmap_intent_destroy_cache","xfs_rmap_lookup_eq","xfs_rmap_lookup_le","xfs_rmap_lookup_le_range","xfs_rmap_lookup_le_range_helper","xfs_rmap_map","xfs_rmap_map_extent","xfs_rmap_map_raw","xfs_rmap_map_shared","xfs_rmap_query_all","xfs_rmap_query_range","xfs_rmap_query_range_helper","xfs_rmap_recover_work","xfs_rmap_relog_intent","xfs_rmap_unmap","xfs_rmap_unmap_extent","xfs_rmap_unmap_shared","xfs_rmap_update","xfs_rmap_update_abort_intent","xfs_rmap_update_cancel_item","xfs_rmap_update_create_done","xfs_rmap_update_create_intent","xfs_rmap_update_diff_items","xfs_rmap_update_finish_item","xfs_rmap_update_get_group","xfs_rmap_update_log_item.constprop.0","xfs_rmapbt_alloc_block","xfs_rmapbt_calc_reserves","xfs_rmapbt_calc_size","xfs_rmapbt_commit_staged_btree","xfs_rmapbt_compute_maxlevels","xfs_rmapbt_destroy_cur_cache","xfs_rmapbt_diff_two_keys","xfs_rmapbt_dup_cursor","xfs_rmapbt_free_block","xfs_rmapbt_get_maxrecs","xfs_rmapbt_get_minrecs","xfs_rmapbt_init_cursor","xfs_rmapbt_init_high_key_from_rec","xfs_rmapbt_init_key_from_rec","xfs_rmapbt_init_ptr_from_cur","xfs_rmapbt_init_rec_from_cur","xfs_rmapbt_key_diff","xfs_rmapbt_keys_contiguous","xfs_rmapbt_keys_inorder","xfs_rmapbt_max_size","xfs_rmapbt_maxlevels_ondisk","xfs_rmapbt_maxrecs","xfs_rmapbt_read_verify","xfs_rmapbt_recs_inorder","xfs_rmapbt_set_root","xfs_rmapbt_stage_cursor","xfs_rmapbt_verify","xfs_rmapbt_write_verify","xfs_rt_mark_healthy","xfs_rt_mark_sick","xfs_rt_measure_sickness","xfs_rud_item_format","xfs_rud_item_intent","xfs_rud_item_release","xfs_rud_item_size","xfs_rui_copy_format","xfs_rui_init","xfs_rui_item_format","xfs_rui_item_free","xfs_rui_item_match","xfs_rui_item_release","xfs_rui_item_size","xfs_rui_item_unpin","xfs_rui_release","xfs_rw_bdev","xfs_save_resvblks","xfs_scrub_metadata","xfs_set_acl","xfs_set_inode_alloc","xfs_set_low_space_thresholds","xfs_setattr_nonsize","xfs_setattr_size","xfs_setfilesize","xfs_setsize_buftarg","xfs_setup_devices","xfs_setup_inode","xfs_setup_iops","xfs_shutdown_devices","xfs_sort_for_rename.constprop.0","xfs_stats_clear_proc_handler","xfs_stats_clearall","xfs_stats_format","xfs_swap_change_owner","xfs_swap_extent_forks.constprop.0","xfs_swap_extent_rmap","xfs_swap_extents","xfs_swap_extents_check_format","xfs_symlink","xfs_symlink_blocks","xfs_symlink_hdr_ok","xfs_symlink_hdr_set","xfs_symlink_local_to_remote","xfs_symlink_read_verify","xfs_symlink_shortform_verify","xfs_symlink_verify","xfs_symlink_write_verify","xfs_sync_sb","xfs_sync_sb_buf","xfs_sysctl_register","xfs_sysctl_unregister","xfs_sysfs_del.constprop.0","xfs_sysfs_object_show","xfs_sysfs_object_store","xfs_sysfs_release","xfs_trans_add_item","xfs_trans_ail_cursor_clear.constprop.0","xfs_trans_ail_cursor_done","xfs_trans_ail_cursor_first","xfs_trans_ail_cursor_init","xfs_trans_ail_cursor_last","xfs_trans_ail_cursor_next","xfs_trans_ail_delete","xfs_trans_ail_destroy","xfs_trans_ail_init","xfs_trans_ail_insert","xfs_trans_ail_update_bulk","xfs_trans_alloc","xfs_trans_alloc_dir","xfs_trans_alloc_dqinfo","xfs_trans_alloc_empty","xfs_trans_alloc_ichange","xfs_trans_alloc_icreate","xfs_trans_alloc_inode","xfs_trans_apply_dquot_deltas","xfs_trans_apply_sb_deltas","xfs_trans_bhold","xfs_trans_bhold_release","xfs_trans_binval","xfs_trans_bjoin","xfs_trans_brelse","xfs_trans_buf_copy_type","xfs_trans_buf_is_dirty","xfs_trans_buf_item_match","xfs_trans_buf_set_type","xfs_trans_cancel","xfs_trans_commit","xfs_trans_committed_bulk","xfs_trans_del_item","xfs_fs_eofblocks_from_user","xfs_trans_dirty_buf","xfs_trans_dqjoin","xfs_trans_dqlockedjoin","xfs_trans_dqresv","xfs_trans_dquot_buf","xfs_trans_dup","xfs_trans_dup_dqinfo","xfs_trans_free","xfs_trans_free_dqinfo","xfs_trans_free_items","xfs_trans_get_buf_map","xfs_trans_get_dqtrx","xfs_trans_getsb","xfs_trans_ichgtime","xfs_trans_ijoin","xfs_trans_init","xfs_trans_inode_alloc_buf","xfs_trans_inode_buf","xfs_trans_log_buf","xfs_trans_log_dquot","xfs_trans_log_inode","xfs_trans_mod_dquot","xfs_trans_mod_dquot.part.0","xfs_trans_mod_dquot_byino","xfs_trans_mod_sb","xfs_trans_ordered_buf","xfs_trans_precommit_sort","xfs_trans_read_buf_map","xfs_trans_reserve","xfs_trans_reserve_more","xfs_trans_reserve_more_inode","xfs_trans_reserve_quota_bydquots","xfs_trans_reserve_quota_icreate","xfs_trans_reserve_quota_nblks","xfs_trans_resv_calc","xfs_trans_roll","xfs_trans_roll_inode","xfs_trans_run_precommits","xfs_trans_stale_inode_buf","xfs_trans_unreserve_and_mod_dquots","xfs_trans_unreserve_and_mod_sb","xfs_trim_extent","xfs_trim_gather_extents","xfs_trim_should_stop","xfs_truncate_page","xfs_unmount_flush_inodes","xfs_unmountfs","xfs_update_alignment","xfs_update_secondary_sbs","xfs_uuid_mount","xfs_uuid_table_free","xfs_uuid_unmount","xfs_validate_ag_length","xfs_validate_new_dalign","xfs_validate_sb_common","xfs_validate_sb_read","xfs_validate_sb_write.isra.0","xfs_validate_stripe_geometry","xfs_verifier_error","xfs_verify_dablk","xfs_verify_dir_ino","xfs_verify_fileext","xfs_verify_fileoff","xfs_verify_fsbext","xfs_verify_fsbno","xfs_verify_icount","xfs_verify_ino","xfs_verify_magic","xfs_verify_magic16","xfs_verify_rtbext","xfs_verify_rtbno","xfs_vn_ci_lookup","xfs_vn_create","xfs_vn_fiemap","xfs_vn_get_link","xfs_vn_getattr","xfs_vn_link","xfs_vn_listxattr","xfs_vn_lookup","xfs_vn_mkdir","xfs_vn_mknod","xfs_vn_rename","xfs_vn_setattr","xfs_vn_setattr_size","xfs_vn_symlink","xfs_vn_tmpfile","xfs_vn_unlink","xfs_vn_update_time","xfs_xattr_get","xfs_xattr_put_listent","xfs_xattr_set","xfs_zero_extent","xfs_zero_range","xfsaild","xfsaild_push"]},{"type":1,"name":"ext4","functions":["ext4_exit_fs","ext4_acl_from_disk","ext4_acl_to_disk.constprop.0","ext4_acquire_dquot","ext4_add_dirent_to_inline","ext4_add_entry","ext4_add_nondir","ext4_apply_options","ext4_attr_show","ext4_attr_store","ext4_begin_enable_verity","ext4_bg_has_super","ext4_bg_num_gdb","ext4_bio_write_page.cold","ext4_break_layouts","ext4_buffered_write_iter","ext4_cache_extents","ext4_calculate_overhead","ext4_can_extents_be_merged.constprop.0","ext4_can_truncate","ext4_change_inode_journal_flag","ext4_check_all_de","ext4_check_blockref","ext4_check_descriptors","ext4_check_feature_compatibility","ext4_check_opt_consistency","ext4_check_quota_consistency.isra.0","ext4_chunk_trans_blocks","ext4_claim_free_clusters","ext4_clear_blocks","ext4_clear_inode","ext4_clear_inode_es","ext4_clear_journal_err","ext4_clear_request_list","ext4_clu_mapped","ext4_collapse_range","ext4_commit_super","ext4_compat_ioctl","ext4_convert_inline_data","ext4_convert_inline_data_nolock","ext4_convert_inline_data_to_extent","ext4_convert_meta_bg","ext4_convert_unwritten_extents","ext4_convert_unwritten_io_end_vec","ext4_count_dirs","ext4_count_free","ext4_count_free_clusters","ext4_count_free_inodes","ext4_create","ext4_create_inline_data","ext4_cross_rename","ext4_datasem_ensure_credits","ext4_dax_fault","ext4_dax_huge_fault","ext4_dax_write_iter","ext4_dax_writepages","ext4_decode_error","ext4_delete_entry","ext4_delete_inline_entry","ext4_destroy_inline_data","ext4_destroy_inline_data_nolock","ext4_destroy_inode","ext4_destroy_system_zone","ext4_dir_llseek","ext4_dirblock_csum_verify","ext4_discard_allocated_blocks","ext4_discard_preallocations","ext4_discard_work","ext4_do_update_inode.isra.0","ext4_do_writepages","ext4_double_down_write_data_sem","ext4_double_up_write_data_sem","ext4_drop_inode","ext4_dx_add_entry","ext4_dx_csum","ext4_dx_find_entry","ext4_dx_readdir","ext4_empty_dir","ext4_enable_quotas","ext4_encrypted_get_link","ext4_encrypted_symlink_getattr","ext4_end_bitmap_read","ext4_end_enable_verity","ext4_es_cache_extent","ext4_es_can_be_merged.isra.0","ext4_es_can_be_merged.isra.0.cold","ext4_es_count","ext4_es_delayed_clu","ext4_es_find_extent_range","ext4_es_free_extent","ext4_es_init_tree","ext4_es_insert_delayed_block","ext4_es_insert_extent","ext4_es_is_delayed","ext4_es_is_delayed","ext4_es_is_delonly","ext4_es_is_delonly","ext4_es_is_mapped","ext4_es_lookup_extent","ext4_es_register_shrinker","ext4_es_remove_extent","ext4_es_scan","ext4_es_scan_clu","ext4_es_scan_range","ext4_es_unregister_shrinker","ext4_evict_ea_inode","ext4_evict_inode","ext4_expand_extra_isize","ext4_expand_extra_isize_ea","ext4_expand_inode_array","ext4_fc_add_dentry_tlv","ext4_fc_add_tlv","ext4_fc_cleanup","ext4_fc_commit","ext4_fc_del","ext4_fc_destroy_dentry_cache","ext4_fc_free","ext4_fc_info_show","ext4_fc_init","ext4_fc_init_inode","ext4_fc_mark_ineligible","ext4_fc_perform_commit","ext4_fc_record_modified_inode.isra.0","ext4_fc_record_regions","ext4_fc_replay","ext4_fc_replay_add_range.constprop.0","ext4_fc_replay_check_excluded","ext4_fc_replay_cleanup","ext4_fc_replay_del_range.constprop.0","ext4_fc_replay_inode","ext4_fc_replay_link_internal.isra.0","ext4_fc_replay_scan.isra.0","ext4_fc_reserve_space","ext4_fc_set_bitmaps_and_counters","ext4_fc_start_update","ext4_fc_stop_update","ext4_fc_submit_bh","ext4_fc_track_create","ext4_fc_track_inode","ext4_fc_track_link","ext4_fc_track_range","ext4_fc_track_template.isra.0","ext4_fc_track_unlink","ext4_fc_update_stats","ext4_fc_wait_committing_inode","ext4_fc_write_inode","ext4_fc_write_inode_data","ext4_fc_write_tail","ext4_feat_release","ext4_feature_set_ok","ext4_fill_flex_info","ext4_fill_raw_inode","ext4_fill_super","ext4_flex_group_add","ext4_fname_free_filename","ext4_fname_from_fscrypt_name","ext4_fname_prepare_lookup","ext4_fname_setup_filename","ext4_force_commit","ext4_force_shutdown","ext4_freeze","ext4_fsmap_from_internal","ext4_fsmap_to_internal","ext4_generic_delete_entry","ext4_generic_write_checks","ext4_geometry_check","ext4_get_acl","ext4_get_bitmap.isra.0","ext4_get_block","ext4_get_block_unwritten","ext4_get_branch","ext4_get_context","ext4_get_dev_journal","ext4_get_dquots","ext4_get_dummy_policy","ext4_get_es_cache","ext4_get_fc_inode_loc","ext4_get_first_dir_block.constprop.0","ext4_get_first_inline_block","ext4_get_group_desc","ext4_get_group_info","ext4_get_group_no_and_offset","ext4_get_group_number","ext4_get_ino_and_lblk_bits","ext4_get_inode_loc","ext4_get_inode_usage","ext4_get_io_end","ext4_get_journal_inode","ext4_get_link","ext4_get_max_inline_size","ext4_get_max_inline_size.part.0","ext4_get_parent","ext4_get_projid","ext4_get_reserved_space","ext4_get_tree","ext4_get_verity_descriptor","ext4_get_verity_descriptor_location.constprop.0","ext4_getattr","ext4_getblk","ext4_getblk.cold","ext4_getfsmap","ext4_getfsmap_compare","ext4_getfsmap_datadev","ext4_getfsmap_datadev_helper","ext4_getfsmap_dev_compare","ext4_getfsmap_find_fixed_metadata","ext4_getfsmap_format","ext4_getfsmap_free_fixed_metadata","ext4_getfsmap_helper","ext4_getfsmap_is_valid_device.isra.0","ext4_getfsmap_logdev","ext4_group_add","ext4_group_add_blocks","ext4_group_desc_csum","ext4_group_desc_csum_set","ext4_group_desc_csum_verify","ext4_group_desc_init","ext4_group_extend","ext4_group_extend_no_check","ext4_group_extend_no_check.cold","ext4_handle_dirty_dirblock","ext4_handle_dirty_dx_node","ext4_handle_error","ext4_handle_error.cold","ext4_handle_inode_extension","ext4_has_free_clusters","ext4_has_stable_inodes","ext4_htree_fill_tree","ext4_htree_free_dir_info","ext4_htree_next_block","ext4_htree_store_dirent","ext4_inc_count","ext4_ind_map_blocks","ext4_ind_map_blocks.cold","ext4_ind_migrate","ext4_ind_remove_space","ext4_ind_trans_blocks","ext4_ind_truncate","ext4_ind_truncate_ensure_credits","ext4_init_acl","ext4_init_block_bitmap","ext4_init_block_bitmap.cold","ext4_init_dot_dotdot","ext4_init_fs_context","ext4_init_inode_table","ext4_init_io_end","ext4_init_journal_params","ext4_init_metadata_csum","ext4_init_new_dir","ext4_init_orphan_info","ext4_init_pending_tree","ext4_init_security","ext4_init_symlink_block","ext4_initialize_dirent_tail","ext4_initxattrs","ext4_inline_data_iomap","ext4_inline_data_truncate","ext4_inlinedir_to_tree","ext4_inode_attach_jinode","ext4_inode_bitmap","ext4_inode_bitmap_csum_set","ext4_inode_bitmap_csum_verify","ext4_inode_bitmap_set","ext4_inode_block_valid","ext4_inode_csum","ext4_inode_csum_set","ext4_inode_extension_cleanup","ext4_inode_is_fast_symlink","ext4_inode_journal_mode","ext4_inode_table","ext4_inode_table_set","ext4_inode_to_goal_block","ext4_insert_dentry","ext4_insert_range","ext4_invalidate_folio","ext4_ioc_getfsmap","ext4_ioctl","ext4_ioctl_get_encryption_pwsalt","ext4_ioctl_getuuid","ext4_ioctl_group_add","ext4_ioctl_setflags","ext4_ioctl_setproject","ext4_is_pending","ext4_issue_zeroout","ext4_itable_unused_count","ext4_itable_unused_set","ext4_jbd2_inode_add_write.part.0","ext4_kill_sb","ext4_kvfree_array_rcu","ext4_last_io_end_vec","ext4_lazyinit_thread","ext4_lazyinit_thread.part.0","ext4_link","ext4_list_backups","ext4_listxattr","ext4_llseek","ext4_load_and_init_journal","ext4_load_journal","ext4_load_super","ext4_lookup","ext4_lookup.part.0","ext4_map_blocks","ext4_mb_add_groupinfo","ext4_mb_alloc_groupinfo","ext4_mb_check_limits","ext4_mb_choose_next_group_cr0.constprop.0","ext4_mb_choose_next_group_cr1.constprop.0","ext4_mb_clear_bb","ext4_mb_collect_stats","ext4_mb_complex_scan_group","ext4_mb_discard_group_preallocations","ext4_mb_discard_lg_preallocations","ext4_mb_discard_preallocations_should_retry","ext4_mb_find_by_goal","ext4_mb_free_metadata","ext4_mb_generate_buddy","ext4_mb_generate_from_pa","ext4_mb_good_group","ext4_mb_good_group_nolock","ext4_mb_init","ext4_mb_init.cold","ext4_mb_init_backend","ext4_mb_init_cache","ext4_mb_init_group","ext4_mb_initialize_context","ext4_mb_load_buddy_gfp","ext4_mb_mark_bb","ext4_mb_mark_diskspace_used","ext4_mb_mark_pa_deleted","ext4_mb_new_blocks","ext4_mb_new_blocks_simple","ext4_mb_new_blocks_simple.cold","ext4_mb_new_group_pa","ext4_mb_new_inode_pa","ext4_mb_normalize_request.constprop.0","ext4_mb_pa_adjust_overlap.constprop.0","ext4_mb_pa_callback","ext4_mb_pa_put_free","ext4_mb_prefetch","ext4_mb_prefetch_fini","ext4_mb_regular_allocator","ext4_mb_release","ext4_mb_release_context.isra.0","ext4_mb_release_group_pa.isra.0","ext4_mb_release_inode_pa.isra.0","ext4_mb_scan_aligned","ext4_mb_seq_groups_next","ext4_mb_seq_groups_show","ext4_mb_seq_groups_start","ext4_mb_seq_groups_stop","ext4_mb_seq_structs_summary_next","ext4_mb_seq_structs_summary_show","ext4_mb_seq_structs_summary_start","ext4_mb_seq_structs_summary_stop","ext4_mb_simple_scan_group","ext4_mb_try_best_found","ext4_mb_unload_buddy","ext4_mb_use_best_found","ext4_mb_use_inode_pa","ext4_mb_use_preallocated.constprop.0","ext4_mpage_readpages","ext4_multi_mount_protect","ext4_new_meta_blocks","ext4_nfs_commit_metadata","ext4_nfs_get_inode","ext4_nonda_switch","ext4_normal_submit_inode_data_buffers","ext4_notify_error_sysfs","ext4_num_base_meta_clusters","ext4_num_overhead_clusters","ext4_orphan_add","ext4_orphan_add.cold","ext4_orphan_cleanup","ext4_orphan_del","ext4_orphan_file_add","ext4_orphan_file_block_trigger","ext4_orphan_file_empty","ext4_orphan_get","ext4_page_mkwrite","ext4_parse_param","ext4_prepare_inline_data","ext4_process_freed_data","ext4_process_orphan","ext4_punch_hole","ext4_put_io_end","ext4_put_io_end_defer","ext4_put_super","ext4_put_super.cold","ext4_quota_off","ext4_quota_on","ext4_quota_read","ext4_quota_write","ext4_rcu_ptr_callback","ext4_reconfigure","ext4_register_li_request","ext4_register_sysfs","ext4_release_dir","ext4_release_dquot","ext4_release_file","ext4_release_folio","ext4_release_orphan_info","ext4_release_system_zone","ext4_remove_blocks","ext4_remove_pending","ext4_rename","ext4_rename2","ext4_rename_dir_finish","ext4_rename_dir_prepare.part.0.constprop.0","ext4_rereserve_cluster","ext4_reserve_inode_write","ext4_reset_inode_seed","ext4_resetent","ext4_resize_begin","ext4_resize_end","ext4_resize_fs","ext4_rmdir","ext4_rmdir.part.0","ext4_run_li_request","ext4_sample_last_mounted","ext4_sb_block_valid","ext4_sb_bread","ext4_sb_bread_unmovable","ext4_sb_breadahead_unmovable","ext4_sb_release","ext4_sb_setlabel","ext4_sb_setuuid","ext4_search_dir","ext4_seq_es_shrinker_info_show","ext4_seq_mb_stats_show","ext4_seq_options_show","ext4_set_acl","ext4_set_aops","ext4_set_context","ext4_set_def_opts","ext4_set_inode_flags","ext4_set_iomap","ext4_setattr","ext4_setent","ext4_setup_new_descs","ext4_setup_next_flex_gd","ext4_setup_super","ext4_setup_super.cold","ext4_setup_system_zone","ext4_setup_system_zone.cold","ext4_should_retry_alloc","ext4_show_options","ext4_shutdown","ext4_split_convert_extents","ext4_split_extent","ext4_split_extent_at","ext4_stop_mmpd","ext4_superblock_csum","ext4_superblock_csum_set","ext4_sync_file.cold","ext4_try_add_inline_entry","ext4_try_create_inline_dir","ext4_try_merge_freed_extent.part.0","ext4_try_to_trim_range","ext4_try_to_write_inline_data","ext4_unregister_li_request","ext4_unregister_sysfs","ext4_update_backup_sb","ext4_update_bh_state","ext4_update_dir_count","ext4_update_disksize_before_punch","ext4_update_dx_flag","ext4_update_dynamic_rev","ext4_update_final_de","ext4_update_inline_data","ext4_update_overhead","ext4_update_primary_sb","ext4_update_super","ext4_update_super","ext4_update_super.cold","ext4_update_superblocks_fn","ext4_used_dirs_count","ext4_used_dirs_set","ext4_valid_block_bitmap","ext4_validate_block_bitmap.part.0","ext4_wait_block_bitmap","ext4_walk_page_buffers","ext4_write_inode.cold","ext4_xattr_block_csum","ext4_xattr_block_csum_set","ext4_xattr_block_find","ext4_xattr_block_get","ext4_xattr_block_set","ext4_xattr_cmp","ext4_xattr_create_cache","ext4_xattr_delete_inode","ext4_xattr_destroy_cache","ext4_xattr_free_space","ext4_xattr_get","ext4_xattr_get_block","ext4_xattr_hurd_get","ext4_xattr_hurd_list","ext4_xattr_hurd_set","ext4_xattr_ibody_find","ext4_xattr_ibody_get","ext4_xattr_ibody_set","ext4_xattr_inode_array_free","ext4_xattr_inode_cache_find","ext4_xattr_inode_create","ext4_xattr_inode_dec_ref_all","ext4_xattr_inode_free_quota","ext4_xattr_inode_get","ext4_xattr_inode_get.cold","ext4_xattr_inode_iget","ext4_xattr_inode_inc_ref_all","ext4_xattr_inode_lookup_create","ext4_xattr_inode_read","ext4_xattr_inode_update_ref","ext4_xattr_inode_write","ext4_xattr_list_entries","ext4_xattr_move_to_block","ext4_xattr_release_block","ext4_xattr_security_get","ext4_xattr_security_set","ext4_xattr_set","ext4_xattr_set_credits","ext4_xattr_set_entry","ext4_xattr_set_handle","ext4_xattr_shift_entries","ext4_xattr_trusted_get","ext4_xattr_trusted_list","ext4_xattr_trusted_set","ext4_xattr_user_get","ext4_xattr_user_list","ext4_xattr_user_set","ext4_xattr_value_same.isra.0","ext4_zero_partial_blocks","ext4_zero_range","ext4fs_dirhash"]},{"type":1,"name":"iomap","functions":["iomap_init","iomap_iter_advance","iomap_iter_done"]},{"type":1,"name":"iov","functions":["iov_iter_alignment","iov_iter_advance","iov_iter_init"]},{"type":2,"name":"test_posix","functions":[],"binary_path":"/home/haridev/datacrumbs/build/bin/df_tracer_test"},{"type":1,"name":"os_page_cache","functions":["filemap_write_and_wait_range","fault_in_readable","filemap_get_entry","folio_unlock","__filemap_add_folio","__filemap_fdatawrite_range","__filemap_get_folio","__filemap_remove_folio","__filemap_set_wb_err","__folio_cancel_dirty","__folio_lock","__folio_lock_killable","__folio_lock_or_retry","__folio_mark_dirty","__page_cache_alloc","__readahead_batch","__readahead_folio","__set_page_dirty","__set_page_dirty_nobuffers","find_get_page","find_get_page_flags","find_lock_page","find_or_create_page","find_subpage","i_blocks_per_folio","i_blocks_per_page","inode_drain_writes","linear_page_index","lock_page","noop_dirty_folio","page_cache_alloc","page_cache_async_ra","page_cache_async_readahead","page_cache_next_miss","page_cache_prev_miss","page_cache_ra_unbounded","page_cache_sync_ra","page_cache_sync_readahead","page_file_mapping","page_file_offset","page_mapping","page_mkwrite_check_truncate","page_offset","page_to_pgoff","pagecache_get_page","read_cache_folio","read_cache_page","read_cache_page_gfp","read_mapping_folio","read_mapping_page","readahead_batch_length","readahead_count","readahead_expand","readahead_folio","readahead_gfp_mask","readahead_index","readahead_length","readahead_page","readahead_pos","replace_page_cache_folio","swapcache_mapping","trylock_page","unlock_page","wait_for_stable_page","wait_on_page_locked","wait_on_page_writeback","wake_page_match","write_inode_now"]},{"type":1,"name":"shm","functions":["shmem_init"]},{"type":1,"name":"fscache","functions":["fscache_update_aux"]},{"type":2,"name":"ior","functions":["_dl_relocate_static_pie","_fini","_init","_start"],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/ior-3.3.0-ip47j26fw7xxfftdzjvy2h36phgcuypv/bin/ior","include_offsets":false}] +[{"type":4,"name":"custom1","functions":[],"bpf_path":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c","start_event_id":100000,"process_header":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h","event_type":2},{"type":0,"name":"sys","functions":["fork","sys","ioctl","newfstatat","ni_syscall","old_mmap","old_select","io_getevents","io_getevents_time32","io_pgetevents","io_pgetevents_time32","epoll_create1","epoll_ctl","epoll_pwait","epoll_pwait2","ioprio_set","ioprio_get","umount","mount","pivot_root","chroot","vhangup","pipe2","quotactl","quotactl_fd","getdents64","pselect6","pselect6_time32","ppoll","ppoll_time32","signalfd4","vmsplice","splice","tee","timerfd_create","timerfd_settime","timerfd_gettime","timerfd_gettime32","timerfd_settime32","utimensat","utimensat_time32","acct","capget","capset","personality","waitid","set_tid_address","unshare","futex","futex_time32","get_robust_list","set_robust_list","futex_waitv","futex_wake","futex_wait","futex_requeue","nanosleep","nanosleep_time32","getitimer","setitimer","kexec_load","init_module","delete_module","timer_create","timer_gettime","timer_getoverrun","timer_settime","timer_delete","clock_settime","clock_gettime","clock_getres","clock_nanosleep","timer_gettime32","timer_settime32","clock_settime32","clock_gettime32","clock_getres_time32","clock_nanosleep_time32","syslog","ptrace","sched_setparam","sched_setscheduler","sched_getscheduler","sched_getparam","sched_setaffinity","sched_getaffinity","sched_yield","sched_get_priority_max","sched_get_priority_min","sched_rr_get_interval","sched_rr_get_interval_time32","restart_syscall","kill","tkill","tgkill","sigaltstack","rt_sigsuspend","rt_sigaction","rt_sigprocmask","rt_sigpending","rt_sigtimedwait","rt_sigtimedwait_time32","rt_sigqueueinfo","setpriority","getpriority","reboot","setregid","setgid","setreuid","setuid","setresuid","getresuid","setresgid","getresgid","setfsuid","setfsgid","times","setpgid","getpgid","getsid","setsid","getgroups","setgroups","newuname","sethostname","setdomainname","getrlimit","setrlimit","getrusage","umask","prctl","getcpu","gettimeofday","settimeofday","adjtimex","adjtimex_time32","getpid","getppid","getuid","geteuid","getgid","getegid","gettid","sysinfo","mq_open","mq_unlink","mq_timedsend","mq_timedreceive","mq_notify","mq_getsetattr","mq_timedreceive_time32","mq_timedsend_time32","msgget","old_msgctl","msgctl","msgrcv","msgsnd","semget","semctl","old_semctl","semtimedop","semtimedop_time32","semop","shmget","old_shmctl","shmctl","shmat","shmdt","socket","socketpair","bind","listen","accept","connect","getsockname","getpeername","sendto","recvfrom","setsockopt","getsockopt","shutdown","sendmsg","recvmsg","readahead","brk","add_key","request_key","keyctl","clone","clone3","execve","swapon","swapoff","get_mempolicy","set_mempolicy","rt_tgsigqueueinfo","perf_event_open","accept4","recvmmsg","recvmmsg_time32","wait4","prlimit64","name_to_handle_at","open_by_handle_at","clock_adjtime","clock_adjtime32","setns","sendmmsg","kcmp","finit_module","sched_setattr","sched_getattr","renameat2","seccomp","getrandom","memfd_create","bpf","execveat","userfaultfd","membarrier","mlock2","pkey_mprotect","pkey_alloc","pkey_free","rseq","open_tree","move_mount","mount_setattr","fsopen","fsconfig","fsmount","fspick","pidfd_send_signal","pidfd_getfd","landlock_create_ruleset","landlock_add_rule","landlock_restrict_self","memfd_secret","set_mempolicy_home_node","cachestat","map_shadow_stack","ioperm","pciconfig_read","pciconfig_write","pciconfig_iobase","spu_run","spu_create","chmod","chown","lchown","epoll_create","eventfd","signalfd","sendfile","alarm","getpgrp","pause","time","time32","futimesat_time32","utime32","utimes_time32","select","poll","epoll_wait","recv","send","oldumount","uselib","stime","stime32","sigpending","sigprocmask","sgetmask","ssetmask","signal","nice","kexec_file_load","waitpid","socketcall","old_readdir","gethostname","uname","olduname","ipc"]},{"type":2,"name":"libc","functions":["fnmatch@@GLIBC_2.2.5","sched_getaffinity@@GLIBC_2.3.4","getgrnam_r@@GLIBC_2.2.5","sysctl@GLIBC_2.2.5","forkpty@@GLIBC_2.34","getpwnam_r@@GLIBC_2.2.5","getgrgid_r@@GLIBC_2.2.5","openpty@@GLIBC_2.34","fdetach@GLIBC_2.2.5","gai_error@GLIBC_2.2.5","res_send@@GLIBC_2.34","putmsg@GLIBC_2.2.5","fmemopen@GLIBC_2.2.5","forkpty@GLIBC_2.2.5","getpwuid_r@@GLIBC_2.2.5","res_mailok@@GLIBC_2.34","getspnam_r@@GLIBC_2.2.5","quick_exit@@GLIBC_2.24","logwtmp@@GLIBC_2.34","logout@@GLIBC_2.34","fopencookie@@GLIBC_2.2.5","gai_cancel@@GLIBC_2.34","glob64@GLIBC_2.2.5","getgrent_r@@GLIBC_2.2.5","_getopt_internal_r","frexpf128","res_search@@GLIBC_2.34","_nl_select_era_entry","finitef128_do_not_use","copysignf32x","gai_error@@GLIBC_2.34","copysignf32","getmsg@GLIBC_2.2.5","_nl_get_walt_digit","_create_xid","sstk@GLIBC_2.2.5","_nl_cleanup_time","_itoa_word","_nl_unload_domain","_getopt_long_r","getspent_r@@GLIBC_2.2.5","_getopt_long_only_r","_option_is_end","_IO_str_count","_nl_cleanup_ctype","_des_crypt","_getopt_internal","_openchild","re_string_realloc_buffers","context_reuse","hex2bin","x_putint32","x_getpostn","gai_suspend@@GLIBC_2.34","duplicate_node","bin2hex","tr_break@GLIBC_2.2.5","_nl_init_era_entries.part.0","exec_comm","gethostbyname2_r@@GLIBC_2.2.5","_nl_make_l10nflist.localalias","_nl_find_msg","gethostent_r@@GLIBC_2.2.5","start_thread","get_kernel_syms@GLIBC_2.2.5","get_scope","add_prefixlist","match_prefix","in6aicmp","fini","exchange","parse_branch","parse_expression","authdes_nextverf","re_search_internal","gr_map_free","merge_state_with_log","until_short","get_subexp_sub","clean_state_log_if_needed","canon_doc_option","extend_buffers","check_arrival_expand_ecl_sub","check_node_accept_bytes","sub_epsilon_src_nodes","harmless","pmap_rmtcall@GLIBC_2.2.5","merge_state_array","re_acquire_state_context","w_addword","check_dst_limits","check_halt_state_context","context_send_common","utf8_encode.part.0","build_charclass","pop_fail_stack","time_ifunc","match_ctx_clean","re_dfa_add_node","free_charset","build_upper_buffer","re_node_set_add_intersect","free_state","search_cur_bkref_entry","re_node_set_compare","print_and_abort","internal_getgrouplist","clear_once_control","send_vc","shm_open@GLIBC_2.2.5","fstab_init","lio_listio64@@GLIBC_2.34","_nl_init_alt_digit","parse_rule","free_tree","parse_offset","decode_name","argp_hol","x_putbytes","strcspn_ifunc","ext_match","compute_change","ranged_convert","ydhms_diff","name_to_database_index","binary_hnok","memchr_ifunc","get_mnt_entry","end_pattern","str_append","ptrlist_add__","critical_factorization","argp_doc","gethosts","read_alias_file","authnone_validate","ldexpf32","memcmp_ifunc","strrchr_ifunc","strncat_ifunc","strlen_ifunc","gai_suspend@GLIBC_2.2.5","strcpy_ifunc","re_string_context_at","_int_realloc","next_line","sysmalloc","arena_get_retry","arena_get2.part.0","fetch_number","register_state","des_setparity@GLIBC_2.2.5","ptmalloc_init.part.0","process_long_option","internal_fallocate64","build_wcs_upper_buffer","try_file","get_locked_global","key_call_socket","read_conf_file.isra.0","change_sigmask","check_arrival_expand_ecl","resolv_conf_matches","calc_eclosure_iter","arg_bool","duplicate_node_closure","strspn_ifunc","fts_build","prefixcmp","get_nprocs_cpu_online","initshells","fstab_free","add_request_to_runlist","duplicate_tree","tdestroy_recurse","strpbrk_ifunc","peek_token","glob@GLIBC_2.2.5","argp_args_levels.isra.0","strcmp_ifunc","array_add__","x_setpostn","authdes_refresh","fstab_convert","create_token_tree","realpath_stk","authdes_marshal","check_arrival","fts_alloc.isra.0","internal_fnmatch","x_putlong","expand_bkref_cache","msgctl@@GLIBC_2.2.5","pmap_getport@GLIBC_2.2.5","quick_exit@GLIBC_2.10","authnone_verf","get_next_alias","freeres","sock_eq","hol_cousin_cluster_cmp.isra.0","ftw_dir","check_node_accept","decide_maybe_mmap","vtimes_one.part.0","internal_addseverity","build_trtable","adjust_wide_data","getaliasbyname_r@@GLIBC_2.2.5","alloc_perturb","_nl_get_era_entry","scalbnf64x","print_header","set_binding_values.part.0","get_nproc_stat","update_cur_sifted_state","authdes_destroy","walker","strncpy_ifunc","helper_thread","parse_dollars","authnone_create@GLIBC_2.2.5","scalbnf128","tzset_internal","locked_vfxprintf","wcsrchr_ifunc","_Unwind_GetCFA","get_free_list","new_do_write","wait_on_socket","frexpf32","find_derivation","option_alloc","detach_arena.part.0","_int_malloc","buffer_free","sched_setaffinity@@GLIBC_2.3.4","register_file","key_gendes@GLIBC_2.2.5","skip","send_dg","_res_hconf_trim_domain","gethostbyname3_context","authnone_create_once","decrement_at_index.part.0","lower_subexp","scalbnf32","strncmp_ifunc","isinff128_do_not_use","nrl_domainname","freecache","hol_entry_short_iterate","authdes_pk_create@GLIBC_2.2.5","do_system","getpwent_r@@GLIBC_2.2.5","gethostbyname_r@@GLIBC_2.2.5","unwind_stop","create_thread","_IO_wstrn_overflow","token.part.0","wcsncmp_ifunc","find_module_idx","indent_to","hack_digit","open_socket","getttyname_r","_IO_obstack_xsputn","reopen","peek_token_bracket","fts_sort","asctime_internal","maybe_init","alias_compare","fts_stat.isra.0","ecb_crypt@GLIBC_2.2.5","time_syscall","add_module","sift_states_backward","do_release_shlib","do_release_all","new_composite_name","memset_ifunc","x_destroy","free_category","re_compile_internal","msort_with_tmp.part.0","fmemopen@@GLIBC_2.22","free_dfa_content","try_nocreate","strcat_ifunc","_IO_cookie_read","_IO_cookie_seek","space","_IO_cookie_close","parse_reg_exp","fts_palloc","_IO_fopencookie","_IO_str_finish","_nl_expand_alias","copysignf128","_IO_default_seekpos","_int_free","getpmsg@GLIBC_2.2.5","_IO_getwc","build_charclass_op","rtime@GLIBC_2.2.5","unlock","uselib@GLIBC_2.2.5","bdflush@GLIBC_2.2.5","derivation_compare","object_compare","_res_hconf_init","sched_setaffinity@GLIBC_2.3.3","internal_fnwmatch","_argp_input","end_wpattern","ext_wmatch","pcmp","_nl_archive_subfreeres","check_dst_limits_calc_pos_1","_option_is_short","try_dir","argp_default_parser","pmap_getmaps@GLIBC_2.2.5","_seterr_reply@GLIBC_2.2.5","matches_last_entry","parse_backtick","aio_fsync64@@GLIBC_2.34","perror_internal","maybe_script_execute","add_alias2.part.0","authdes_create@GLIBC_2.2.5","munmap_chunk","hst_map_free","_nl_get_alt_digit","re_node_set_init_union","gai_cancel@GLIBC_2.2.5","usage_argful_short_opt","re_acquire_state","copysignf64x","getpublickey@GLIBC_2.2.5","ldexpf64","check_one_fd","re_compile_fastmap_iter","_nl_parse_alt_digit","authdes_getucred@GLIBC_2.2.5","modff128","_Unwind_ForcedUnwind","re_node_set_merge","check_subexp_matching_top","_nl_explode_name","isnanf128_do_not_use","ftw_startup","key_get_conv@GLIBC_2.2.5","_nl_postload_ctype","scalbnf64","re_search_stub","fattach@GLIBC_2.2.5","hol_entry_qcmp","w_addmem","eval_expr_multdiv","cfree@GLIBC_2.2.5"],"binary_path":"/usr/lib64/libc.so.6"},{"type":2,"name":"hdf5","functions":["H5SL_above","H5SL_add","H5SL_below:0x2794b0","H5SL_close:0x27a240","H5SL_count:0x26f830","H5SL_create:0x26f680","H5SL_destroy:0x27a170","H5SL_find:0x278e80","H5SL_first:0x27a020","H5SL_free:0x27a120","H5SL_greater:0x2788a0","H5SL_init:0x26f5c0","H5SL_insert:0x26f840","H5SL_item:0x27a060","H5SL_iterate:0x27a070","H5SL_last:0x27a050","H5SL_less:0x278260","H5SL_next:0x27a030","H5SL_prev:0x27a040","H5SL_release:0x27a0c0","H5SL_remove:0x26f8f0","H5SL_remove_first:0x2776f0","H5SL_search:0x277c10","H5SL_term_package:0x26f600","H5SM__get_index:0x27b480","H5SM__get_mesg_count_test:0x281610","H5SM__list_free:0x27f4f0","H5SM__message_compare:0x2811c0","H5SM__message_decode:0x281500","H5SM__message_encode:0x2813b0","H5SM__table_free:0x27f4b0","H5SM_can_share:0x27b940","H5SM_delete:0x27d490","H5SM_get_fheap_addr:0x27b780","H5SM_get_info:0x27e590","H5SM_get_refcount:0x27ed00","H5SM_ih_size:0x27ff50","H5SM_init:0x27ada0","H5SM_list_debug:0x27f990","H5SM_reconstitute:0x27ece0","H5SM_table_debug:0x27f530","H5SM_try_share:0x27bc00","H5SM_type_shared:0x27b580","H5T__alloc:0x2831b0","H5T__array_create:0x290bf0","H5T__bit_copy:0x2917f0","H5T__bit_dec:0x2928f0","H5T__bit_find:0x2920e0","H5T__bit_get_d:0x291d20","H5T__bit_inc:0x2927d0","H5T__bit_neg:0x292a00","H5T__bit_set:0x291db0","H5T__bit_set_d:0x291d70","H5T__bit_shift:0x291eb0","H5T__commit:0x294900","H5T__commit_anon:0x2950e0","H5T__commit_named:0x293640","H5T__conv_array:0x301480","H5T__conv_b_b:0x2fc5d0","H5T__conv_double_float:0x2f3330","H5T__conv_double_int:0x2ef570","H5T__conv_double_ldouble:0x2f3b30","H5T__conv_double_llong:0x2f1e10","H5T__conv_double_long:0x2f08f0","H5T__conv_double_schar:0x2ece10","H5T__conv_double_short:0x2ee170","H5T__conv_double_uchar:0x2ed7c0","H5T__conv_double_uint:0x2eff20","H5T__conv_double_ullong:0x2f2780","H5T__conv_double_ulong:0x2f1260","H5T__conv_double_ushort:0x2eeb70","H5T__conv_enum:0x2ff6f0","H5T__conv_enum_numeric:0x2ffce0","H5T__conv_f_f:0x2e2430","H5T__conv_f_i:0x2e43e0","H5T__conv_float_double:0x2ec590","H5T__conv_float_int:0x2e86a0","H5T__conv_float_ldouble:0x2ec9c0","H5T__conv_float_llong:0x2eae70","H5T__conv_float_long:0x2e9750","H5T__conv_float_schar:0x2e5fa0","H5T__conv_float_short:0x2e72f0","H5T__conv_float_uchar:0x2e6940","H5T__conv_float_uint:0x2e8ed0","H5T__conv_float_ullong:0x2eb8c0","H5T__conv_float_ulong:0x2ea1a0","H5T__conv_float_ushort:0x2e7cc0","H5T__conv_i_f:0x299b60","H5T__conv_i_i:0x298db0","H5T__conv_int_double:0x2b45f0","H5T__conv_int_float:0x2b3340","H5T__conv_int_ldouble:0x2b5b30","H5T__conv_int_llong:0x2b2900","H5T__conv_int_long:0x2b1ec0","H5T__conv_int_schar:0x2afdc0","H5T__conv_int_short:0x2b0be0","H5T__conv_int_uchar:0x2b04a0","H5T__conv_int_uint:0x2b1a80","H5T__conv_int_ullong:0x2b2d40","H5T__conv_int_ulong:0x2b2300","H5T__conv_int_ushort:0x2b1330","H5T__conv_ldouble_double:0x2fb570","H5T__conv_ldouble_float:0x2fad20","H5T__conv_ldouble_int:0x2f6960","H5T__conv_ldouble_llong:0x2f95a0","H5T__conv_ldouble_long:0x2f7e20","H5T__conv_ldouble_schar:0x2f3f80","H5T__conv_ldouble_short:0x2f5450","H5T__conv_ldouble_uchar:0x2f49e0","H5T__conv_ldouble_uint:0x2f7390","H5T__conv_ldouble_ullong:0x2fa010","H5T__conv_ldouble_ulong:0x2f8890","H5T__conv_ldouble_ushort:0x2f5ea0","H5T__conv_llong_double:0x2d56f0","H5T__conv_llong_float:0x2d3690","H5T__conv_llong_int:0x2d1cc0","H5T__conv_llong_ldouble:0x2d73e0","H5T__conv_llong_long:0x2d2b80","H5T__conv_llong_schar:0x2cff90","H5T__conv_llong_short:0x2d0df0","H5T__conv_llong_uchar:0x2d06a0","H5T__conv_llong_uint:0x2d2450","H5T__conv_llong_ullong:0x2d3220","H5T__conv_llong_ulong:0x2d2da0","H5T__conv_llong_ushort:0x2d1560","H5T__conv_long_double:0x2c3250","H5T__conv_long_float:0x2c11f0","H5T__conv_long_int:0x2bf820","H5T__conv_long_ldouble:0x2c4f40","H5T__conv_long_llong:0x2c0b50","H5T__conv_long_schar:0x2bdaf0","H5T__conv_long_short:0x2be950","H5T__conv_long_uchar:0x2be200","H5T__conv_long_uint:0x2bffb0","H5T__conv_long_ullong:0x2c0d70","H5T__conv_long_ulong:0x2c06e0","H5T__conv_long_ushort:0x2bf0c0","H5T__conv_noop:0x297600","H5T__conv_order:0x297670","H5T__conv_order_opt:0x297900","H5T__conv_ref:0x2fe7c0","H5T__conv_s_s:0x2fbdc0","H5T__conv_schar_double:0x29e6c0","H5T__conv_schar_float:0x29dc80","H5T__conv_schar_int:0x29be30","H5T__conv_schar_ldouble:0x29f100","H5T__conv_schar_llong:0x29d250","H5T__conv_schar_long:0x29c820","H5T__conv_schar_short:0x29b400","H5T__conv_schar_uchar:0x29afe0","H5T__conv_schar_uint:0x29c260","H5T__conv_schar_ullong:0x29d6a0","H5T__conv_schar_ulong:0x29cc70","H5T__conv_schar_ushort:0x29b850","H5T__conv_short_double:0x2a8260","H5T__conv_short_float:0x2a71e0","H5T__conv_short_int:0x2a5340","H5T__conv_short_ldouble:0x2a92e0","H5T__conv_short_llong:0x2a6790","H5T__conv_short_long:0x2a5d40","H5T__conv_short_schar:0x2a40a0","H5T__conv_short_uchar:0x2a47b0","H5T__conv_short_uint:0x2a5770","H5T__conv_short_ullong:0x2a6be0","H5T__conv_short_ulong:0x2a6190","H5T__conv_short_ushort:0x2a4ef0","H5T__conv_struct:0x2fd780","H5T__conv_struct_opt:0x2fdf30","H5T__conv_struct_subset:0x2fd770","H5T__conv_uchar_double:0x2a2bf0","H5T__conv_uchar_float:0x2a21b0","H5T__conv_uchar_int:0x2a0850","H5T__conv_uchar_ldouble:0x2a3630","H5T__conv_uchar_llong:0x2a1930","H5T__conv_uchar_long:0x2a10b0","H5T__conv_uchar_schar:0x29fb80","H5T__conv_uchar_short:0x29ffd0","H5T__conv_uchar_uint:0x2a0c80","H5T__conv_uchar_ullong:0x2a1d70","H5T__conv_uchar_ulong:0x2a14f0","H5T__conv_uchar_ushort:0x2a0410","H5T__conv_uint_double:0x2bb070","H5T__conv_uint_float:0x2b9e40","H5T__conv_uint_int:0x2b88e0","H5T__conv_uint_ldouble:0x2bc5a0","H5T__conv_uint_llong:0x2b95c0","H5T__conv_uint_long:0x2b8d40","H5T__conv_uint_schar:0x2b7080","H5T__conv_uint_short:0x2b7c90","H5T__conv_uint_uchar:0x2b7670","H5T__conv_uint_ullong:0x2b9a00","H5T__conv_uint_ulong:0x2b9180","H5T__conv_uint_ushort:0x2b82b0","H5T__conv_ullong_double:0x2de570","H5T__conv_ullong_float:0x2dc420","H5T__conv_ullong_int:0x2dacb0","H5T__conv_ullong_ldouble:0x2e0360","H5T__conv_ullong_llong:0x2dbf80","H5T__conv_ullong_long:0x2db880","H5T__conv_ullong_schar:0x2d9430","H5T__conv_ullong_short:0x2da050","H5T__conv_ullong_uchar:0x2d9a40","H5T__conv_ullong_uint:0x2db290","H5T__conv_ullong_ulong:0x2dbd30","H5T__conv_ullong_ushort:0x2da680","H5T__conv_ulong_double:0x2cc0d0","H5T__conv_ulong_float:0x2c9f80","H5T__conv_ulong_int:0x2c8810","H5T__conv_ulong_ldouble:0x2cdec0","H5T__conv_ulong_llong:0x2c9880","H5T__conv_ulong_long:0x2c93e0","H5T__conv_ulong_schar:0x2c6f90","H5T__conv_ulong_short:0x2c7bb0","H5T__conv_ulong_uchar:0x2c75a0","H5T__conv_ulong_uint:0x2c8df0","H5T__conv_ulong_ullong:0x2c9d30","H5T__conv_ulong_ushort:0x2c81e0","H5T__conv_ushort_double:0x2add40","H5T__conv_ushort_float:0x2acd10","H5T__conv_ushort_int:0x2ab3b0","H5T__conv_ushort_ldouble:0x2aed70","H5T__conv_ushort_llong:0x2ac490","H5T__conv_ushort_long:0x2abc10","H5T__conv_ushort_schar:0x2aa310","H5T__conv_ushort_short:0x2aaf10","H5T__conv_ushort_uchar:0x2aa910","H5T__conv_ushort_uint:0x2ab7e0","H5T__conv_ushort_ullong:0x2ac8d0","H5T__conv_ushort_ulong:0x2ac050","H5T__conv_vlen:0x300080","H5T__create:0x28abf0","H5T__enum_create:0x302dd0","H5T__enum_insert:0x303040","H5T__free:0x283af0","H5T__get_array_dims:0x2911b0","H5T__get_array_ndims:0x291050","H5T__get_create_plist:0x294720","H5T__get_member_name:0x3040c0","H5T__get_member_size:0x296610","H5T__get_member_value:0x303450","H5T__get_path_table_npaths:0x290ba0","H5T__init_native_float_types:0x306040","H5T__init_native_internal:0x309e00","H5T__insert:0x2967f0","H5T__open_name:0x295770","H5T__print_path_stats:0x302060","H5T__ref_reclaim:0x30d890","H5T__ref_set_loc:0x30d430","H5T__reverse_order:0x296ef0","H5T__sort_name:0x3047c0","H5T__sort_value:0x304520","H5T__update_packed:0x296780","H5T__upgrade_version:0x2909b0","H5T__visit:0x30dc90","H5T__vlen_create:0x30e520","H5T__vlen_reclaim:0x30ea90","H5T__vlen_set_loc:0x30e820","H5T_already_vol_managed:0x295cf0","H5T_close:0x283d10","H5T_close_real:0x2832c0","H5T_cmp:0x2840a0","H5T_construct_datatype:0x295930","H5T_convert:0x285ab0","H5T_convert_committed_datatype:0x285fa0","H5T_convert_with_ctx:0x2859d0","H5T_copy:0x286f50","H5T_copy_reopen:0x28a200","H5T_debug:0x302070","H5T_decode:0x2864e0","H5T_detect_class:0x2825a0","H5T_encode:0x282cc0","H5T_get_actual_type:0x295b00","H5T_get_class:0x282450","H5T_get_force_conv:0x296ee0","H5T_get_member_offset:0x296140","H5T_get_member_type:0x2965a0","H5T_get_named_type:0x295af0","H5T_get_nmembers:0x303f20","H5T_get_offset:0x30a280","H5T_get_order:0x30ae70","H5T_get_precision:0x30bd20","H5T_get_ref_type:0x2860e0","H5T_get_sign:0x304aa0","H5T_get_size:0x284090","H5T_get_super:0x289e80","H5T_init:0x28b230","H5T_invoke_vol_optional:0x295d00","H5T_is_immutable:0x285f60","H5T_is_named:0x285f70","H5T_is_numeric_with_unusual_unused_bits:0x290bb0","H5T_is_relocatable:0x2908a0","H5T_is_sensible:0x286100","H5T_is_variable_str:0x282800","H5T_is_vl_storage:0x2908e0","H5T_link:0x293ce0","H5T_lock:0x282fc0","H5T_nameof:0x285ed0","H5T_noop_conv:0x285880","H5T_oloc:0x285e40","H5T_open:0x295190","H5T_own_vol_obj:0x290b20","H5T_patch_file:0x290ae0","H5T_patch_vlen_file:0x290b00","H5T_path_bkg:0x2859c0","H5T_path_compound_subset:0x285990","H5T_path_find:0x2885b0","H5T_path_noop:0x285840","H5T_reclaim:0x296e40","H5T_reclaim_cb:0x296db0","H5T_restore_refresh_state:0x295c10","H5T_save_refresh_state:0x295b20","H5T_set_loc:0x286130","H5T_set_version:0x290a20","H5T_term_package:0x281fa0","H5T_top_term_package:0x283500","H5T_unregister:0x284d00","H5T_update_shared:0x2948d0","H5T_vlen_reclaim_elmt:0x30ed60","H5S__extent_copy_real:0x236cc0","H5S__extent_release:0x236670","H5S__get_diminfo_status_test:0x26cc70","H5S__get_rebuild_status_test:0x26cbe0","H5S__hyper_get_op_gen:0x249670","H5S__hyper_project_intersection:0x255f70","H5S__hyper_rebuild:0x250d80","H5S__internal_consistency_test:0x26ccd0","H5S__modify_select:0x25e1a0","H5S__sel_iter_close_cb:0x26c030","H5S__verify_offsets:0x26cd90","Nflock:0x61f30","Pflock:0x61ee0"]},{"type":1,"name":"bio","functions":["bio_get_last_bvec","bio_will_gap","bio_integrity_init"]},{"type":3,"name":"python","functions":[],"binary_path":"/usr/lib64/libpython3.9.so","provider":"python"},{"type":1,"name":"xfs","functions":[]},{"type":1,"name":"ext4","functions":[]},{"type":1,"name":"iomap","functions":[]},{"type":1,"name":"iov","functions":[]},{"type":2,"name":"test_posix","functions":[],"binary_path":"/home/haridev/datacrumbs/build/bin/df_tracer_test"},{"type":1,"name":"os_page_cache","functions":[]},{"type":1,"name":"shm","functions":["shmem_init"]},{"type":1,"name":"fscache","functions":["fscache_update_aux"]},{"type":2,"name":"ior","functions":[],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/ior-3.3.0-ip47j26fw7xxfftdzjvy2h36phgcuypv/bin/ior","include_offsets":false},{"type":1,"name":"lustre","functions":[]},{"type":1,"name":"osc","functions":["osc_queue_async_io","osc_quota_chkdq"]},{"type":1,"name":"ptlrpc","functions":["ldlm_lock_decref_internal","ldlm_lock_decref","ldlm_lock_addref_internal_nolock","ldlm_lock_match_with_skip","ldlm_lock_addref"]}] diff --git a/etc/datacrumbs/data/probes-haridev-lead.json b/etc/datacrumbs/data/probes-haridev-lead.json index 66ddfbe3..4f67dd3c 100644 --- a/etc/datacrumbs/data/probes-haridev-lead.json +++ b/etc/datacrumbs/data/probes-haridev-lead.json @@ -1 +1 @@ -[{"type":4,"name":"custom1","functions":["openat","read","write","close","fallocate","fdatasync","flock","fsync","ftruncate","lseek","pread64","preadv","preadv2","pwrite64","pwritev","pwritev2","readahead","readv","writev","open","openat2"],"bpf_path":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c","start_event_id":100000,"process_header":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h","event_type":2},{"type":0,"name":"sys","functions":["access","chdir","close","close_range","copy_file_range","creat","dup","dup2","dup3","eventfd2","exit","exit_group","faccessat","faccessat2","fadvise64","fadvise64_64","fallocate","fanotify_init","fanotify_mark","fchdir","fchmod","fchmodat","fchmodat2","fchown","fchownat","fcntl","fdatasync","fgetxattr","flistxattr","flock","fremovexattr","fsetxattr","fstat","fstatfs","fstatfs64","fsync","ftruncate","getcwd","getdents","getxattr","inotify_add_watch","inotify_init","inotify_init1","inotify_rm_watch","io_cancel","io_destroy","io_setup","io_submit","io_uring_enter","io_uring_register","io_uring_setup","lgetxattr","link","linkat","listxattr","llistxattr","llseek","lremovexattr","lseek","lsetxattr","lstat","madvise","mbind","migrate_pages","mincore","mkdir","mkdirat","mknod","mknodat","mlock","mlockall","mmap_pgoff","move_pages","mprotect","mremap","msync","munlock","munlockall","munmap","newfstat","newlstat","newstat","open","openat","openat2","pidfd_open","pipe","pread64","preadv","preadv2","process_madvise","process_mrelease","process_vm_readv","process_vm_writev","pwrite64","pwritev","pwritev2","read","readlink","readlinkat","readv","remap_file_pages","removexattr","rename","renameat","rmdir","sendfile64","setxattr","stat","statfs","statfs64","statx","symlink","symlinkat","sync","sync_file_range","sync_file_range2","syncfs","sysfs","truncate","unlink","unlinkat","ustat","vfork","write","writev"]},{"type":2,"name":"libc","functions":["__GI___fork","__GI___register_atfork","__GI___vfork","__GI_forkpty","__dyn_pthread_atfork","__fork","__forkpty","__libc_fork","__libc_unwind_link_after_fork","__libc_vfork","__malloc_fork_lock_parent","__malloc_fork_unlock_child","__malloc_fork_unlock_parent","__mq_notify_fork_subprocess","__nss_database_fork_prepare_parent","__nss_database_fork_subprocess","__register_atfork","__run_postfork_handlers","__run_prefork_handlers","__timer_fork_subprocess","__unregister_atfork","__vfork","fork","pthread_atfork@GLIBC_2.2.5","vfork"],"binary_path":"/usr/lib64/libc.so.6","include_offsets":false},{"type":2,"name":"hdf5","functions":["H5AC__broadcast_clean_list_cb","H5AC__check_if_write_permitted","H5AC__copy_candidate_list_to_buffer.constprop.0","H5AC__copy_candidate_list_to_buffer_cb","H5AC__flush_entries","H5AC__log_cleaned_entry","H5AC__log_deleted_entry","H5AC__log_dirtied_entry","H5AC__log_flushed_entry","H5AC__log_inserted_entry","H5AC__log_moved_entry","H5AC__propagate_flushed_and_still_clean_entries_list","H5AC__proxy_entry_add_child_cb","H5AC__proxy_entry_free_icr","H5AC__proxy_entry_image_len","H5AC__proxy_entry_notify","H5AC__proxy_entry_remove_child_cb","H5AC__proxy_entry_serialize","H5AC__receive_haddr_list","H5AC__run_sync_point","H5AC__set_sync_point_done_callback","H5AC__set_write_done_callback","H5AC_add_candidate","H5AC_cache_image_pending","H5AC_cork","H5AC_create","H5AC_create_flush_dependency","H5AC_dest","H5AC_destroy_flush_dependency","H5AC_evict","H5AC_evict_tagged_metadata","H5AC_expunge_entry","H5AC_expunge_tag_type_metadata","H5AC_flush","H5AC_flush_tagged_metadata","H5AC_get_cache_auto_resize_config","H5AC_get_cache_flush_in_progress","H5AC_get_cache_hit_rate","H5AC_get_cache_size","H5AC_get_entry_ring","H5AC_get_entry_status","H5AC_get_mdc_image_info","H5AC_get_tag","H5AC_ignore_tags","H5AC_init","H5AC_insert_entry","H5AC_load_cache_image_on_next_protect","H5AC_mark_entry_clean","H5AC_mark_entry_dirty","H5AC_mark_entry_serialized","H5AC_mark_entry_unserialized","H5AC_move_entry","H5AC_pin_protected_entry","H5AC_prep_for_file_close","H5AC_prep_for_file_flush","H5AC_protect","H5AC_proxy_entry_add_child","H5AC_proxy_entry_add_parent","H5AC_proxy_entry_create","H5AC_proxy_entry_dest","H5AC_proxy_entry_remove_child","H5AC_proxy_entry_remove_parent","H5AC_remove_entry","H5AC_reset_cache_hit_rate_stats","H5AC_resize_entry","H5AC_retag_copied_metadata","H5AC_secure_from_file_flush","H5AC_set_cache_auto_resize_config","H5AC_set_ring","H5AC_stats","H5AC_tag","H5AC_term_package","H5AC_unpin_entry","H5AC_unprotect","H5AC_unsettle_entry_ring","H5AC_unsettle_ring","H5AC_validate_cache_image_config","H5AC_validate_config","H5A__attr_cmp_corder_dec","H5A__attr_cmp_corder_inc","H5A__attr_cmp_name_dec","H5A__attr_cmp_name_inc","H5A__attr_copy_file","H5A__attr_iterate_table","H5A__attr_post_copy_file","H5A__attr_release_table","H5A__close","H5A__close_cb","H5A__compact_build_table","H5A__compact_build_table_cb","H5A__copy","H5A__create","H5A__create_api_common","H5A__create_by_name","H5A__create_by_name_api_common","H5A__delete_by_idx","H5A__delete_by_name","H5A__dense_btree2_corder_compare","H5A__dense_btree2_corder_debug","H5A__dense_btree2_corder_decode","H5A__dense_btree2_corder_encode","H5A__dense_btree2_corder_store","H5A__dense_btree2_name_compare","H5A__dense_btree2_name_debug","H5A__dense_btree2_name_decode","H5A__dense_btree2_name_encode","H5A__dense_btree2_name_store","H5A__dense_build_table","H5A__dense_build_table_cb","H5A__dense_copy_fh_cb","H5A__dense_create","H5A__dense_delete","H5A__dense_delete_bt2_cb","H5A__dense_exists","H5A__dense_fh_name_cmp","H5A__dense_fnd_cb","H5A__dense_insert","H5A__dense_iterate","H5A__dense_iterate_bt2_cb","H5A__dense_open","H5A__dense_post_copy_file_all","H5A__dense_post_copy_file_cb","H5A__dense_remove","H5A__dense_remove_bt2_cb","H5A__dense_remove_by_idx","H5A__dense_remove_by_idx_bt2_cb","H5A__dense_rename","H5A__dense_write","H5A__dense_write_bt2_cb","H5A__dense_write_bt2_cb2","H5A__exists_by_name","H5A__get_ainfo","H5A__get_create_plist","H5A__get_info","H5A__get_name","H5A__get_shared_rc_test","H5A__get_type","H5A__is_shared_test","H5A__iterate","H5A__iterate_old","H5A__open","H5A__open_by_idx","H5A__open_by_name","H5A__open_common:0x6a920","H5A__open_common:0x76bf0","H5A__read","H5A__rename_by_name","H5A__set_version","H5A__shared_free","H5A__write","H5A_get_space","H5A_init","H5A_nameof","H5A_oloc","H5A_term_package","H5A_top_term_package","H5A_type","H5Aclose","H5Aclose_async","H5Acreate1","H5Acreate2","H5Acreate_async","H5Acreate_by_name","H5Acreate_by_name_async","H5Adelete","H5Adelete_by_idx","H5Adelete_by_name","H5Aexists","H5Aexists_async","H5Aexists_by_name","H5Aexists_by_name_async","H5Aget_create_plist","H5Aget_info","H5Aget_info_by_idx","H5Aget_info_by_name","H5Aget_name","H5Aget_name_by_idx","H5Aget_num_attrs","H5Aget_space","H5Aget_storage_size","H5Aget_type","H5Aiterate1","H5Aiterate2","H5Aiterate_by_name","H5Aopen","H5Aopen_async","H5Aopen_by_idx","H5Aopen_by_idx_async","H5Aopen_by_name","H5Aopen_by_name_async","H5Aopen_idx","H5Aopen_name","H5Aread","H5Aread_async","H5Arename","H5Arename_async","H5Arename_by_name","H5Arename_by_name_async","H5Awrite","H5Awrite_async","H5B2__cache_hdr_deserialize","H5B2__cache_hdr_free_icr","H5B2__cache_hdr_get_initial_load_size","H5B2__cache_hdr_image_len","H5B2__cache_hdr_notify","H5B2__cache_hdr_serialize","H5B2__cache_hdr_verify_chksum","H5B2__cache_int_deserialize","H5B2__cache_int_free_icr","H5B2__cache_int_get_initial_load_size","H5B2__cache_int_image_len","H5B2__cache_int_notify","H5B2__cache_int_serialize","H5B2__cache_int_verify_chksum","H5B2__cache_leaf_deserialize","H5B2__cache_leaf_free_icr","H5B2__cache_leaf_get_initial_load_size","H5B2__cache_leaf_image_len","H5B2__cache_leaf_notify","H5B2__cache_leaf_serialize","H5B2__cache_leaf_verify_chksum","H5B2__create_flush_depend","H5B2__create_internal","H5B2__create_leaf","H5B2__delete_node","H5B2__delete_node.localalias","H5B2__destroy_flush_depend","H5B2__get_node_depth_test","H5B2__get_node_info_test","H5B2__get_root_addr_test","H5B2__hdr_alloc","H5B2__hdr_create","H5B2__hdr_debug","H5B2__hdr_decr","H5B2__hdr_delete","H5B2__hdr_dirty","H5B2__hdr_free","H5B2__hdr_fuse_decr","H5B2__hdr_fuse_incr","H5B2__hdr_incr","H5B2__hdr_init","H5B2__hdr_protect","H5B2__hdr_unprotect","H5B2__insert","H5B2__insert_internal","H5B2__insert_internal.localalias","H5B2__insert_leaf","H5B2__int_debug","H5B2__internal_free","H5B2__iterate_node","H5B2__iterate_node.localalias","H5B2__leaf_debug","H5B2__leaf_free","H5B2__locate_record","H5B2__merge2","H5B2__merge3","H5B2__neighbor_internal","H5B2__neighbor_internal.localalias","H5B2__neighbor_leaf","H5B2__node_size","H5B2__node_size.localalias","H5B2__protect_internal","H5B2__protect_leaf","H5B2__redistribute2","H5B2__redistribute3","H5B2__remove_internal","H5B2__remove_internal.localalias","H5B2__remove_internal_by_idx","H5B2__remove_internal_by_idx.localalias","H5B2__remove_leaf","H5B2__remove_leaf_by_idx","H5B2__shadow_internal","H5B2__shadow_leaf","H5B2__split1","H5B2__split_root","H5B2__swap_leaf","H5B2__test2_compare","H5B2__test2_debug","H5B2__test2_decode","H5B2__test2_encode","H5B2__test2_store","H5B2__test_compare","H5B2__test_crt_context","H5B2__test_debug","H5B2__test_decode","H5B2__test_dst_context","H5B2__test_encode","H5B2__test_store","H5B2__update_flush_depend","H5B2__update_internal","H5B2__update_internal.localalias","H5B2__update_leaf","H5B2_close","H5B2_create","H5B2_delete","H5B2_depend","H5B2_find","H5B2_get_addr","H5B2_get_nrec","H5B2_index","H5B2_insert","H5B2_iterate","H5B2_modify","H5B2_neighbor","H5B2_open","H5B2_patch_file","H5B2_remove","H5B2_remove_by_idx","H5B2_size","H5B2_stat_info","H5B2_update","H5B__cache_deserialize","H5B__cache_free_icr","H5B__cache_get_initial_load_size","H5B__cache_image_len","H5B__cache_serialize","H5B__get_info_helper","H5B__insert_helper","H5B__iterate_helper","H5B__node_dest","H5B__remove_helper","H5B__verify_structure","H5B_create","H5B_debug","H5B_delete","H5B_delete.localalias","H5B_find","H5B_find.localalias","H5B_get_info","H5B_insert","H5B_iterate","H5B_remove","H5B_shared_free","H5B_shared_new","H5B_valid","H5CX__pop_common","H5CX_free_state","H5CX_get_actual_selection_io_mode","H5CX_get_bkgr_buf","H5CX_get_bkgr_buf_type","H5CX_get_btree_split_ratios","H5CX_get_coll_metadata_read","H5CX_get_data_transform","H5CX_get_dset_min_ohdr_flag","H5CX_get_dt_conv_cb","H5CX_get_dxpl","H5CX_get_encoding","H5CX_get_err_detect","H5CX_get_ext_file_prefix","H5CX_get_filter_cb","H5CX_get_intermediate_group","H5CX_get_io_xfer_mode","H5CX_get_lapl","H5CX_get_libver_bounds","H5CX_get_max_temp_buf","H5CX_get_modify_write_buf","H5CX_get_mpi_coll_datatypes","H5CX_get_mpi_file_flushing","H5CX_get_mpio_chunk_opt_mode","H5CX_get_mpio_chunk_opt_num","H5CX_get_mpio_chunk_opt_ratio","H5CX_get_mpio_coll_opt","H5CX_get_mpio_global_no_coll_cause","H5CX_get_mpio_local_no_coll_cause","H5CX_get_mpio_rank0_bcast","H5CX_get_nlinks","H5CX_get_no_selection_io_cause","H5CX_get_ohdr_flags","H5CX_get_ring","H5CX_get_selection_io_mode","H5CX_get_tag","H5CX_get_tconv_buf","H5CX_get_vds_prefix","H5CX_get_vec_size","H5CX_get_vlen_alloc_info","H5CX_get_vol_connector_prop","H5CX_get_vol_wrap_ctx","H5CX_init","H5CX_is_def_dxpl","H5CX_pop","H5CX_push","H5CX_push_special","H5CX_pushed","H5CX_restore_state","H5CX_retrieve_state","H5CX_set_actual_selection_io_mode","H5CX_set_apl","H5CX_set_coll_metadata_read","H5CX_set_dcpl","H5CX_set_dxpl","H5CX_set_io_xfer_mode","H5CX_set_lapl","H5CX_set_lcpl","H5CX_set_libver_bounds","H5CX_set_loc","H5CX_set_mpi_coll_datatypes","H5CX_set_mpi_file_flushing","H5CX_set_mpio_actual_chunk_opt","H5CX_set_mpio_actual_io_mode","H5CX_set_mpio_coll_opt","H5CX_set_mpio_global_no_coll_cause","H5CX_set_mpio_local_no_coll_cause","H5CX_set_mpio_rank0_bcast","H5CX_set_nlinks","H5CX_set_no_selection_io_cause","H5CX_set_ring","H5CX_set_tag","H5CX_set_vlen_alloc_info","H5CX_set_vol_connector_prop","H5CX_set_vol_wrap_ctx","H5CX_term_package","H5C__auto_adjust_cache_size","H5C__autoadjust__ageout__remove_all_markers","H5C__autoadjust__ageout__remove_excess_markers","H5C__epoch_marker_deserialize","H5C__epoch_marker_free_icr","H5C__epoch_marker_fsf_size","H5C__epoch_marker_get_final_load_size","H5C__epoch_marker_get_initial_load_size","H5C__epoch_marker_image_len","H5C__epoch_marker_notify","H5C__epoch_marker_pre_serialize","H5C__epoch_marker_serialize","H5C__epoch_marker_verify_chksum","H5C__evict_tagged_entries_cb","H5C__expunge_tag_type_metadata_cb","H5C__flash_increase_cache_size","H5C__flush_invalidate_cache","H5C__flush_ring","H5C__flush_single_entry","H5C__flush_tagged_entries_cb","H5C__generate_cache_image","H5C__generate_image","H5C__get_cache_image_config","H5C__image_entry_cmp","H5C__image_stats","H5C__iter_tagged_entries","H5C__iter_tagged_entries_real","H5C__json_tear_down_logging","H5C__json_write_create_cache_log_msg","H5C__json_write_create_fd_log_msg","H5C__json_write_destroy_cache_log_msg","H5C__json_write_destroy_fd_log_msg","H5C__json_write_evict_cache_log_msg","H5C__json_write_expunge_entry_log_msg","H5C__json_write_flush_cache_log_msg","H5C__json_write_insert_entry_log_msg","H5C__json_write_mark_entry_clean_log_msg","H5C__json_write_mark_entry_dirty_log_msg","H5C__json_write_mark_serialized_entry_log_msg","H5C__json_write_mark_unserialized_entry_log_msg","H5C__json_write_move_entry_log_msg","H5C__json_write_pin_entry_log_msg","H5C__json_write_protect_entry_log_msg","H5C__json_write_remove_entry_log_msg","H5C__json_write_resize_entry_log_msg","H5C__json_write_set_cache_config_log_msg","H5C__json_write_start_log_msg","H5C__json_write_stop_log_msg","H5C__json_write_unpin_entry_log_msg","H5C__json_write_unprotect_entry_log_msg","H5C__load_cache_image","H5C__log_json_set_up","H5C__log_trace_set_up","H5C__make_space_in_cache","H5C__pin_entry_from_client.part.0","H5C__prefetched_entry_deserialize","H5C__prefetched_entry_free_icr","H5C__prefetched_entry_fsf_size","H5C__prefetched_entry_get_final_load_size","H5C__prefetched_entry_get_initial_load_size","H5C__prefetched_entry_image_len","H5C__prefetched_entry_notify","H5C__prefetched_entry_pre_serialize","H5C__prefetched_entry_serialize","H5C__prefetched_entry_verify_chksum","H5C__prep_for_file_close__compute_fd_heights_real","H5C__prep_image_for_file_close","H5C__serialize_cache","H5C__serialize_single_entry","H5C__tag_entry","H5C__trace_tear_down_logging","H5C__trace_write_create_fd_log_msg","H5C__trace_write_destroy_fd_log_msg","H5C__trace_write_expunge_entry_log_msg","H5C__trace_write_flush_cache_log_msg","H5C__trace_write_insert_entry_log_msg","H5C__trace_write_mark_entry_clean_log_msg","H5C__trace_write_mark_entry_dirty_log_msg","H5C__trace_write_mark_serialized_entry_log_msg","H5C__trace_write_mark_unserialized_entry_log_msg","H5C__trace_write_move_entry_log_msg","H5C__trace_write_pin_entry_log_msg","H5C__trace_write_protect_entry_log_msg","H5C__trace_write_remove_entry_log_msg","H5C__trace_write_resize_entry_log_msg","H5C__trace_write_set_cache_config_log_msg","H5C__trace_write_unpin_entry_log_msg","H5C__trace_write_unprotect_entry_log_msg","H5C__unpin_entry_from_client","H5C__untag_entry","H5C__verify_cork_tag_test","H5C__verify_cork_tag_test_cb","H5C__verify_len_eoa.isra.0","H5C_apply_candidate_list","H5C_cache_image_pending","H5C_cache_image_status","H5C_clear_coll_entries","H5C_construct_candidate_list__clean_cache","H5C_construct_candidate_list__min_clean","H5C_cork","H5C_create","H5C_create_flush_dependency","H5C_def_auto_resize_rpt_fcn","H5C_dest","H5C_destroy_flush_dependency","H5C_evict","H5C_evict_tagged_entries","H5C_expunge_entry","H5C_expunge_tag_type_metadata","H5C_flush_cache","H5C_flush_tagged_entries","H5C_flush_to_min_clean","H5C_get_aux_ptr","H5C_get_cache_auto_resize_config","H5C_get_cache_flush_in_progress","H5C_get_cache_hit_rate","H5C_get_cache_size","H5C_get_entry_ring","H5C_get_entry_status","H5C_get_evictions_enabled","H5C_get_ignore_tags","H5C_get_logging_status","H5C_get_mdc_image_info","H5C_get_num_objs_corked","H5C_get_tag","H5C_ignore_tags","H5C_insert_entry","H5C_load_cache_image_on_next_protect","H5C_log_set_up","H5C_log_tear_down","H5C_log_write_create_cache_msg","H5C_log_write_create_fd_msg","H5C_log_write_destroy_cache_msg","H5C_log_write_destroy_fd_msg","H5C_log_write_evict_cache_msg","H5C_log_write_expunge_entry_msg","H5C_log_write_flush_cache_msg","H5C_log_write_insert_entry_msg","H5C_log_write_mark_entry_clean_msg","H5C_log_write_mark_entry_dirty_msg","H5C_log_write_mark_serialized_entry_msg","H5C_log_write_mark_unserialized_entry_msg","H5C_log_write_move_entry_msg","H5C_log_write_pin_entry_msg","H5C_log_write_protect_entry_msg","H5C_log_write_remove_entry_msg","H5C_log_write_resize_entry_msg","H5C_log_write_set_cache_config_msg","H5C_log_write_unpin_entry_msg","H5C_log_write_unprotect_entry_msg","H5C_mark_entries_as_clean","H5C_mark_entry_clean","H5C_mark_entry_dirty","H5C_mark_entry_serialized","H5C_mark_entry_unserialized","H5C_move_entry","H5C_pin_protected_entry","H5C_prep_for_file_close","H5C_protect","H5C_remove_entry","H5C_reset_cache_hit_rate_stats","H5C_resize_entry","H5C_retag_entries","H5C_set_cache_auto_resize_config","H5C_set_cache_image_config","H5C_set_evictions_enabled","H5C_set_prefix","H5C_set_slist_enabled","H5C_start_logging","H5C_stats","H5C_stats__reset","H5C_stop_logging","H5C_unpin_entry","H5C_unprotect","H5C_unsettle_entry_ring","H5C_unsettle_ring","H5C_validate_cache_image_config","H5C_validate_resize_config","H5D__alloc_storage","H5D__append_flush_setup.part.0","H5D__bt2_compare","H5D__bt2_crt_context","H5D__bt2_dst_context","H5D__bt2_filt_debug","H5D__bt2_filt_decode","H5D__bt2_filt_encode","H5D__bt2_found_cb","H5D__bt2_idx_close","H5D__bt2_idx_copy_setup","H5D__bt2_idx_copy_shutdown","H5D__bt2_idx_create","H5D__bt2_idx_delete","H5D__bt2_idx_dest","H5D__bt2_idx_dump","H5D__bt2_idx_get_addr","H5D__bt2_idx_init","H5D__bt2_idx_insert","H5D__bt2_idx_is_open","H5D__bt2_idx_is_space_alloc","H5D__bt2_idx_iterate","H5D__bt2_idx_iterate_cb","H5D__bt2_idx_load_metadata","H5D__bt2_idx_open","H5D__bt2_idx_remove","H5D__bt2_idx_reset","H5D__bt2_idx_size","H5D__bt2_mod_cb","H5D__bt2_remove_cb","H5D__bt2_store","H5D__bt2_unfilt_debug","H5D__bt2_unfilt_decode","H5D__bt2_unfilt_encode","H5D__btree2_idx_depend","H5D__btree_cmp2","H5D__btree_cmp3","H5D__btree_debug_key","H5D__btree_decode_key","H5D__btree_encode_key","H5D__btree_found","H5D__btree_get_shared","H5D__btree_idx_close","H5D__btree_idx_copy_setup","H5D__btree_idx_copy_shutdown","H5D__btree_idx_create","H5D__btree_idx_delete","H5D__btree_idx_dest","H5D__btree_idx_dump","H5D__btree_idx_get_addr","H5D__btree_idx_init","H5D__btree_idx_insert","H5D__btree_idx_is_open","H5D__btree_idx_is_space_alloc","H5D__btree_idx_iterate","H5D__btree_idx_iterate_cb","H5D__btree_idx_load_metadata","H5D__btree_idx_open","H5D__btree_idx_remove","H5D__btree_idx_reset","H5D__btree_idx_size","H5D__btree_insert","H5D__btree_new_node","H5D__btree_remove","H5D__btree_shared_create","H5D__btree_shared_free","H5D__build_file_prefix.isra.0","H5D__cache_dataspace_info","H5D__chunk_addrmap","H5D__chunk_addrmap_cb","H5D__chunk_allocate","H5D__chunk_allocated","H5D__chunk_allocated_cb","H5D__chunk_bh_info","H5D__chunk_cache_evict","H5D__chunk_cache_evict.constprop.0","H5D__chunk_cacheable","H5D__chunk_cmp_coll_fill_info","H5D__chunk_construct","H5D__chunk_copy","H5D__chunk_copy_cb","H5D__chunk_create","H5D__chunk_delete","H5D__chunk_dest","H5D__chunk_direct_read","H5D__chunk_direct_write","H5D__chunk_dump_index","H5D__chunk_dump_index_cb","H5D__chunk_file_alloc","H5D__chunk_flush","H5D__chunk_flush_entry","H5D__chunk_flush_entry.constprop.0","H5D__chunk_format_convert","H5D__chunk_format_convert_cb","H5D__chunk_get_offset_copy","H5D__chunk_index_empty","H5D__chunk_index_empty_cb","H5D__chunk_init","H5D__chunk_io_init","H5D__chunk_io_term","H5D__chunk_is_data_cached","H5D__chunk_is_partial_edge_chunk","H5D__chunk_is_space_alloc","H5D__chunk_iter","H5D__chunk_iter_cb","H5D__chunk_lock.constprop.0","H5D__chunk_lookup","H5D__chunk_mdio_init","H5D__chunk_mem_alloc","H5D__chunk_mem_free","H5D__chunk_mem_realloc","H5D__chunk_mem_xfree","H5D__chunk_prune_by_extent","H5D__chunk_read","H5D__chunk_set_info","H5D__chunk_set_info_real","H5D__chunk_set_sizes","H5D__chunk_unlock.constprop.0","H5D__chunk_update_cache","H5D__chunk_update_old_edge_chunks","H5D__chunk_write","H5D__close_cb","H5D__cmp_chunk_redistribute_info","H5D__cmp_chunk_redistribute_info_orig_owner","H5D__cmp_filtered_collective_io_info_entry","H5D__cmp_piece_addr","H5D__collective_read","H5D__collective_write","H5D__compact_construct","H5D__compact_copy","H5D__compact_dest","H5D__compact_fill","H5D__compact_flush","H5D__compact_init","H5D__compact_io_init","H5D__compact_iovv_memmanage_cb","H5D__compact_is_space_alloc","H5D__compact_readvv","H5D__compact_writevv","H5D__compound_opt_read","H5D__contig_alloc","H5D__contig_check","H5D__contig_construct","H5D__contig_copy","H5D__contig_delete","H5D__contig_fill","H5D__contig_flush","H5D__contig_init","H5D__contig_io_init","H5D__contig_io_term","H5D__contig_is_data_cached","H5D__contig_is_space_alloc","H5D__contig_mdio_init","H5D__contig_read","H5D__contig_readvv","H5D__contig_readvv_cb","H5D__contig_readvv_sieve_cb","H5D__contig_write","H5D__contig_writevv","H5D__contig_writevv_cb","H5D__contig_writevv_sieve_cb","H5D__create","H5D__create_named","H5D__current_cache_size_test","H5D__earray_crt_context","H5D__earray_crt_dbg_context","H5D__earray_debug","H5D__earray_decode","H5D__earray_dst_context","H5D__earray_dst_dbg_context","H5D__earray_encode","H5D__earray_fill","H5D__earray_filt_debug","H5D__earray_filt_decode","H5D__earray_filt_encode","H5D__earray_filt_fill","H5D__earray_idx_close","H5D__earray_idx_copy_setup","H5D__earray_idx_copy_shutdown","H5D__earray_idx_create","H5D__earray_idx_delete","H5D__earray_idx_delete_cb","H5D__earray_idx_depend","H5D__earray_idx_dest","H5D__earray_idx_dump","H5D__earray_idx_get_addr","H5D__earray_idx_init","H5D__earray_idx_insert","H5D__earray_idx_is_open","H5D__earray_idx_is_space_alloc","H5D__earray_idx_iterate","H5D__earray_idx_iterate_cb","H5D__earray_idx_load_metadata","H5D__earray_idx_open","H5D__earray_idx_remove","H5D__earray_idx_reset","H5D__earray_idx_resize","H5D__earray_idx_size","H5D__efl_bh_info","H5D__efl_construct","H5D__efl_init","H5D__efl_io_init","H5D__efl_is_space_alloc","H5D__efl_readvv","H5D__efl_readvv_cb","H5D__efl_writevv","H5D__efl_writevv_cb","H5D__farray_crt_context","H5D__farray_crt_dbg_context","H5D__farray_debug","H5D__farray_decode","H5D__farray_dst_context","H5D__farray_dst_dbg_context","H5D__farray_encode","H5D__farray_fill","H5D__farray_filt_debug","H5D__farray_filt_decode","H5D__farray_filt_encode","H5D__farray_filt_fill","H5D__farray_idx_close","H5D__farray_idx_copy_setup","H5D__farray_idx_copy_shutdown","H5D__farray_idx_create","H5D__farray_idx_delete","H5D__farray_idx_delete_cb","H5D__farray_idx_depend","H5D__farray_idx_dest","H5D__farray_idx_dump","H5D__farray_idx_get_addr","H5D__farray_idx_init","H5D__farray_idx_insert","H5D__farray_idx_is_open","H5D__farray_idx_is_space_alloc","H5D__farray_idx_iterate","H5D__farray_idx_iterate_cb","H5D__farray_idx_load_metadata","H5D__farray_idx_open","H5D__farray_idx_remove","H5D__farray_idx_reset","H5D__farray_idx_size","H5D__fill","H5D__fill_init","H5D__fill_refill_vl","H5D__fill_term","H5D__flush","H5D__flush_all_cb","H5D__flush_real","H5D__flush_sieve_buf","H5D__format_convert","H5D__free_piece_info","H5D__gather_file","H5D__gather_mem","H5D__get_chunk_info","H5D__get_chunk_info_by_coord","H5D__get_chunk_info_by_coord_cb","H5D__get_chunk_info_cb","H5D__get_chunk_storage_size","H5D__get_num_chunks","H5D__get_num_chunks_cb","H5D__get_offset","H5D__get_space","H5D__get_space_status","H5D__get_storage_size","H5D__get_type","H5D__init_storage","H5D__inter_collective_io","H5D__ioinfo_adjust","H5D__layout_compact_dirty_test","H5D__layout_contig_size_test","H5D__layout_idx_type_test","H5D__layout_meta_size","H5D__layout_oh_create","H5D__layout_oh_read","H5D__layout_oh_write","H5D__layout_set_io_ops","H5D__layout_set_latest_indexing","H5D__layout_set_version","H5D__layout_type_test","H5D__layout_version_test","H5D__link_chunk_filtered_collective_io","H5D__link_piece_collective_io.constprop.0","H5D__mark","H5D__mpio_collective_filtered_chunk_read.constprop.0","H5D__mpio_collective_filtered_chunk_reinsert","H5D__mpio_collective_filtered_chunk_update","H5D__mpio_collective_filtered_vec_io","H5D__mpio_get_chunk_alloc_info_types.constprop.0","H5D__mpio_get_no_coll_cause_strings","H5D__mpio_opt_possible","H5D__mpio_redistribute_shared_chunks","H5D__mpio_select_read","H5D__mpio_select_write","H5D__mpio_share_chunk_modification_data.constprop.0","H5D__multi_chunk_collective_io","H5D__multi_chunk_filtered_collective_io.constprop.0","H5D__new","H5D__none_idx_close","H5D__none_idx_copy_setup","H5D__none_idx_create","H5D__none_idx_delete","H5D__none_idx_dump","H5D__none_idx_get_addr","H5D__none_idx_is_open","H5D__none_idx_is_space_alloc","H5D__none_idx_iterate","H5D__none_idx_load_metadata","H5D__none_idx_open","H5D__none_idx_remove","H5D__none_idx_reset","H5D__none_idx_size","H5D__nonexistent_readvv","H5D__nonexistent_readvv_cb","H5D__open_name","H5D__piece_file_cb","H5D__piece_io","H5D__piece_mem_cb","H5D__read","H5D__read_api_common","H5D__read_api_common.constprop.0","H5D__refresh","H5D__scatgath_read","H5D__scatgath_read_select","H5D__scatgath_write","H5D__scatgath_write_select","H5D__scatter_file","H5D__scatter_mem","H5D__select_io","H5D__select_read","H5D__select_write","H5D__set_extent","H5D__single_idx_close","H5D__single_idx_copy_setup","H5D__single_idx_create","H5D__single_idx_delete","H5D__single_idx_dump","H5D__single_idx_get_addr","H5D__single_idx_init","H5D__single_idx_insert","H5D__single_idx_is_open","H5D__single_idx_is_space_alloc","H5D__single_idx_iterate","H5D__single_idx_load_metadata","H5D__single_idx_open","H5D__single_idx_remove","H5D__single_idx_reset","H5D__single_idx_size","H5D__typeinfo_init","H5D__typeinfo_init_phase2","H5D__typeinfo_init_phase3.part.0","H5D__virtual_build_source_name.part.0","H5D__virtual_copy","H5D__virtual_copy_layout","H5D__virtual_copy_parsed_name","H5D__virtual_delete","H5D__virtual_flush","H5D__virtual_hold_source_dset_files","H5D__virtual_init","H5D__virtual_io_init","H5D__virtual_is_data_cached","H5D__virtual_is_space_alloc","H5D__virtual_open_source_dset","H5D__virtual_post_io","H5D__virtual_pre_io.isra.0","H5D__virtual_read","H5D__virtual_read_one","H5D__virtual_refresh_source_dset","H5D__virtual_refresh_source_dsets","H5D__virtual_release_source_dset_files","H5D__virtual_reset_layout","H5D__virtual_set_extent_unlim","H5D__virtual_store_layout","H5D__virtual_str_append","H5D__virtual_write","H5D__virtual_write_one","H5D__vlen_get_buf_size","H5D__vlen_get_buf_size_alloc","H5D__vlen_get_buf_size_cb","H5D__vlen_get_buf_size_gen","H5D__vlen_get_buf_size_gen_cb","H5D__write","H5D__write_api_common","H5D__write_api_common.constprop.0","H5D_btree_debug","H5D_chunk_idx_reset","H5D_close","H5D_close.localalias","H5D_flush_all","H5D_get_access_plist","H5D_get_create_plist","H5D_get_dcpl_id","H5D_init","H5D_mult_refresh_close","H5D_mult_refresh_reopen","H5D_nameof","H5D_oloc","H5D_open","H5D_select_io_mem","H5D_term_package","H5D_top_term_package","H5D_virtual_check_mapping_post","H5D_virtual_check_mapping_pre","H5D_virtual_check_min_dims","H5D_virtual_free_parsed_name","H5D_virtual_parse_source_name","H5D_virtual_update_min_dims","H5Dchunk_iter","H5Dclose","H5Dclose_async","H5Dcreate1","H5Dcreate2","H5Dcreate_anon","H5Dcreate_async","H5Ddebug","H5Dextend","H5Dfill","H5Dflush","H5Dformat_convert","H5Dgather","H5Dget_access_plist","H5Dget_chunk_index_type","H5Dget_chunk_info","H5Dget_chunk_info_by_coord","H5Dget_chunk_storage_size","H5Dget_create_plist","H5Dget_num_chunks","H5Dget_offset","H5Dget_space","H5Dget_space_async","H5Dget_space_status","H5Dget_storage_size","H5Dget_type","H5Diterate","H5Dopen1","H5Dopen2","H5Dopen_async","H5Dread","H5Dread_async","H5Dread_chunk","H5Dread_multi","H5Dread_multi_async","H5Drefresh","H5Dscatter","H5Dset_extent","H5Dset_extent_async","H5Dvlen_get_buf_size","H5Dvlen_reclaim","H5Dwrite","H5Dwrite_async","H5Dwrite_chunk","H5Dwrite_multi","H5Dwrite_multi_async","H5EA__cache_dblk_page_deserialize","H5EA__cache_dblk_page_free_icr","H5EA__cache_dblk_page_get_initial_load_size","H5EA__cache_dblk_page_image_len","H5EA__cache_dblk_page_notify","H5EA__cache_dblk_page_serialize","H5EA__cache_dblk_page_verify_chksum","H5EA__cache_dblock_deserialize","H5EA__cache_dblock_free_icr","H5EA__cache_dblock_fsf_size","H5EA__cache_dblock_get_initial_load_size","H5EA__cache_dblock_image_len","H5EA__cache_dblock_notify","H5EA__cache_dblock_serialize","H5EA__cache_dblock_verify_chksum","H5EA__cache_hdr_deserialize","H5EA__cache_hdr_free_icr","H5EA__cache_hdr_get_initial_load_size","H5EA__cache_hdr_image_len","H5EA__cache_hdr_notify","H5EA__cache_hdr_serialize","H5EA__cache_hdr_verify_chksum","H5EA__cache_iblock_deserialize","H5EA__cache_iblock_free_icr","H5EA__cache_iblock_get_initial_load_size","H5EA__cache_iblock_image_len","H5EA__cache_iblock_notify","H5EA__cache_iblock_serialize","H5EA__cache_iblock_verify_chksum","H5EA__cache_sblock_deserialize","H5EA__cache_sblock_free_icr","H5EA__cache_sblock_get_initial_load_size","H5EA__cache_sblock_image_len","H5EA__cache_sblock_notify","H5EA__cache_sblock_serialize","H5EA__cache_sblock_verify_chksum","H5EA__cmp_cparam_test","H5EA__create_flush_depend","H5EA__dblk_page_alloc","H5EA__dblk_page_create","H5EA__dblk_page_dest","H5EA__dblk_page_protect","H5EA__dblk_page_unprotect","H5EA__dblock_alloc","H5EA__dblock_create","H5EA__dblock_debug","H5EA__dblock_delete","H5EA__dblock_dest","H5EA__dblock_protect","H5EA__dblock_sblk_idx","H5EA__dblock_unprotect","H5EA__destroy_flush_depend","H5EA__get_cparam_test","H5EA__hdr_alloc","H5EA__hdr_alloc_elmts","H5EA__hdr_create","H5EA__hdr_debug","H5EA__hdr_decr","H5EA__hdr_delete","H5EA__hdr_dest","H5EA__hdr_free_elmts","H5EA__hdr_fuse_decr","H5EA__hdr_fuse_incr","H5EA__hdr_incr","H5EA__hdr_init","H5EA__hdr_modified","H5EA__hdr_protect","H5EA__hdr_unprotect","H5EA__iblock_alloc","H5EA__iblock_create","H5EA__iblock_debug","H5EA__iblock_delete","H5EA__iblock_dest","H5EA__iblock_protect","H5EA__iblock_unprotect","H5EA__lookup_elmt.constprop.0.isra.0","H5EA__sblock_alloc","H5EA__sblock_create","H5EA__sblock_debug","H5EA__sblock_delete","H5EA__sblock_dest","H5EA__sblock_protect","H5EA__sblock_unprotect","H5EA__test_crt_context","H5EA__test_crt_dbg_context","H5EA__test_debug","H5EA__test_decode","H5EA__test_dst_context","H5EA__test_dst_dbg_context","H5EA__test_encode","H5EA__test_fill","H5EA_close","H5EA_create","H5EA_delete","H5EA_depend","H5EA_get","H5EA_get_addr","H5EA_get_nelmts","H5EA_get_stats","H5EA_iterate","H5EA_open","H5EA_patch_file","H5EA_set","H5ES__cancel","H5ES__cancel_cb","H5ES__close_cb","H5ES__close_failed_cb","H5ES__create","H5ES__event_completed","H5ES__event_free","H5ES__event_new","H5ES__get_err_info","H5ES__get_err_info_cb","H5ES__get_requests","H5ES__get_requests_cb","H5ES__insert_request","H5ES__list_append","H5ES__list_count","H5ES__list_iterate","H5ES__list_remove","H5ES__op_complete","H5ES__wait","H5ES__wait_cb","H5ES_init","H5ES_insert","H5ES_term_package","H5EScancel","H5ESclose","H5EScreate","H5ESfree_err_info","H5ESget_count","H5ESget_err_count","H5ESget_err_info","H5ESget_err_status","H5ESget_op_counter","H5ESget_requests","H5ESinsert_request","H5ESregister_complete_func","H5ESregister_insert_func","H5ESwait","H5E__append_stack","H5E__clear_entries","H5E__clear_stack","H5E__close_msg","H5E__close_msg_cb","H5E__close_stack","H5E__create_msg","H5E__get_auto","H5E__get_class_name","H5E__get_current_stack","H5E__get_msg","H5E__get_num","H5E__pop","H5E__print","H5E__print2","H5E__push_stack","H5E__register_class","H5E__set_auto","H5E__set_current_stack","H5E__set_default_auto","H5E__unregister_class","H5E__walk","H5E__walk1_cb","H5E__walk2_cb","H5E_clear_stack","H5E_dump_api_stack","H5E_init","H5E_pause_stack","H5E_printf_stack","H5E_resume_stack","H5E_term_package","H5Eappend_stack","H5Eauto_is_v2","H5Eclear1","H5Eclear2","H5Eclose_msg","H5Eclose_stack","H5Ecreate_msg","H5Ecreate_stack","H5Eget_auto1","H5Eget_auto2","H5Eget_class_name","H5Eget_current_stack","H5Eget_major","H5Eget_minor","H5Eget_msg","H5Eget_num","H5Eis_paused","H5Epause_stack","H5Epop","H5Eprint1","H5Eprint2","H5Epush1","H5Epush2","H5Eregister_class","H5Eresume_stack","H5Eset_auto1","H5Eset_auto2","H5Eset_current_stack","H5Eunregister_class","H5Ewalk1","H5Ewalk2","H5FA__cache_dblk_page_deserialize","H5FA__cache_dblk_page_free_icr","H5FA__cache_dblk_page_get_initial_load_size","H5FA__cache_dblk_page_image_len","H5FA__cache_dblk_page_notify","H5FA__cache_dblk_page_serialize","H5FA__cache_dblk_page_verify_chksum","H5FA__cache_dblock_deserialize","H5FA__cache_dblock_free_icr","H5FA__cache_dblock_fsf_size","H5FA__cache_dblock_get_initial_load_size","H5FA__cache_dblock_image_len","H5FA__cache_dblock_notify","H5FA__cache_dblock_serialize","H5FA__cache_dblock_verify_chksum","H5FA__cache_hdr_deserialize","H5FA__cache_hdr_free_icr","H5FA__cache_hdr_get_initial_load_size","H5FA__cache_hdr_image_len","H5FA__cache_hdr_notify","H5FA__cache_hdr_serialize","H5FA__cache_hdr_verify_chksum","H5FA__cmp_cparam_test","H5FA__create_flush_depend","H5FA__dblk_page_alloc","H5FA__dblk_page_create","H5FA__dblk_page_dest","H5FA__dblk_page_protect","H5FA__dblk_page_unprotect","H5FA__dblock_alloc","H5FA__dblock_create","H5FA__dblock_debug","H5FA__dblock_delete","H5FA__dblock_dest","H5FA__dblock_protect","H5FA__dblock_unprotect","H5FA__destroy_flush_depend","H5FA__get_cparam_test","H5FA__hdr_alloc","H5FA__hdr_create","H5FA__hdr_debug","H5FA__hdr_decr","H5FA__hdr_delete","H5FA__hdr_dest","H5FA__hdr_fuse_decr","H5FA__hdr_fuse_incr","H5FA__hdr_incr","H5FA__hdr_init","H5FA__hdr_modified","H5FA__hdr_protect","H5FA__hdr_unprotect","H5FA__test_crt_context","H5FA__test_crt_dbg_context","H5FA__test_debug","H5FA__test_decode","H5FA__test_dst_context","H5FA__test_encode","H5FA__test_fill","H5FA_close","H5FA_create","H5FA_delete","H5FA_depend","H5FA_get","H5FA_get_addr","H5FA_get_nelmts","H5FA_get_stats","H5FA_iterate","H5FA_open","H5FA_patch_file","H5FA_set","H5FD__alloc_real","H5FD__copy_plist","H5FD__core_close","H5FD__core_cmp","H5FD__core_delete","H5FD__core_fapl_get","H5FD__core_flush","H5FD__core_flush.part.0","H5FD__core_get_eoa","H5FD__core_get_eof","H5FD__core_get_handle","H5FD__core_lock","H5FD__core_open","H5FD__core_query","H5FD__core_read","H5FD__core_set_eoa","H5FD__core_term","H5FD__core_truncate","H5FD__core_unlock","H5FD__core_write","H5FD__core_write_to_bstore","H5FD__extend","H5FD__family_close","H5FD__family_cmp","H5FD__family_delete","H5FD__family_fapl_copy","H5FD__family_fapl_free","H5FD__family_fapl_get","H5FD__family_flush","H5FD__family_get_default_config","H5FD__family_get_default_printf_filename","H5FD__family_get_eoa","H5FD__family_get_eof","H5FD__family_get_handle","H5FD__family_lock","H5FD__family_open","H5FD__family_query","H5FD__family_read","H5FD__family_sb_decode","H5FD__family_sb_encode","H5FD__family_sb_size","H5FD__family_set_eoa","H5FD__family_term","H5FD__family_truncate","H5FD__family_unlock","H5FD__family_write","H5FD__free_cls","H5FD__free_real","H5FD__get_driver_cb","H5FD__log_alloc","H5FD__log_close","H5FD__log_cmp","H5FD__log_delete","H5FD__log_fapl_copy","H5FD__log_fapl_free","H5FD__log_fapl_get","H5FD__log_free","H5FD__log_get_eoa","H5FD__log_get_eof","H5FD__log_get_handle","H5FD__log_lock","H5FD__log_open","H5FD__log_query","H5FD__log_read","H5FD__log_set_eoa","H5FD__log_term","H5FD__log_truncate","H5FD__log_unlock","H5FD__log_write","H5FD__mpio_close","H5FD__mpio_ctl","H5FD__mpio_delete","H5FD__mpio_flush","H5FD__mpio_get_eoa","H5FD__mpio_get_eof","H5FD__mpio_get_handle","H5FD__mpio_open","H5FD__mpio_query","H5FD__mpio_read","H5FD__mpio_read_selection","H5FD__mpio_read_vector","H5FD__mpio_set_eoa","H5FD__mpio_term","H5FD__mpio_truncate","H5FD__mpio_vector_build_types.constprop.0","H5FD__mpio_write","H5FD__mpio_write_selection","H5FD__mpio_write_vector","H5FD__onion_archival_index_find","H5FD__onion_archival_index_is_valid","H5FD__onion_archival_index_list_sort_cmp","H5FD__onion_close","H5FD__onion_ctl","H5FD__onion_get_eoa","H5FD__onion_get_eof","H5FD__onion_header_decode","H5FD__onion_header_encode","H5FD__onion_history_decode","H5FD__onion_history_encode","H5FD__onion_ingest_header","H5FD__onion_ingest_history","H5FD__onion_ingest_revision_record","H5FD__onion_merge_revision_index_into_archival_index","H5FD__onion_open","H5FD__onion_read","H5FD__onion_revision_index_destroy","H5FD__onion_revision_index_find","H5FD__onion_revision_index_init","H5FD__onion_revision_index_insert","H5FD__onion_revision_record_decode","H5FD__onion_revision_record_encode","H5FD__onion_sb_decode","H5FD__onion_sb_encode","H5FD__onion_sb_size","H5FD__onion_set_eoa","H5FD__onion_term","H5FD__onion_write","H5FD__onion_write_final_history","H5FD__onion_write_header","H5FD__onion_write_history","H5FD__read_selection_translate","H5FD__sec2_close","H5FD__sec2_cmp","H5FD__sec2_ctl","H5FD__sec2_delete","H5FD__sec2_get_eoa","H5FD__sec2_get_eof","H5FD__sec2_get_handle","H5FD__sec2_lock","H5FD__sec2_open","H5FD__sec2_query","H5FD__sec2_read","H5FD__sec2_set_eoa","H5FD__sec2_term","H5FD__sec2_truncate","H5FD__sec2_unlock","H5FD__sec2_write","H5FD__selection_build_types.constprop.0","H5FD__sort_io_req_real.constprop.0","H5FD__splitter_alloc","H5FD__splitter_close","H5FD__splitter_cmp","H5FD__splitter_ctl","H5FD__splitter_delete","H5FD__splitter_fapl_copy","H5FD__splitter_fapl_free","H5FD__splitter_fapl_get","H5FD__splitter_flush","H5FD__splitter_free","H5FD__splitter_get_default_wo_path.constprop.0","H5FD__splitter_get_eoa","H5FD__splitter_get_eof","H5FD__splitter_get_handle","H5FD__splitter_get_type_map","H5FD__splitter_lock","H5FD__splitter_log_error.part.0.isra.0","H5FD__splitter_open","H5FD__splitter_populate_config","H5FD__splitter_query","H5FD__splitter_read","H5FD__splitter_sb_decode","H5FD__splitter_sb_encode","H5FD__splitter_sb_size","H5FD__splitter_set_eoa","H5FD__splitter_term","H5FD__splitter_truncate","H5FD__splitter_unlock","H5FD__splitter_write","H5FD__srt_tmp_cmp","H5FD__supports_swmr_test","H5FD__write_selection_translate","H5FD_alloc","H5FD_check_plugin_load","H5FD_close","H5FD_cmp","H5FD_core_init","H5FD_ctl","H5FD_delete","H5FD_driver_query","H5FD_family_init","H5FD_fapl_get","H5FD_flush","H5FD_free","H5FD_free_driver_info","H5FD_get_base_addr","H5FD_get_class","H5FD_get_class.localalias","H5FD_get_driver_id_by_name","H5FD_get_driver_id_by_value","H5FD_get_eoa","H5FD_get_eof","H5FD_get_feature_flags","H5FD_get_fileno","H5FD_get_fs_type_map","H5FD_get_maxaddr","H5FD_get_mpio_atomicity","H5FD_get_vfd_handle","H5FD_init","H5FD_is_driver_registered_by_name","H5FD_is_driver_registered_by_value","H5FD_locate_signature","H5FD_lock","H5FD_log_init","H5FD_mpi_MPIOff_to_haddr","H5FD_mpi_get_comm","H5FD_mpi_get_file_sync_required","H5FD_mpi_get_info","H5FD_mpi_get_rank","H5FD_mpi_get_size","H5FD_mpi_haddr_to_MPIOff","H5FD_mpio_init","H5FD_multi_alloc","H5FD_multi_close","H5FD_multi_cmp","H5FD_multi_ctl","H5FD_multi_delete","H5FD_multi_fapl_copy","H5FD_multi_fapl_free","H5FD_multi_fapl_get","H5FD_multi_flush","H5FD_multi_free","H5FD_multi_get_eoa","H5FD_multi_get_eof","H5FD_multi_get_handle","H5FD_multi_get_type_map","H5FD_multi_init","H5FD_multi_lock","H5FD_multi_open","H5FD_multi_populate_config","H5FD_multi_query","H5FD_multi_read","H5FD_multi_sb_decode","H5FD_multi_sb_decode.part.0","H5FD_multi_sb_encode","H5FD_multi_sb_size","H5FD_multi_set_eoa","H5FD_multi_term","H5FD_multi_truncate","H5FD_multi_unlock","H5FD_multi_write","H5FD_onion_init","H5FD_open","H5FD_read","H5FD_read_from_selection","H5FD_read_selection","H5FD_read_selection_id","H5FD_read_vector","H5FD_read_vector_from_selection","H5FD_register","H5FD_register_driver_by_name","H5FD_register_driver_by_value","H5FD_sb_encode","H5FD_sb_load","H5FD_sb_size","H5FD_sec2_init","H5FD_set_base_addr","H5FD_set_eoa","H5FD_set_feature_flags","H5FD_set_mpio_atomicity","H5FD_set_paged_aggr","H5FD_sort_selection_io_req","H5FD_sort_vector_io_req","H5FD_split_populate_config.constprop.0","H5FD_splitter_init","H5FD_stdio_alloc","H5FD_stdio_close","H5FD_stdio_cmp","H5FD_stdio_delete","H5FD_stdio_flush","H5FD_stdio_get_eoa","H5FD_stdio_get_eof","H5FD_stdio_get_handle","H5FD_stdio_init","H5FD_stdio_lock","H5FD_stdio_open","H5FD_stdio_query","H5FD_stdio_read","H5FD_stdio_set_eoa","H5FD_stdio_term","H5FD_stdio_truncate","H5FD_stdio_unlock","H5FD_stdio_write","H5FD_term_package","H5FD_truncate","H5FD_try_extend","H5FD_unlock","H5FD_write","H5FD_write_from_selection","H5FD_write_selection","H5FD_write_selection_id","H5FD_write_vector","H5FD_write_vector_from_selection","H5FDalloc","H5FDclose","H5FDcmp","H5FDctl","H5FDdelete","H5FDdriver_query","H5FDflush","H5FDfree","H5FDget_eoa","H5FDget_eof","H5FDget_vfd_handle","H5FDis_driver_registered_by_name","H5FDis_driver_registered_by_value","H5FDlock","H5FDonion_get_revision_count","H5FDopen","H5FDperform_init","H5FDquery","H5FDread","H5FDread_from_selection","H5FDread_selection","H5FDread_vector","H5FDread_vector_from_selection","H5FDregister","H5FDset_eoa","H5FDtruncate","H5FDunlock","H5FDunregister","H5FDwrite","H5FDwrite_from_selection","H5FDwrite_selection","H5FDwrite_vector","H5FDwrite_vector_from_selection","H5FL__blk_create_list.part.0","H5FL__blk_gc_list","H5FL_arr_calloc","H5FL_arr_free","H5FL_arr_malloc","H5FL_arr_realloc","H5FL_blk_calloc","H5FL_blk_free","H5FL_blk_free_block_avail","H5FL_blk_malloc","H5FL_blk_realloc","H5FL_fac_calloc","H5FL_fac_free","H5FL_fac_init","H5FL_fac_malloc","H5FL_fac_term","H5FL_garbage_coll","H5FL_get_free_list_sizes","H5FL_reg_calloc","H5FL_reg_free","H5FL_reg_malloc","H5FL_seq_calloc","H5FL_seq_free","H5FL_seq_malloc","H5FL_seq_realloc","H5FL_set_free_list_limits","H5FL_term_package","H5FO_create","H5FO_delete","H5FO_dest","H5FO_insert","H5FO_mark","H5FO_marked","H5FO_opened","H5FO_top_count","H5FO_top_create","H5FO_top_decr","H5FO_top_dest","H5FO_top_incr","H5FS__cache_hdr_deserialize","H5FS__cache_hdr_free_icr","H5FS__cache_hdr_get_initial_load_size","H5FS__cache_hdr_image_len","H5FS__cache_hdr_notify","H5FS__cache_hdr_pre_serialize","H5FS__cache_hdr_serialize","H5FS__cache_hdr_verify_chksum","H5FS__cache_sinfo_deserialize","H5FS__cache_sinfo_free_icr","H5FS__cache_sinfo_get_initial_load_size","H5FS__cache_sinfo_image_len","H5FS__cache_sinfo_notify","H5FS__cache_sinfo_pre_serialize","H5FS__cache_sinfo_serialize","H5FS__cache_sinfo_verify_chksum","H5FS__cmp_cparam_test","H5FS__create_flush_depend","H5FS__decr","H5FS__destroy_flush_depend","H5FS__dirty","H5FS__get_cparam_test","H5FS__hdr_dest","H5FS__incr","H5FS__iterate_node_cb","H5FS__iterate_sect_cb","H5FS__new","H5FS__sect_init_cls.part.0","H5FS__sect_link","H5FS__sect_merge","H5FS__sect_node_new.part.0","H5FS__sect_remove_real","H5FS__sect_unlink_rest","H5FS__sinfo_dest","H5FS__sinfo_free_node_cb","H5FS__sinfo_free_sect_cb","H5FS__sinfo_lock","H5FS__sinfo_new","H5FS__sinfo_serialize_node_cb","H5FS__sinfo_serialize_sect_cb","H5FS__sinfo_unlock","H5FS__size_node_decr.isra.0","H5FS_alloc_hdr","H5FS_alloc_sect","H5FS_close","H5FS_create","H5FS_debug","H5FS_delete","H5FS_free","H5FS_get_sect_count","H5FS_open","H5FS_sect_add","H5FS_sect_change_class","H5FS_sect_debug","H5FS_sect_find","H5FS_sect_iterate","H5FS_sect_remove","H5FS_sect_stats","H5FS_sect_try_extend","H5FS_sect_try_merge","H5FS_sect_try_shrink_eoa","H5FS_sects_debug","H5FS_size","H5FS_stat_info","H5FS_vfd_alloc_hdr_and_section_info_if_needed","H5F_Kvalue","H5F__accum_adjust","H5F__accum_flush","H5F__accum_free","H5F__accum_read","H5F__accum_reset","H5F__accum_write","H5F__alloc","H5F__build_actual_name","H5F__build_name","H5F__cache_drvrinfo_deserialize","H5F__cache_drvrinfo_free_icr","H5F__cache_drvrinfo_get_final_load_size","H5F__cache_drvrinfo_get_initial_load_size","H5F__cache_drvrinfo_image_len","H5F__cache_drvrinfo_serialize","H5F__cache_superblock_deserialize","H5F__cache_superblock_free_icr","H5F__cache_superblock_get_final_load_size","H5F__cache_superblock_get_initial_load_size","H5F__cache_superblock_image_len","H5F__cache_superblock_serialize","H5F__cache_superblock_verify_chksum","H5F__check_cached_stab_test","H5F__close","H5F__close_cb","H5F__close_mounts","H5F__create_api_common","H5F__delete","H5F__dest","H5F__efc_create","H5F__efc_destroy","H5F__efc_max_nfiles","H5F__efc_open","H5F__efc_open_file","H5F__efc_release","H5F__efc_release_real","H5F__efc_try_close","H5F__efc_try_close_tag1.isra.0","H5F__efc_try_close_tag2.isra.0","H5F__evict_cache_entries","H5F__flush","H5F__flush_api_common","H5F__flush_mounts_recurse","H5F__flush_phase2","H5F__format_convert","H5F__free","H5F__get_all_count_cb","H5F__get_all_ids_cb","H5F__get_cont_info","H5F__get_file_image","H5F__get_info","H5F__get_max_eof_eoa","H5F__get_maxaddr_test","H5F__get_mpi_atomicity","H5F__get_objects_cb","H5F__get_sbe_addr_test","H5F__get_sohm_mesg_count_test","H5F__is_hdf5","H5F__mount_count_ids","H5F__mount_count_ids_recurse","H5F__new","H5F__open_api_common","H5F__parse_file_lock_env_var","H5F__post_open","H5F__post_open_api_common","H5F__reopen","H5F__reopen_api_common","H5F__reparse_file_lock_variable_test","H5F__same_file_test","H5F__set_base_addr","H5F__set_eoa","H5F__set_libver_bounds","H5F__set_mpi_atomicity","H5F__set_paged_aggr","H5F__sfile_add","H5F__sfile_remove","H5F__sfile_search","H5F__start_swmr_write","H5F__super_ext_close","H5F__super_ext_create","H5F__super_ext_open","H5F__super_ext_remove_msg","H5F__super_ext_write_msg","H5F__super_free","H5F__super_init","H5F__super_read","H5F__super_size","H5F__superblock_prefix_decode","H5F__try_extend","H5F__update_super_ext_driver_msg","H5F_addr_decode","H5F_addr_decode_len","H5F_addr_encode","H5F_addr_encode_len","H5F_block_read","H5F_block_write","H5F_coll_md_read","H5F_cwfs_add","H5F_cwfs_advance_heap","H5F_cwfs_find_free_heap","H5F_cwfs_remove_heap","H5F_debug","H5F_decr_nopen_objs","H5F_efc_close","H5F_eoa_dirty","H5F_fake_alloc","H5F_fake_free","H5F_file_id_exists","H5F_flush_mounts","H5F_flush_tagged_metadata","H5F_gc_ref","H5F_get_access_plist","H5F_get_actual_name","H5F_get_alignment","H5F_get_base_addr","H5F_get_checksums","H5F_get_coll_metadata_reads","H5F_get_driver_id","H5F_get_eoa","H5F_get_evict_on_close","H5F_get_extpath","H5F_get_fc_degree","H5F_get_fcpl","H5F_get_file_id","H5F_get_fileno","H5F_get_high_bound","H5F_get_id","H5F_get_intent","H5F_get_low_bound","H5F_get_metadata_read_retry_info","H5F_get_min_dset_ohdr","H5F_get_nmounts","H5F_get_nopen_objs","H5F_get_nrefs","H5F_get_null_fsm_addr","H5F_get_obj_count","H5F_get_obj_ids","H5F_get_open_name","H5F_get_parent","H5F_get_pgend_meta_thres","H5F_get_point_of_no_return","H5F_get_read_attempts","H5F_get_rfic_flags","H5F_get_shared","H5F_get_sohm_addr","H5F_get_sohm_nindexes","H5F_get_sohm_vers","H5F_get_threshold","H5F_get_use_file_locking","H5F_get_vfd_handle","H5F_get_vol_cls","H5F_get_vol_obj","H5F_grp_btree_shared","H5F_has_feature","H5F_has_vector_select_io","H5F_incr_nopen_objs","H5F_init","H5F_is_mount","H5F_is_tmp_addr","H5F_mdc_log_location","H5F_mount","H5F_mpi_get_comm","H5F_mpi_get_file_block_type","H5F_mpi_get_info","H5F_mpi_get_rank","H5F_mpi_get_size","H5F_mpi_retrieve_comm","H5F_object_flush_cb","H5F_open","H5F_prefix_open_file","H5F_rdcc_nbytes","H5F_rdcc_nslots","H5F_rdcc_w0","H5F_same_shared","H5F_set_coll_metadata_reads","H5F_set_grp_btree_shared","H5F_set_min_dset_ohdr","H5F_set_retries","H5F_set_sohm_addr","H5F_set_sohm_nindexes","H5F_set_sohm_vers","H5F_set_store_msg_crt_idx","H5F_sfile_assert_num","H5F_shared_block_read","H5F_shared_block_write","H5F_shared_coll_md_read","H5F_shared_get_coll_metadata_reads","H5F_shared_get_eoa","H5F_shared_get_file_driver","H5F_shared_get_intent","H5F_shared_get_mpi_file_sync_required","H5F_shared_has_feature","H5F_shared_mpi_get_size","H5F_shared_select_read","H5F_shared_select_write","H5F_shared_vector_read","H5F_shared_vector_write","H5F_sieve_buf_size","H5F_sizeof_addr","H5F_sizeof_size","H5F_start_mdc_log_on_access","H5F_store_msg_crt_idx","H5F_super_dirty","H5F_sym_leaf_k","H5F_term_package","H5F_track_metadata_read_retries","H5F_traverse_mount","H5F_try_close","H5F_try_close.localalias","H5F_unmount","H5F_use_mdc_logging","H5F_use_tmp_space","H5Fclear_elink_file_cache","H5Fclose","H5Fclose_async","H5Fcreate","H5Fcreate_async","H5Fdelete","H5Fflush","H5Fflush_async","H5Fformat_convert","H5Fget_access_plist","H5Fget_create_plist","H5Fget_dset_no_attrs_hint","H5Fget_eoa","H5Fget_file_image","H5Fget_fileno","H5Fget_filesize","H5Fget_free_sections","H5Fget_freespace","H5Fget_info1","H5Fget_info2","H5Fget_intent","H5Fget_mdc_config","H5Fget_mdc_hit_rate","H5Fget_mdc_image_info","H5Fget_mdc_logging_status","H5Fget_mdc_size","H5Fget_metadata_read_retry_info","H5Fget_mpi_atomicity","H5Fget_name","H5Fget_obj_count","H5Fget_obj_ids","H5Fget_page_buffering_stats","H5Fget_vfd_handle","H5Fincrement_filesize","H5Fis_accessible","H5Fis_hdf5","H5Fmount","H5Fopen","H5Fopen_async","H5Freopen","H5Freopen_async","H5Freset_mdc_hit_rate_stats","H5Freset_page_buffering_stats","H5Fset_dset_no_attrs_hint","H5Fset_latest_format","H5Fset_libver_bounds","H5Fset_mdc_config","H5Fset_mpi_atomicity","H5Fstart_mdc_logging","H5Fstart_swmr_write","H5Fstop_mdc_logging","H5Funmount","H5G__cache_node_deserialize","H5G__cache_node_free_icr","H5G__cache_node_get_initial_load_size","H5G__cache_node_image_len","H5G__cache_node_serialize","H5G__close_cb","H5G__common_path","H5G__compact_build_table_cb","H5G__compact_get_name_by_idx","H5G__compact_insert","H5G__compact_iterate","H5G__compact_lookup","H5G__compact_lookup_by_idx","H5G__compact_lookup_cb","H5G__compact_remove","H5G__compact_remove_by_idx","H5G__compact_remove_common_cb","H5G__component","H5G__create","H5G__create_named","H5G__dense_btree2_corder_compare","H5G__dense_btree2_corder_debug","H5G__dense_btree2_corder_decode","H5G__dense_btree2_corder_encode","H5G__dense_btree2_corder_store","H5G__dense_btree2_name_compare","H5G__dense_btree2_name_debug","H5G__dense_btree2_name_decode","H5G__dense_btree2_name_encode","H5G__dense_btree2_name_store","H5G__dense_build_table","H5G__dense_build_table_cb","H5G__dense_create","H5G__dense_delete","H5G__dense_fh_name_cmp","H5G__dense_get_name_by_idx","H5G__dense_get_name_by_idx_bt2_cb","H5G__dense_get_name_by_idx_fh_cb","H5G__dense_insert","H5G__dense_iterate","H5G__dense_iterate_bt2_cb","H5G__dense_iterate_fh_cb","H5G__dense_lookup","H5G__dense_lookup_by_idx","H5G__dense_lookup_by_idx_bt2_cb","H5G__dense_lookup_by_idx_fh_cb","H5G__dense_lookup_cb","H5G__dense_remove","H5G__dense_remove_bt2_cb","H5G__dense_remove_by_idx","H5G__dense_remove_by_idx_bt2_cb","H5G__dense_remove_by_idx_fh_cb","H5G__dense_remove_fh_cb","H5G__ent_copy","H5G__ent_debug","H5G__ent_decode_vec","H5G__ent_encode_vec","H5G__ent_reset","H5G__ent_to_link","H5G__free_visit_visited","H5G__get_info_by_idx","H5G__get_info_by_name","H5G__get_name_by_addr_cb","H5G__get_objinfo","H5G__get_objinfo_cb","H5G__has_links_test","H5G__has_stab_test","H5G__is_empty_test","H5G__is_new_dense_test","H5G__iterate_cb","H5G__lheap_size_test","H5G__link_cmp_corder_dec","H5G__link_cmp_corder_inc","H5G__link_cmp_name_dec","H5G__link_cmp_name_inc","H5G__link_iterate_table","H5G__link_name_replace","H5G__link_release_table","H5G__link_sort_table","H5G__link_to_ent","H5G__link_to_loc","H5G__loc_addr","H5G__loc_addr_cb","H5G__loc_exists_cb","H5G__loc_find_by_idx_cb","H5G__loc_find_cb","H5G__loc_get_comment_cb","H5G__loc_info_cb","H5G__loc_insert","H5G__loc_native_info_cb","H5G__loc_set_comment_cb","H5G__name_init","H5G__name_replace_cb","H5G__new_dense_info_test","H5G__node_build_table","H5G__node_by_idx","H5G__node_cmp2","H5G__node_cmp3","H5G__node_copy","H5G__node_create","H5G__node_debug_key","H5G__node_decode_key","H5G__node_encode_key","H5G__node_found","H5G__node_free","H5G__node_get_shared","H5G__node_init","H5G__node_insert","H5G__node_iterate","H5G__node_iterate_size","H5G__node_remove","H5G__node_sumup","H5G__obj_compact_to_dense_cb","H5G__obj_create","H5G__obj_create_real","H5G__obj_get_linfo","H5G__obj_info","H5G__obj_iterate","H5G__obj_lookup","H5G__obj_remove_update_linfo","H5G__obj_stab_to_new_cb","H5G__open_name","H5G__stab_bh_size","H5G__stab_count","H5G__stab_create","H5G__stab_create_components","H5G__stab_delete","H5G__stab_get_name_by_idx","H5G__stab_get_name_by_idx_cb","H5G__stab_insert","H5G__stab_insert_real","H5G__stab_iterate","H5G__stab_lookup","H5G__stab_lookup_by_idx","H5G__stab_lookup_by_idx_cb","H5G__stab_lookup_cb","H5G__stab_remove","H5G__stab_remove_by_idx","H5G__stab_valid","H5G__traverse_real","H5G__traverse_slink_cb","H5G__traverse_special","H5G__user_path_test","H5G__verify_cached_stab_test","H5G__verify_cached_stabs_test","H5G__verify_cached_stabs_test_cb","H5G__visit_cb","H5G_build_fullpath_refstr_str","H5G_close","H5G_ent_decode","H5G_ent_encode","H5G_fileof","H5G_get_create_plist","H5G_get_gcpl_id","H5G_get_name","H5G_get_name_by_addr","H5G_get_shared_count","H5G_init","H5G_iterate","H5G_link_to_info","H5G_loc","H5G_loc_copy","H5G_loc_exists","H5G_loc_find","H5G_loc_find_by_idx","H5G_loc_free","H5G_loc_get_comment","H5G_loc_info","H5G_loc_native_info","H5G_loc_real","H5G_loc_reset","H5G_loc_set_comment","H5G_map_obj_type","H5G_mkroot","H5G_mount","H5G_mounted","H5G_name_copy","H5G_name_free","H5G_name_replace","H5G_name_reset","H5G_name_set","H5G_nameof","H5G_node_close","H5G_node_debug","H5G_normalize","H5G_obj_get_name_by_idx","H5G_obj_insert","H5G_obj_insert.localalias","H5G_obj_lookup_by_idx","H5G_obj_remove","H5G_obj_remove_by_idx","H5G_oloc","H5G_open","H5G_root_free","H5G_root_loc","H5G_rootof","H5G_term_package","H5G_top_term_package","H5G_traverse","H5G_unmount","H5G_visit","H5Gclose","H5Gclose_async","H5Gcreate1","H5Gcreate2","H5Gcreate_anon","H5Gcreate_async","H5Gflush","H5Gget_comment","H5Gget_create_plist","H5Gget_info","H5Gget_info_async","H5Gget_info_by_idx","H5Gget_info_by_idx_async","H5Gget_info_by_name","H5Gget_info_by_name_async","H5Gget_linkval","H5Gget_num_objs","H5Gget_objinfo","H5Gget_objname_by_idx","H5Gget_objtype_by_idx","H5Giterate","H5Glink","H5Glink2","H5Gmove","H5Gmove2","H5Gopen1","H5Gopen2","H5Gopen_async","H5Grefresh","H5Gset_comment","H5Gunlink","H5HF__cache_dblock_deserialize","H5HF__cache_dblock_free_icr","H5HF__cache_dblock_fsf_size","H5HF__cache_dblock_get_initial_load_size","H5HF__cache_dblock_image_len","H5HF__cache_dblock_notify","H5HF__cache_dblock_pre_serialize","H5HF__cache_dblock_serialize","H5HF__cache_dblock_verify_chksum","H5HF__cache_hdr_deserialize","H5HF__cache_hdr_free_icr","H5HF__cache_hdr_get_final_load_size","H5HF__cache_hdr_get_initial_load_size","H5HF__cache_hdr_image_len","H5HF__cache_hdr_pre_serialize","H5HF__cache_hdr_serialize","H5HF__cache_hdr_verify_chksum","H5HF__cache_iblock_deserialize","H5HF__cache_iblock_free_icr","H5HF__cache_iblock_get_initial_load_size","H5HF__cache_iblock_image_len","H5HF__cache_iblock_notify","H5HF__cache_iblock_pre_serialize","H5HF__cache_iblock_serialize","H5HF__cache_iblock_verify_chksum","H5HF__dtable_dest","H5HF__dtable_init","H5HF__dtable_lookup","H5HF__dtable_size_to_row","H5HF__dtable_size_to_rows","H5HF__dtable_span_size","H5HF__hdr_adj_free","H5HF__hdr_adjust_heap","H5HF__hdr_alloc","H5HF__hdr_create","H5HF__hdr_decr","H5HF__hdr_delete","H5HF__hdr_dirty","H5HF__hdr_empty","H5HF__hdr_finish_init","H5HF__hdr_finish_init_phase1","H5HF__hdr_finish_init_phase2","H5HF__hdr_free","H5HF__hdr_fuse_decr","H5HF__hdr_fuse_incr","H5HF__hdr_inc_alloc","H5HF__hdr_inc_iter","H5HF__hdr_incr","H5HF__hdr_protect","H5HF__hdr_reset_iter","H5HF__hdr_reverse_iter","H5HF__hdr_skip_blocks","H5HF__hdr_start_iter","H5HF__hdr_update_iter","H5HF__huge_bt2_crt_context","H5HF__huge_bt2_dir_compare","H5HF__huge_bt2_dir_debug","H5HF__huge_bt2_dir_decode","H5HF__huge_bt2_dir_encode","H5HF__huge_bt2_dir_remove","H5HF__huge_bt2_dir_store","H5HF__huge_bt2_dst_context","H5HF__huge_bt2_filt_dir_compare","H5HF__huge_bt2_filt_dir_debug","H5HF__huge_bt2_filt_dir_decode","H5HF__huge_bt2_filt_dir_encode","H5HF__huge_bt2_filt_dir_found","H5HF__huge_bt2_filt_dir_remove","H5HF__huge_bt2_filt_dir_store","H5HF__huge_bt2_filt_indir_compare","H5HF__huge_bt2_filt_indir_debug","H5HF__huge_bt2_filt_indir_decode","H5HF__huge_bt2_filt_indir_encode","H5HF__huge_bt2_filt_indir_found","H5HF__huge_bt2_filt_indir_remove","H5HF__huge_bt2_filt_indir_store","H5HF__huge_bt2_indir_compare","H5HF__huge_bt2_indir_debug","H5HF__huge_bt2_indir_decode","H5HF__huge_bt2_indir_encode","H5HF__huge_bt2_indir_found","H5HF__huge_bt2_indir_remove","H5HF__huge_bt2_indir_store","H5HF__huge_delete","H5HF__huge_get_obj_len","H5HF__huge_get_obj_off","H5HF__huge_init","H5HF__huge_insert","H5HF__huge_op","H5HF__huge_op_real","H5HF__huge_read","H5HF__huge_remove","H5HF__huge_term","H5HF__huge_write","H5HF__iblock_decr","H5HF__iblock_dirty","H5HF__iblock_incr","H5HF__man_dblock_create","H5HF__man_dblock_delete","H5HF__man_dblock_dest","H5HF__man_dblock_destroy","H5HF__man_dblock_locate","H5HF__man_dblock_new","H5HF__man_dblock_protect","H5HF__man_get_obj_len","H5HF__man_get_obj_off","H5HF__man_iblock_alloc_row","H5HF__man_iblock_attach","H5HF__man_iblock_create","H5HF__man_iblock_delete","H5HF__man_iblock_delete.localalias","H5HF__man_iblock_dest","H5HF__man_iblock_detach","H5HF__man_iblock_detach.localalias","H5HF__man_iblock_entry_addr","H5HF__man_iblock_parent_info","H5HF__man_iblock_protect","H5HF__man_iblock_root_create","H5HF__man_iblock_root_double","H5HF__man_iblock_size","H5HF__man_iblock_size.localalias","H5HF__man_iblock_unprotect","H5HF__man_insert","H5HF__man_iter_curr","H5HF__man_iter_down","H5HF__man_iter_init","H5HF__man_iter_next","H5HF__man_iter_ready","H5HF__man_iter_reset","H5HF__man_iter_set_entry","H5HF__man_iter_start_entry","H5HF__man_iter_start_offset","H5HF__man_iter_up","H5HF__man_op","H5HF__man_op_real","H5HF__man_read","H5HF__man_remove","H5HF__man_write","H5HF__op_read","H5HF__op_write","H5HF__sect_indirect_add","H5HF__sect_indirect_decr","H5HF__sect_indirect_first","H5HF__sect_indirect_free","H5HF__sect_indirect_init_cls","H5HF__sect_indirect_init_rows","H5HF__sect_indirect_new","H5HF__sect_indirect_reduce","H5HF__sect_indirect_revive","H5HF__sect_indirect_serialize","H5HF__sect_indirect_shrink","H5HF__sect_indirect_term_cls","H5HF__sect_indirect_valid.isra.0","H5HF__sect_row_can_merge","H5HF__sect_row_can_shrink","H5HF__sect_row_debug","H5HF__sect_row_deserialize","H5HF__sect_row_first.part.0","H5HF__sect_row_free","H5HF__sect_row_get_iblock","H5HF__sect_row_init_cls","H5HF__sect_row_merge","H5HF__sect_row_reduce","H5HF__sect_row_revive","H5HF__sect_row_serialize","H5HF__sect_row_shrink","H5HF__sect_row_term_cls","H5HF__sect_row_valid","H5HF__sect_single_add","H5HF__sect_single_can_merge","H5HF__sect_single_can_shrink","H5HF__sect_single_dblock_info","H5HF__sect_single_deserialize","H5HF__sect_single_free","H5HF__sect_single_full_dblock","H5HF__sect_single_merge","H5HF__sect_single_new","H5HF__sect_single_reduce","H5HF__sect_single_revive","H5HF__sect_single_shrink","H5HF__sect_single_valid","H5HF__space_add","H5HF__space_close","H5HF__space_create_root","H5HF__space_create_root_cb","H5HF__space_delete","H5HF__space_find","H5HF__space_remove","H5HF__space_revert_root","H5HF__space_revert_root_cb","H5HF__space_sect_change_class","H5HF__space_size","H5HF__space_start","H5HF__tiny_get_obj_len","H5HF__tiny_init","H5HF__tiny_insert","H5HF__tiny_op","H5HF__tiny_read","H5HF__tiny_remove","H5HF_close","H5HF_cmp_cparam_test","H5HF_create","H5HF_dblock_debug","H5HF_dblock_debug_cb","H5HF_delete","H5HF_get_cparam_test","H5HF_get_dblock_free_test","H5HF_get_dblock_size_test","H5HF_get_dtable_max_drows_test","H5HF_get_dtable_width_test","H5HF_get_heap_addr","H5HF_get_huge_info_test","H5HF_get_iblock_max_drows_test","H5HF_get_id_len","H5HF_get_id_off_test","H5HF_get_id_type_test","H5HF_get_max_root_rows","H5HF_get_obj_len","H5HF_get_obj_off","H5HF_get_tiny_info_test","H5HF_hdr_debug","H5HF_hdr_print","H5HF_iblock_debug","H5HF_iblock_print","H5HF_iblock_print.localalias","H5HF_id_print","H5HF_insert","H5HF_op","H5HF_open","H5HF_read","H5HF_remove","H5HF_sects_debug","H5HF_sects_debug_cb","H5HF_size","H5HF_stat_info","H5HF_write","H5HG__cache_heap_deserialize","H5HG__cache_heap_free_icr","H5HG__cache_heap_get_final_load_size","H5HG__cache_heap_get_initial_load_size","H5HG__cache_heap_image_len","H5HG__cache_heap_serialize","H5HG__free","H5HG__protect","H5HG_debug","H5HG_extend","H5HG_get_addr","H5HG_get_free_size","H5HG_get_obj_size","H5HG_get_size","H5HG_insert","H5HG_link","H5HG_read","H5HG_remove","H5HL__cache_datablock_deserialize","H5HL__cache_datablock_free_icr","H5HL__cache_datablock_get_initial_load_size","H5HL__cache_datablock_image_len","H5HL__cache_datablock_notify","H5HL__cache_datablock_serialize","H5HL__cache_prefix_deserialize","H5HL__cache_prefix_free_icr","H5HL__cache_prefix_get_final_load_size","H5HL__cache_prefix_get_initial_load_size","H5HL__cache_prefix_image_len","H5HL__cache_prefix_serialize","H5HL__dblk_dest","H5HL__dblk_new","H5HL__dblk_realloc","H5HL__dec_rc","H5HL__dest","H5HL__fl_deserialize","H5HL__fl_serialize","H5HL__hdr_deserialize","H5HL__inc_rc","H5HL__minimize_heap_space","H5HL__new","H5HL__prfx_dest","H5HL__prfx_new","H5HL_create","H5HL_debug","H5HL_delete","H5HL_get_size","H5HL_heap_get_size","H5HL_heapsize","H5HL_insert","H5HL_offset_into","H5HL_protect","H5HL_remove","H5HL_unprotect","H5I__destroy_type","H5I__find_id","H5I__get_name_test","H5I__get_type_ref","H5I__inc_type_ref","H5I__iterate_pub_cb","H5I__register","H5I__remove_common","H5I__remove_verify","H5I__search_cb","H5I_clear_type","H5I_dec_app_ref","H5I_dec_app_ref_always_close","H5I_dec_app_ref_always_close_async","H5I_dec_app_ref_async","H5I_dec_ref","H5I_dec_type_ref","H5I_dump_ids_for_type","H5I_find_id","H5I_get_ref","H5I_get_type","H5I_inc_ref","H5I_is_file_object","H5I_iterate","H5I_nmembers","H5I_object","H5I_object_verify","H5I_register","H5I_register_type","H5I_register_using_existing_id","H5I_remove","H5I_subst","H5I_term_package","H5Iclear_type","H5Idec_ref","H5Idec_type_ref","H5Idestroy_type","H5Iget_file_id","H5Iget_name","H5Iget_ref","H5Iget_type","H5Iget_type_ref","H5Iinc_ref","H5Iinc_type_ref","H5Iis_valid","H5Iiterate","H5Inmembers","H5Iobject_verify","H5Iregister","H5Iregister_future","H5Iregister_type","H5Iremove_verify","H5Isearch","H5Itype_exists","H5L__create_hard","H5L__create_hard_api_common","H5L__create_real","H5L__create_soft","H5L__create_soft_api_common","H5L__create_ud","H5L__delete","H5L__delete_by_idx","H5L__delete_by_idx_cb","H5L__delete_cb","H5L__exists","H5L__exists_final_cb","H5L__exists_inter_cb","H5L__extern_query","H5L__extern_traverse","H5L__get_info_by_idx","H5L__get_info_by_idx_cb","H5L__get_info_cb","H5L__get_name_by_idx","H5L__get_name_by_idx_cb","H5L__get_val","H5L__get_val_by_idx","H5L__get_val_by_idx_cb","H5L__get_val_cb","H5L__iterate2_shim","H5L__link_cb","H5L__link_copy_file","H5L__move","H5L__move_cb","H5L__move_dest_cb","H5L_exists_tolerant","H5L_find_class","H5L_get_info","H5L_get_ocrt_info","H5L_init","H5L_is_registered","H5L_iterate","H5L_link","H5L_link_object","H5L_register","H5L_register_external","H5L_term_package","H5L_unregister","H5Lcopy","H5Lcreate_external","H5Lcreate_hard","H5Lcreate_hard_async","H5Lcreate_soft","H5Lcreate_soft_async","H5Lcreate_ud","H5Ldelete","H5Ldelete_async","H5Ldelete_by_idx","H5Ldelete_by_idx_async","H5Lexists","H5Lexists_async","H5Lget_info1","H5Lget_info2","H5Lget_info_by_idx1","H5Lget_info_by_idx2","H5Lget_name_by_idx","H5Lget_val","H5Lget_val_by_idx","H5Lis_registered","H5Literate1","H5Literate2","H5Literate_async","H5Literate_by_name1","H5Literate_by_name2","H5Lmove","H5Lregister","H5Lunpack_elink_val","H5Lunregister","H5Lvisit1","H5Lvisit2","H5Lvisit_by_name1","H5Lvisit_by_name2","H5MF__add_sect","H5MF__aggr_absorb","H5MF__aggr_alloc","H5MF__aggr_can_absorb","H5MF__aggr_query","H5MF__aggr_try_extend","H5MF__aggrs_try_shrink_eoa","H5MF__alloc_to_fs_type","H5MF__close_delete_fstype","H5MF__close_shrink_eoa","H5MF__find_sect","H5MF__fsm_is_self_referential","H5MF__fsm_type_is_self_referential","H5MF__open_fstype","H5MF__sect_deserialize","H5MF__sect_free","H5MF__sect_large_can_merge","H5MF__sect_large_can_shrink","H5MF__sect_large_merge","H5MF__sect_large_shrink","H5MF__sect_new","H5MF__sect_simple_can_merge","H5MF__sect_simple_can_shrink","H5MF__sect_simple_merge","H5MF__sect_simple_shrink","H5MF__sect_small_add","H5MF__sect_small_can_merge","H5MF__sect_small_merge","H5MF__sect_split","H5MF__sect_valid","H5MF__sects_cb","H5MF__sects_debug_cb","H5MF__start_fstype","H5MF_aggr_vfd_alloc","H5MF_alloc","H5MF_alloc_tmp","H5MF_close","H5MF_free_aggrs","H5MF_get_free_sections","H5MF_get_freespace","H5MF_init_merge_flags","H5MF_sects_debug","H5MF_settle_meta_data_fsm","H5MF_settle_raw_data_fsm","H5MF_try_close","H5MF_try_extend","H5MF_try_shrink","H5MF_xfree","H5MM_realloc","H5MM_strdup","H5MM_strndup","H5MM_xfree","H5MM_xfree_const","H5MM_xstrdup","H5M__close_cb","H5M_init","H5M_term_package","H5M_top_term_package","H5O__add_gap.constprop.0","H5O__ainfo_copy","H5O__ainfo_copy_file","H5O__ainfo_debug","H5O__ainfo_decode","H5O__ainfo_delete","H5O__ainfo_encode","H5O__ainfo_free","H5O__ainfo_post_copy_file","H5O__ainfo_pre_copy_file","H5O__ainfo_size","H5O__alloc","H5O__alloc_chunk","H5O__alloc_find_best_null","H5O__alloc_msgs","H5O__alloc_null","H5O__are_mdc_flushes_disabled","H5O__attr_bh_info","H5O__attr_copy","H5O__attr_count_real","H5O__attr_create","H5O__attr_delete","H5O__attr_dense_info_test","H5O__attr_exists","H5O__attr_exists_cb","H5O__attr_find_opened_attr","H5O__attr_free","H5O__attr_get_crt_index","H5O__attr_iterate","H5O__attr_link","H5O__attr_open_by_idx","H5O__attr_open_by_idx_cb","H5O__attr_open_by_name","H5O__attr_open_cb","H5O__attr_pre_copy_file","H5O__attr_remove","H5O__attr_remove_by_idx","H5O__attr_remove_cb","H5O__attr_remove_update","H5O__attr_rename","H5O__attr_rename_chk_cb","H5O__attr_rename_mod_cb","H5O__attr_reset","H5O__attr_set_crt_index","H5O__attr_shared_copy_file","H5O__attr_shared_debug","H5O__attr_shared_decode","H5O__attr_shared_delete","H5O__attr_shared_encode","H5O__attr_shared_link","H5O__attr_shared_post_copy_file","H5O__attr_shared_size","H5O__attr_to_dense_cb","H5O__attr_update_shared","H5O__attr_write","H5O__attr_write_cb","H5O__btreek_copy","H5O__btreek_debug","H5O__btreek_decode","H5O__btreek_encode","H5O__btreek_size","H5O__cache_chk_deserialize","H5O__cache_chk_free_icr","H5O__cache_chk_get_initial_load_size","H5O__cache_chk_image_len","H5O__cache_chk_notify","H5O__cache_chk_serialize","H5O__cache_chk_verify_chksum","H5O__cache_deserialize","H5O__cache_free_icr","H5O__cache_get_final_load_size","H5O__cache_get_initial_load_size","H5O__cache_image_len","H5O__cache_notify","H5O__cache_serialize","H5O__cache_verify_chksum","H5O__check_msg_marked_test","H5O__chunk_add","H5O__chunk_delete","H5O__chunk_deserialize","H5O__chunk_dest","H5O__chunk_protect","H5O__chunk_resize","H5O__chunk_serialize","H5O__chunk_unprotect","H5O__chunk_update_idx","H5O__condense_header","H5O__cont_debug","H5O__cont_decode","H5O__cont_delete","H5O__cont_encode","H5O__cont_free","H5O__cont_size","H5O__copy","H5O__copy_api_common","H5O__copy_comm_dt_cmp","H5O__copy_free_addrmap_cb","H5O__copy_free_comm_dt_cb","H5O__copy_header_real","H5O__copy_obj_by_ref","H5O__copy_search_comm_dt_attr_cb","H5O__copy_search_comm_dt_cb","H5O__copy_search_comm_dt_check","H5O__debug_real","H5O__dec_rc","H5O__delete_mesg","H5O__disable_mdc_flushes","H5O__drvinfo_copy","H5O__drvinfo_debug","H5O__drvinfo_decode","H5O__drvinfo_encode","H5O__drvinfo_reset","H5O__drvinfo_size","H5O__dset_bh_info","H5O__dset_create","H5O__dset_flush","H5O__dset_free_copy_file_udata","H5O__dset_get_copy_file_udata","H5O__dset_get_oloc","H5O__dset_isa","H5O__dset_open","H5O__dtype_can_share","H5O__dtype_copy","H5O__dtype_create","H5O__dtype_debug.isra.0","H5O__dtype_decode_helper","H5O__dtype_encode_helper","H5O__dtype_encode_helper.cold","H5O__dtype_free","H5O__dtype_get_oloc","H5O__dtype_isa","H5O__dtype_open","H5O__dtype_pre_copy_file","H5O__dtype_reset","H5O__dtype_set_share","H5O__dtype_shared_copy_file","H5O__dtype_shared_debug","H5O__dtype_shared_decode","H5O__dtype_shared_delete","H5O__dtype_shared_encode","H5O__dtype_shared_link","H5O__dtype_shared_post_copy_file","H5O__dtype_shared_size","H5O__dtype_size.isra.0","H5O__efl_copy","H5O__efl_copy_file","H5O__efl_debug","H5O__efl_decode","H5O__efl_encode","H5O__efl_reset","H5O__efl_size","H5O__eliminate_gap","H5O__enable_mdc_flushes","H5O__expunge_chunks_test","H5O__fill_copy","H5O__fill_debug.constprop.0","H5O__fill_free","H5O__fill_new_shared_copy_file","H5O__fill_new_shared_debug","H5O__fill_new_shared_decode","H5O__fill_new_shared_delete","H5O__fill_new_shared_encode","H5O__fill_new_shared_link","H5O__fill_new_shared_post_copy_file","H5O__fill_new_shared_size","H5O__fill_pre_copy_file","H5O__fill_reset","H5O__fill_shared_copy_file","H5O__fill_shared_debug","H5O__fill_shared_decode","H5O__fill_shared_delete","H5O__fill_shared_encode","H5O__fill_shared_link","H5O__fill_shared_post_copy_file","H5O__fill_shared_size","H5O__flush_msgs","H5O__free","H5O__free_visit_visited","H5O__fsinfo_copy","H5O__fsinfo_debug","H5O__fsinfo_decode","H5O__fsinfo_encode","H5O__fsinfo_free","H5O__fsinfo_size","H5O__get_hdr_info_real","H5O__get_info_old","H5O__get_rc_test","H5O__ginfo_copy","H5O__ginfo_debug","H5O__ginfo_decode","H5O__ginfo_encode","H5O__ginfo_free","H5O__ginfo_size","H5O__group_bh_info","H5O__group_create","H5O__group_free_copy_file_udata","H5O__group_get_copy_file_udata","H5O__group_get_oloc","H5O__group_isa","H5O__group_open","H5O__inc_rc","H5O__is_attr_dense_test","H5O__is_attr_empty_test","H5O__iterate1_adapter","H5O__layout_copy","H5O__layout_copy_file","H5O__layout_debug","H5O__layout_decode","H5O__layout_delete","H5O__layout_encode","H5O__layout_free","H5O__layout_pre_copy_file","H5O__layout_reset","H5O__layout_reset.part.0","H5O__layout_size","H5O__linfo_copy","H5O__linfo_copy.part.0","H5O__linfo_copy_file","H5O__linfo_debug","H5O__linfo_decode","H5O__linfo_delete","H5O__linfo_encode","H5O__linfo_free","H5O__linfo_post_copy_file","H5O__linfo_post_copy_file_cb","H5O__linfo_size","H5O__link_copy","H5O__link_copy_file","H5O__link_debug","H5O__link_decode","H5O__link_encode","H5O__link_free","H5O__link_oh","H5O__link_post_copy_file","H5O__link_pre_copy_file","H5O__link_reset","H5O__link_size","H5O__mdci_copy","H5O__mdci_debug","H5O__mdci_decode","H5O__mdci_delete","H5O__mdci_encode","H5O__mdci_free","H5O__mdci_size","H5O__msg_alloc","H5O__msg_append_real","H5O__msg_copy_file","H5O__msg_count_real","H5O__msg_free_mesg","H5O__msg_get_chunkno_test","H5O__msg_iterate_real","H5O__msg_move_to_new_chunk_test","H5O__msg_remove_cb","H5O__msg_remove_real","H5O__msg_write_real","H5O__mtime_copy","H5O__mtime_debug","H5O__mtime_decode","H5O__mtime_encode","H5O__mtime_free","H5O__mtime_new_decode","H5O__mtime_new_encode","H5O__mtime_new_size","H5O__mtime_size","H5O__name_copy","H5O__name_debug","H5O__name_decode","H5O__name_encode","H5O__name_reset","H5O__name_size","H5O__num_attrs_test","H5O__obj_class","H5O__obj_class_real","H5O__open_by_addr","H5O__open_by_idx","H5O__pline_copy","H5O__pline_free","H5O__pline_pre_copy_file","H5O__pline_reset","H5O__pline_shared_copy_file","H5O__pline_shared_debug","H5O__pline_shared_decode","H5O__pline_shared_delete","H5O__pline_shared_encode","H5O__pline_shared_link","H5O__pline_shared_post_copy_file","H5O__pline_shared_size","H5O__prefix_deserialize","H5O__refcount_copy","H5O__refcount_debug","H5O__refcount_decode","H5O__refcount_encode","H5O__refcount_free","H5O__refcount_pre_copy_file","H5O__refcount_size","H5O__release_mesg","H5O__remove_empty_chunks","H5O__sdspace_copy","H5O__sdspace_free","H5O__sdspace_pre_copy_file","H5O__sdspace_reset","H5O__sdspace_shared_copy_file","H5O__sdspace_shared_debug","H5O__sdspace_shared_decode","H5O__sdspace_shared_delete","H5O__sdspace_shared_encode","H5O__sdspace_shared_link","H5O__sdspace_shared_post_copy_file","H5O__sdspace_shared_size","H5O__shared_copy_file","H5O__shared_debug","H5O__shared_decode","H5O__shared_delete","H5O__shared_encode","H5O__shared_link","H5O__shared_post_copy_file","H5O__shared_size","H5O__shmesg_copy","H5O__shmesg_debug","H5O__shmesg_decode","H5O__shmesg_encode","H5O__shmesg_size","H5O__stab_copy","H5O__stab_copy_file","H5O__stab_debug","H5O__stab_decode","H5O__stab_delete","H5O__stab_encode","H5O__stab_free","H5O__stab_post_copy_file","H5O__stab_size","H5O__unknown_free","H5O__visit","H5O__visit_cb","H5O_apply_ohdr","H5O_attr_iterate_real","H5O_close","H5O_copy_expand_ref","H5O_copy_header_map","H5O_create","H5O_create_ohdr","H5O_debug","H5O_debug_id","H5O_dec_rc_by_loc","H5O_delete","H5O_efl_total_size","H5O_fill_convert","H5O_fill_reset_dyn","H5O_fill_set_version","H5O_flush","H5O_flush_common","H5O_fsinfo_check_version","H5O_fsinfo_set_version","H5O_get_create_plist","H5O_get_hdr_info","H5O_get_info","H5O_get_loc","H5O_get_native_info","H5O_get_nlinks","H5O_get_oh_addr","H5O_get_oh_flags","H5O_get_oh_mtime","H5O_get_oh_version","H5O_get_proxy","H5O_get_rc_and_type","H5O_has_chksum","H5O_init","H5O_link","H5O_link_delete","H5O_loc_copy","H5O_loc_copy_deep","H5O_loc_copy_shallow","H5O_loc_free","H5O_loc_hold_file","H5O_loc_reset","H5O_msg_append_oh","H5O_msg_can_share","H5O_msg_can_share_in_ohdr","H5O_msg_copy","H5O_msg_count","H5O_msg_create","H5O_msg_decode","H5O_msg_delete","H5O_msg_encode","H5O_msg_exists","H5O_msg_exists_oh","H5O_msg_flush","H5O_msg_free","H5O_msg_free_real","H5O_msg_get_crt_index","H5O_msg_get_flags","H5O_msg_is_shared","H5O_msg_iterate","H5O_msg_raw_size","H5O_msg_read","H5O_msg_read_oh","H5O_msg_remove","H5O_msg_remove_op","H5O_msg_reset","H5O_msg_reset_share","H5O_msg_set_share","H5O_msg_size_f","H5O_msg_size_oh","H5O_msg_write","H5O_msg_write_oh","H5O_obj_create","H5O_obj_type","H5O_open","H5O_open_by_loc","H5O_open_name","H5O_pin","H5O_pline_set_version","H5O_protect","H5O_refresh_metadata","H5O_refresh_metadata_reopen","H5O_set_shared","H5O_touch","H5O_touch_oh","H5O_unpin","H5O_unprotect","H5Oare_mdc_flushes_disabled","H5Oclose","H5Oclose_async","H5Ocopy","H5Ocopy_async","H5Odecr_refcount","H5Odisable_mdc_flushes","H5Oenable_mdc_flushes","H5Oexists_by_name","H5Oflush","H5Oflush_async","H5Oget_comment","H5Oget_comment_by_name","H5Oget_info1","H5Oget_info2","H5Oget_info3","H5Oget_info_by_idx1","H5Oget_info_by_idx2","H5Oget_info_by_idx3","H5Oget_info_by_name1","H5Oget_info_by_name2","H5Oget_info_by_name3","H5Oget_info_by_name_async","H5Oget_native_info","H5Oget_native_info_by_idx","H5Oget_native_info_by_name","H5Oincr_refcount","H5Olink","H5Oopen","H5Oopen_async","H5Oopen_by_addr","H5Oopen_by_idx","H5Oopen_by_idx_async","H5Oopen_by_token","H5Orefresh","H5Orefresh_async","H5Oset_comment","H5Oset_comment_by_name","H5Otoken_cmp","H5Otoken_from_str","H5Otoken_to_str","H5Ovisit1","H5Ovisit2","H5Ovisit3","H5Ovisit_by_name1","H5Ovisit_by_name2","H5Ovisit_by_name3","H5PB__dest_cb","H5PB__flush_cb","H5PB__make_space","H5PB_add_new_page","H5PB_create","H5PB_dest","H5PB_enabled","H5PB_flush","H5PB_get_stats","H5PB_print_stats","H5PB_read","H5PB_remove_entry","H5PB_reset_stats","H5PB_update_entry","H5PB_write","H5PL__add_plugin","H5PL__append_path","H5PL__close","H5PL__close_path_table","H5PL__close_plugin_cache","H5PL__create_path_table","H5PL__create_plugin_cache","H5PL__find_plugin_in_cache","H5PL__find_plugin_in_path_table","H5PL__get_num_paths","H5PL__get_path","H5PL__get_plugin_control_mask","H5PL__insert_at","H5PL__insert_path","H5PL__open","H5PL__path_table_iterate","H5PL__prepend_path","H5PL__remove_path","H5PL__replace_path","H5PL__set_plugin_control_mask","H5PL_init","H5PL_iterate","H5PL_load","H5PL_term_package","H5PLappend","H5PLget","H5PLget_loading_state","H5PLinsert","H5PLprepend","H5PLremove","H5PLreplace","H5PLset_loading_state","H5PLsize","H5P__access_class","H5P__access_class.localalias","H5P__add_prop","H5P__class_get","H5P__class_set","H5P__close_class","H5P__close_class_cb","H5P__close_list_cb","H5P__cmp_class","H5P__cmp_plist","H5P__cmp_plist_cb","H5P__cmp_prop.part.0","H5P__copy_merge_comm_dt_list","H5P__copy_pclass","H5P__copy_prop_pclass","H5P__copy_prop_plist","H5P__create_class","H5P__create_prop","H5P__dacc_reg_prop","H5P__dacc_vds_view_dec","H5P__dacc_vds_view_enc","H5P__dapl_efile_pref_close","H5P__dapl_efile_pref_cmp","H5P__dapl_efile_pref_copy","H5P__dapl_efile_pref_dec","H5P__dapl_efile_pref_del","H5P__dapl_efile_pref_enc","H5P__dapl_efile_pref_get","H5P__dapl_efile_pref_set","H5P__dapl_vds_file_pref_close","H5P__dapl_vds_file_pref_cmp","H5P__dapl_vds_file_pref_copy","H5P__dapl_vds_file_pref_dec","H5P__dapl_vds_file_pref_del","H5P__dapl_vds_file_pref_enc","H5P__dapl_vds_file_pref_get","H5P__dapl_vds_file_pref_set","H5P__dcrt_ext_file_list_close","H5P__dcrt_ext_file_list_cmp","H5P__dcrt_ext_file_list_copy","H5P__dcrt_ext_file_list_dec","H5P__dcrt_ext_file_list_del","H5P__dcrt_ext_file_list_enc","H5P__dcrt_ext_file_list_get","H5P__dcrt_ext_file_list_set","H5P__dcrt_fill_value_close","H5P__dcrt_fill_value_copy","H5P__dcrt_fill_value_dec","H5P__dcrt_fill_value_del","H5P__dcrt_fill_value_enc","H5P__dcrt_fill_value_get","H5P__dcrt_fill_value_set","H5P__dcrt_layout_close","H5P__dcrt_layout_cmp","H5P__dcrt_layout_copy","H5P__dcrt_layout_dec","H5P__dcrt_layout_del","H5P__dcrt_layout_enc","H5P__dcrt_layout_get","H5P__dcrt_layout_set","H5P__dcrt_reg_prop","H5P__decode","H5P__decode_bool","H5P__decode_chunk_cache_nbytes","H5P__decode_chunk_cache_nslots","H5P__decode_coll_md_read_flag_t","H5P__decode_double","H5P__decode_hsize_t","H5P__decode_size_t","H5P__decode_uint64_t","H5P__decode_uint8_t","H5P__decode_unsigned","H5P__do_prop_cb1","H5P__dup_prop","H5P__dxfr_bkgr_buf_type_dec","H5P__dxfr_bkgr_buf_type_enc","H5P__dxfr_btree_split_ratio_dec","H5P__dxfr_btree_split_ratio_enc","H5P__dxfr_dset_io_hyp_sel_close","H5P__dxfr_dset_io_hyp_sel_cmp","H5P__dxfr_dset_io_hyp_sel_copy","H5P__dxfr_edc_dec","H5P__dxfr_edc_enc","H5P__dxfr_io_xfer_mode_dec","H5P__dxfr_io_xfer_mode_enc","H5P__dxfr_modify_write_buf_dec","H5P__dxfr_modify_write_buf_enc","H5P__dxfr_mpio_chunk_opt_hard_dec","H5P__dxfr_mpio_chunk_opt_hard_enc","H5P__dxfr_mpio_collective_opt_dec","H5P__dxfr_mpio_collective_opt_enc","H5P__dxfr_reg_prop","H5P__dxfr_selection_io_mode_dec","H5P__dxfr_selection_io_mode_enc","H5P__dxfr_xform_close","H5P__dxfr_xform_cmp","H5P__dxfr_xform_copy","H5P__dxfr_xform_dec","H5P__dxfr_xform_del","H5P__dxfr_xform_enc","H5P__dxfr_xform_get","H5P__dxfr_xform_set","H5P__encode","H5P__encode_bool","H5P__encode_cb","H5P__encode_chunk_cache_nbytes","H5P__encode_chunk_cache_nslots","H5P__encode_coll_md_read_flag_t","H5P__encode_double","H5P__encode_hsize_t","H5P__encode_size_t","H5P__encode_uint64_t","H5P__encode_uint8_t","H5P__encode_unsigned","H5P__exist_pclass","H5P__facc_cache_config_cmp","H5P__facc_cache_config_dec","H5P__facc_cache_config_enc","H5P__facc_cache_image_config_cmp","H5P__facc_cache_image_config_dec","H5P__facc_cache_image_config_enc","H5P__facc_fclose_degree_dec","H5P__facc_fclose_degree_enc","H5P__facc_file_driver_close","H5P__facc_file_driver_cmp","H5P__facc_file_driver_copy","H5P__facc_file_driver_create","H5P__facc_file_driver_del","H5P__facc_file_driver_get","H5P__facc_file_driver_set","H5P__facc_file_image_info_close","H5P__facc_file_image_info_cmp","H5P__facc_file_image_info_copy","H5P__facc_file_image_info_del","H5P__facc_file_image_info_get","H5P__facc_file_image_info_set","H5P__facc_libver_type_dec","H5P__facc_libver_type_enc","H5P__facc_mdc_log_location_close","H5P__facc_mdc_log_location_cmp","H5P__facc_mdc_log_location_copy","H5P__facc_mdc_log_location_dec","H5P__facc_mdc_log_location_del","H5P__facc_mdc_log_location_enc","H5P__facc_mpi_comm_close","H5P__facc_mpi_comm_cmp","H5P__facc_mpi_comm_copy","H5P__facc_mpi_comm_del","H5P__facc_mpi_comm_get","H5P__facc_mpi_comm_set","H5P__facc_mpi_info_close","H5P__facc_mpi_info_cmp","H5P__facc_mpi_info_copy","H5P__facc_mpi_info_del","H5P__facc_mpi_info_get","H5P__facc_mpi_info_set","H5P__facc_multi_type_dec","H5P__facc_multi_type_enc","H5P__facc_reg_prop","H5P__facc_set_def_driver","H5P__facc_vol_close","H5P__facc_vol_cmp","H5P__facc_vol_copy","H5P__facc_vol_create","H5P__facc_vol_del","H5P__facc_vol_get","H5P__facc_vol_set","H5P__fcrt_btree_rank_dec","H5P__fcrt_btree_rank_enc","H5P__fcrt_fspace_strategy_dec","H5P__fcrt_fspace_strategy_enc","H5P__fcrt_reg_prop","H5P__fcrt_shmsg_index_minsize_dec","H5P__fcrt_shmsg_index_minsize_enc","H5P__fcrt_shmsg_index_types_dec","H5P__fcrt_shmsg_index_types_enc","H5P__find_prop_plist","H5P__fmnt_reg_prop","H5P__free_del_name_cb","H5P__free_prop_cb","H5P__gcrt_group_info_dec","H5P__gcrt_group_info_enc","H5P__gcrt_link_info_dec","H5P__gcrt_link_info_enc","H5P__gcrt_reg_prop","H5P__get_cb","H5P__get_class_parent","H5P__get_class_path","H5P__get_class_path.localalias","H5P__get_class_path_test","H5P__get_filter","H5P__get_nprops_plist","H5P__get_size_pclass","H5P__get_size_plist","H5P__iterate_cb","H5P__iterate_pclass","H5P__iterate_pclass_cb","H5P__iterate_plist","H5P__iterate_plist_cb","H5P__iterate_plist_pclass_cb","H5P__lacc_elink_fapl_close","H5P__lacc_elink_fapl_cmp","H5P__lacc_elink_fapl_copy","H5P__lacc_elink_fapl_dec","H5P__lacc_elink_fapl_del","H5P__lacc_elink_fapl_enc","H5P__lacc_elink_fapl_get","H5P__lacc_elink_fapl_set","H5P__lacc_elink_pref_close","H5P__lacc_elink_pref_cmp","H5P__lacc_elink_pref_copy","H5P__lacc_elink_pref_dec","H5P__lacc_elink_pref_del","H5P__lacc_elink_pref_enc","H5P__lacc_elink_pref_get","H5P__lacc_elink_pref_set","H5P__lacc_reg_prop","H5P__lcrt_reg_prop","H5P__macc_reg_prop","H5P__mcrt_reg_prop","H5P__new_plist_of_type","H5P__ocpy_merge_comm_dt_list_close","H5P__ocpy_merge_comm_dt_list_cmp","H5P__ocpy_merge_comm_dt_list_copy","H5P__ocpy_merge_comm_dt_list_dec","H5P__ocpy_merge_comm_dt_list_del","H5P__ocpy_merge_comm_dt_list_enc","H5P__ocpy_merge_comm_dt_list_enc.cold","H5P__ocpy_merge_comm_dt_list_get","H5P__ocpy_merge_comm_dt_list_set","H5P__ocpy_reg_prop","H5P__ocrt_pipeline_close","H5P__ocrt_pipeline_cmp","H5P__ocrt_pipeline_copy","H5P__ocrt_pipeline_dec","H5P__ocrt_pipeline_del","H5P__ocrt_pipeline_enc","H5P__ocrt_pipeline_get","H5P__ocrt_pipeline_set","H5P__ocrt_reg_prop","H5P__open_class_path","H5P__open_class_path_cb","H5P__open_class_path_test","H5P__register","H5P__register_real","H5P__set_layout","H5P__strcrt_char_encoding_dec","H5P__strcrt_char_encoding_enc","H5P__strcrt_reg_prop","H5P__unregister","H5P_class_isa","H5P_close","H5P_copy_plist","H5P_create_id","H5P_exist_plist","H5P_fill_value_cmp","H5P_fill_value_defined","H5P_filter_in_pline","H5P_get","H5P_get_class","H5P_get_class_name","H5P_get_fill_value","H5P_get_filter_by_id","H5P_get_nprops_pclass","H5P_get_plist_id","H5P_ignore_cmp","H5P_init_phase1","H5P_init_phase2","H5P_insert","H5P_is_fill_value_defined","H5P_isa_class","H5P_modify_filter","H5P_object_verify","H5P_peek","H5P_peek_driver","H5P_peek_driver_config_str","H5P_peek_driver_info","H5P_poke","H5P_remove","H5P_reset_vol_class","H5P_set","H5P_set_driver","H5P_set_driver_by_name","H5P_set_driver_by_value","H5P_set_vlen_mem_manager","H5P_set_vol","H5P_term_package","H5Padd_merge_committed_dtype_path","H5Pall_filters_avail","H5Pclose","H5Pclose_class","H5Pcopy","H5Pcopy_prop","H5Pcreate","H5Pcreate_class","H5Pdecode","H5Pencode1","H5Pencode2","H5Pequal","H5Pexist","H5Pfill_value_defined","H5Pfree_merge_committed_dtype_paths","H5Pget","H5Pget_actual_selection_io_mode","H5Pget_alignment","H5Pget_all_coll_metadata_ops","H5Pget_alloc_time","H5Pget_append_flush","H5Pget_attr_creation_order","H5Pget_attr_phase_change","H5Pget_btree_ratios","H5Pget_buffer","H5Pget_cache","H5Pget_char_encoding","H5Pget_chunk","H5Pget_chunk_cache","H5Pget_chunk_opts","H5Pget_class","H5Pget_class_name","H5Pget_class_parent","H5Pget_coll_metadata_write","H5Pget_copy_object","H5Pget_core_write_tracking","H5Pget_create_intermediate_group","H5Pget_data_transform","H5Pget_driver","H5Pget_driver_config_str","H5Pget_driver_info","H5Pget_dset_no_attrs_hint","H5Pget_dxpl_mpio","H5Pget_edc_check","H5Pget_efile_prefix","H5Pget_elink_acc_flags","H5Pget_elink_cb","H5Pget_elink_fapl","H5Pget_elink_file_cache_size","H5Pget_elink_prefix","H5Pget_est_link_info","H5Pget_evict_on_close","H5Pget_external","H5Pget_external_count","H5Pget_family_offset","H5Pget_fapl_core","H5Pget_fapl_family","H5Pget_fapl_mpio","H5Pget_fapl_multi","H5Pget_fapl_onion","H5Pget_fapl_splitter","H5Pget_fclose_degree","H5Pget_file_image","H5Pget_file_image_callbacks","H5Pget_file_locking","H5Pget_file_space","H5Pget_file_space_page_size","H5Pget_file_space_strategy","H5Pget_fill_time","H5Pget_fill_value","H5Pget_filter1","H5Pget_filter2","H5Pget_filter_by_id1","H5Pget_filter_by_id2","H5Pget_gc_references","H5Pget_hyper_vector_size","H5Pget_istore_k","H5Pget_layout","H5Pget_libver_bounds","H5Pget_link_creation_order","H5Pget_link_phase_change","H5Pget_local_heap_size_hint","H5Pget_mcdt_search_cb","H5Pget_mdc_config","H5Pget_mdc_image_config","H5Pget_mdc_log_options","H5Pget_meta_block_size","H5Pget_metadata_read_attempts","H5Pget_modify_write_buf","H5Pget_mpi_params","H5Pget_mpio_actual_chunk_opt_mode","H5Pget_mpio_actual_io_mode","H5Pget_mpio_no_collective_cause","H5Pget_multi_type","H5Pget_nfilters","H5Pget_nlinks","H5Pget_no_selection_io_cause","H5Pget_nprops","H5Pget_obj_track_times","H5Pget_object_flush_cb","H5Pget_page_buffer_size","H5Pget_preserve","H5Pget_relax_file_integrity_checks","H5Pget_selection_io","H5Pget_shared_mesg_index","H5Pget_shared_mesg_nindexes","H5Pget_shared_mesg_phase_change","H5Pget_sieve_buf_size","H5Pget_size","H5Pget_sizes","H5Pget_small_data_block_size","H5Pget_sym_k","H5Pget_type_conv_cb","H5Pget_userblock","H5Pget_version","H5Pget_virtual_count","H5Pget_virtual_dsetname","H5Pget_virtual_filename","H5Pget_virtual_prefix","H5Pget_virtual_printf_gap","H5Pget_virtual_srcspace","H5Pget_virtual_view","H5Pget_virtual_vspace","H5Pget_vlen_mem_manager","H5Pget_vol_cap_flags","H5Pget_vol_id","H5Pget_vol_info","H5Pinsert1","H5Pinsert2","H5Pisa_class","H5Piterate","H5Pmodify_filter","H5Pregister1","H5Pregister2","H5Premove","H5Premove_filter","H5Pset","H5Pset_alignment","H5Pset_all_coll_metadata_ops","H5Pset_alloc_time","H5Pset_append_flush","H5Pset_attr_creation_order","H5Pset_attr_phase_change","H5Pset_btree_ratios","H5Pset_buffer","H5Pset_cache","H5Pset_char_encoding","H5Pset_chunk","H5Pset_chunk_cache","H5Pset_chunk_opts","H5Pset_coll_metadata_write","H5Pset_copy_object","H5Pset_core_write_tracking","H5Pset_create_intermediate_group","H5Pset_data_transform","H5Pset_dataset_io_hyperslab_selection","H5Pset_deflate","H5Pset_driver","H5Pset_driver_by_name","H5Pset_driver_by_value","H5Pset_dset_no_attrs_hint","H5Pset_dxpl_mpio","H5Pset_dxpl_mpio_chunk_opt","H5Pset_dxpl_mpio_chunk_opt_num","H5Pset_dxpl_mpio_chunk_opt_ratio","H5Pset_dxpl_mpio_collective_opt","H5Pset_edc_check","H5Pset_efile_prefix","H5Pset_elink_acc_flags","H5Pset_elink_cb","H5Pset_elink_fapl","H5Pset_elink_file_cache_size","H5Pset_elink_prefix","H5Pset_est_link_info","H5Pset_evict_on_close","H5Pset_external","H5Pset_family_offset","H5Pset_fapl_core","H5Pset_fapl_family","H5Pset_fapl_log","H5Pset_fapl_mpio","H5Pset_fapl_multi","H5Pset_fapl_onion","H5Pset_fapl_sec2","H5Pset_fapl_split","H5Pset_fapl_splitter","H5Pset_fapl_stdio","H5Pset_fclose_degree","H5Pset_file_image","H5Pset_file_image_callbacks","H5Pset_file_locking","H5Pset_file_space","H5Pset_file_space_page_size","H5Pset_file_space_strategy","H5Pset_fill_time","H5Pset_fill_value","H5Pset_filter","H5Pset_filter_callback","H5Pset_fletcher32","H5Pset_gc_references","H5Pset_hyper_vector_size","H5Pset_istore_k","H5Pset_layout","H5Pset_libver_bounds","H5Pset_link_creation_order","H5Pset_link_phase_change","H5Pset_local_heap_size_hint","H5Pset_mcdt_search_cb","H5Pset_mdc_config","H5Pset_mdc_image_config","H5Pset_mdc_log_options","H5Pset_meta_block_size","H5Pset_metadata_read_attempts","H5Pset_modify_write_buf","H5Pset_mpi_params","H5Pset_multi_type","H5Pset_nbit","H5Pset_nlinks","H5Pset_obj_track_times","H5Pset_object_flush_cb","H5Pset_page_buffer_size","H5Pset_preserve","H5Pset_relax_file_integrity_checks","H5Pset_scaleoffset","H5Pset_selection_io","H5Pset_shared_mesg_index","H5Pset_shared_mesg_nindexes","H5Pset_shared_mesg_phase_change","H5Pset_shuffle","H5Pset_sieve_buf_size","H5Pset_sizes","H5Pset_small_data_block_size","H5Pset_sym_k","H5Pset_szip","H5Pset_type_conv_cb","H5Pset_userblock","H5Pset_virtual","H5Pset_virtual_prefix","H5Pset_virtual_printf_gap","H5Pset_virtual_view","H5Pset_vlen_mem_manager","H5Pset_vol","H5Punregister","H5RS__prepare_for_append","H5RS__resize_for_append.part.0","H5RS_acat","H5RS_ancat","H5RS_aputc","H5RS_asprintf_cat","H5RS_cmp","H5RS_create","H5RS_decr","H5RS_dup","H5RS_get_count","H5RS_get_str","H5RS_incr","H5RS_len","H5RS_wrap","H5R__copy","H5R__create_attr","H5R__create_object","H5R__create_region","H5R__decode","H5R__decode_heap","H5R__decode_string","H5R__decode_token_compat","H5R__decode_token_obj_compat","H5R__decode_token_region_compat","H5R__destroy","H5R__encode","H5R__encode_heap","H5R__encode_token_obj_compat","H5R__equal","H5R__get_attr_name","H5R__get_file_name","H5R__get_loc_id","H5R__get_obj_token","H5R__get_region","H5R__get_type","H5R__open_attr_api_common","H5R__open_object_api_common","H5R__open_region_api_common","H5R__reopen_file","H5R__set_loc_id","H5R__set_obj_token","H5R_init","H5Rcopy","H5Rcreate","H5Rcreate_attr","H5Rcreate_object","H5Rcreate_region","H5Rdereference1","H5Rdereference2","H5Rdestroy","H5Requal","H5Rget_attr_name","H5Rget_file_name","H5Rget_name","H5Rget_obj_name","H5Rget_obj_type1","H5Rget_obj_type2","H5Rget_obj_type3","H5Rget_region","H5Rget_type","H5Ropen_attr","H5Ropen_attr_async","H5Ropen_object","H5Ropen_object_async","H5Ropen_region","H5Ropen_region_async","H5SL__insert_common","H5SL__insert_common.cold","H5SL__release_common","H5SL_below","H5SL_close","H5SL_count","H5SL_create","H5SL_destroy","H5SL_find","H5SL_find.cold","H5SL_first","H5SL_free","H5SL_greater","H5SL_init","H5SL_insert","H5SL_item","H5SL_iterate","H5SL_last","H5SL_less","H5SL_next","H5SL_prev","H5SL_release","H5SL_remove","H5SL_remove.cold","H5SL_remove_first","H5SL_search","H5SL_search.cold","H5SL_term_package","H5SM__bt2_convert_to_list_op","H5SM__bt2_crt_context","H5SM__bt2_debug","H5SM__bt2_dst_context","H5SM__bt2_store","H5SM__cache_list_deserialize","H5SM__cache_list_free_icr","H5SM__cache_list_get_initial_load_size","H5SM__cache_list_image_len","H5SM__cache_list_serialize","H5SM__cache_list_verify_chksum","H5SM__cache_table_deserialize","H5SM__cache_table_free_icr","H5SM__cache_table_get_initial_load_size","H5SM__cache_table_image_len","H5SM__cache_table_serialize","H5SM__cache_table_verify_chksum","H5SM__compare_cb","H5SM__compare_iter_op","H5SM__create_list","H5SM__decr_ref","H5SM__delete_index","H5SM__get_index","H5SM__get_mesg_count_test","H5SM__get_refcount_bt2_cb","H5SM__incr_ref","H5SM__list_free","H5SM__message_compare","H5SM__message_decode","H5SM__message_encode","H5SM__read_iter_op","H5SM__read_mesg","H5SM__read_mesg_fh_cb","H5SM__table_free","H5SM_can_share","H5SM_delete","H5SM_get_fheap_addr","H5SM_get_info","H5SM_get_refcount","H5SM_ih_size","H5SM_init","H5SM_list_debug","H5SM_reconstitute","H5SM_table_debug","H5SM_try_share","H5SM_type_shared","H5S__all_adjust_s","H5S__all_adjust_u","H5S__all_bounds","H5S__all_copy","H5S__all_deserialize","H5S__all_intersect_block","H5S__all_is_contiguous","H5S__all_is_regular","H5S__all_is_single","H5S__all_is_valid","H5S__all_iter_block","H5S__all_iter_coords","H5S__all_iter_get_seq_list","H5S__all_iter_has_next_block","H5S__all_iter_init","H5S__all_iter_nelmts","H5S__all_iter_next","H5S__all_iter_next_block","H5S__all_iter_release","H5S__all_offset","H5S__all_project_scalar","H5S__all_project_simple","H5S__all_release","H5S__all_serial_size","H5S__all_serialize","H5S__all_shape_same","H5S__all_unlim_dim","H5S__check_internal_consistency","H5S__check_spans_overlap","H5S__check_spans_tail_ptr","H5S__close_cb","H5S__combine_select","H5S__copy_pnt_list","H5S__extent_copy_real","H5S__extent_release","H5S__fill_in_new_space","H5S__fill_in_select","H5S__generate_hyperslab","H5S__get_diminfo_status_test","H5S__get_rebuild_status_test","H5S__get_select_hyper_blocklist","H5S__hyper_add_disjoint_spans","H5S__hyper_add_span_element_helper.constprop.0","H5S__hyper_adjust_s","H5S__hyper_adjust_s_helper.constprop.0","H5S__hyper_adjust_u","H5S__hyper_adjust_u_helper.constprop.0","H5S__hyper_append_span","H5S__hyper_append_span.constprop.0","H5S__hyper_bounds","H5S__hyper_clip_spans.constprop.0","H5S__hyper_cmp_spans.part.0","H5S__hyper_coord_to_span","H5S__hyper_copy","H5S__hyper_copy_span_helper.part.0","H5S__hyper_deserialize","H5S__hyper_free_span_info","H5S__hyper_generate_spans","H5S__hyper_get_op_gen","H5S__hyper_get_version_enc_size","H5S__hyper_intersect_block","H5S__hyper_intersect_block_helper.constprop.0","H5S__hyper_is_contiguous","H5S__hyper_is_regular","H5S__hyper_is_single","H5S__hyper_is_valid","H5S__hyper_iter_block","H5S__hyper_iter_coords","H5S__hyper_iter_get_seq_list","H5S__hyper_iter_get_seq_list_opt","H5S__hyper_iter_get_seq_list_single","H5S__hyper_iter_has_next_block","H5S__hyper_iter_init","H5S__hyper_iter_nelmts","H5S__hyper_iter_next","H5S__hyper_iter_next_block","H5S__hyper_iter_release","H5S__hyper_make_spans","H5S__hyper_merge_spans_helper","H5S__hyper_new_span.part.0","H5S__hyper_new_span_info.part.0","H5S__hyper_num_elem_non_unlim","H5S__hyper_offset","H5S__hyper_proj_int_build_proj","H5S__hyper_proj_int_iterate","H5S__hyper_project_intersection","H5S__hyper_project_scalar","H5S__hyper_project_simple","H5S__hyper_rebuild","H5S__hyper_rebuild_helper","H5S__hyper_release","H5S__hyper_serial_size","H5S__hyper_serialize","H5S__hyper_serialize_helper","H5S__hyper_shape_same","H5S__hyper_span_blocklist","H5S__hyper_span_nblocks_helper.constprop.0","H5S__hyper_spans_nelem_helper.part.0.constprop.0","H5S__hyper_spans_shape_same","H5S__hyper_spans_shape_same_helper","H5S__hyper_unlim_dim","H5S__hyper_update_diminfo","H5S__internal_consistency_test","H5S__modify_select","H5S__mpio_create_point_datatype","H5S__mpio_reg_hyper_type","H5S__mpio_span_hyper_type","H5S__none_adjust_s","H5S__none_adjust_u","H5S__none_bounds","H5S__none_copy","H5S__none_deserialize","H5S__none_intersect_block","H5S__none_is_contiguous","H5S__none_is_regular","H5S__none_is_single","H5S__none_is_valid","H5S__none_iter_block","H5S__none_iter_coords","H5S__none_iter_get_seq_list","H5S__none_iter_has_next_block","H5S__none_iter_init","H5S__none_iter_nelmts","H5S__none_iter_next","H5S__none_iter_next_block","H5S__none_iter_release","H5S__none_offset","H5S__none_project_scalar","H5S__none_project_simple","H5S__none_release","H5S__none_serial_size","H5S__none_serialize","H5S__none_shape_same","H5S__none_unlim_dim","H5S__obtain_datatype.constprop.0","H5S__point_adjust_s","H5S__point_adjust_u","H5S__point_bounds","H5S__point_copy","H5S__point_deserialize","H5S__point_get_version_enc_size","H5S__point_intersect_block","H5S__point_is_contiguous","H5S__point_is_regular","H5S__point_is_single","H5S__point_is_valid","H5S__point_iter_block","H5S__point_iter_coords","H5S__point_iter_get_seq_list","H5S__point_iter_has_next_block","H5S__point_iter_init","H5S__point_iter_nelmts","H5S__point_iter_next","H5S__point_iter_next_block","H5S__point_iter_release","H5S__point_offset","H5S__point_project_scalar","H5S__point_project_simple","H5S__point_release","H5S__point_serial_size","H5S__point_serialize","H5S__point_shape_same","H5S__point_unlim_dim","H5S__sel_iter_close_cb","H5S__set_regular_hyperslab","H5S__verify_offsets","H5S_append","H5S_close","H5S_combine_hyperslab","H5S_copy","H5S_create","H5S_create_simple","H5S_debug","H5S_decode","H5S_encode","H5S_extent_copy","H5S_extent_equal","H5S_extent_get_dims","H5S_extent_nelem","H5S_get_npoints_max","H5S_get_select_bounds","H5S_get_select_npoints","H5S_get_select_num_elem_non_unlim","H5S_get_select_offset","H5S_get_select_type","H5S_get_select_unlim_dim","H5S_get_simple_extent","H5S_get_simple_extent_dims","H5S_get_simple_extent_ndims","H5S_get_simple_extent_npoints","H5S_get_simple_extent_type","H5S_has_extent","H5S_hyper_add_span_element","H5S_hyper_clip_unlim","H5S_hyper_denormalize_offset","H5S_hyper_get_clip_extent","H5S_hyper_get_clip_extent_match","H5S_hyper_get_first_inc_block","H5S_hyper_get_unlim_block","H5S_hyper_normalize_offset","H5S_init","H5S_mpio_space_type","H5S_read","H5S_sel_iter_close","H5S_select_adjust_s","H5S_select_adjust_u","H5S_select_all","H5S_select_construct_projection","H5S_select_contig_block","H5S_select_copy","H5S_select_deserialize","H5S_select_elements","H5S_select_fill","H5S_select_hyperslab","H5S_select_hyperslab.localalias","H5S_select_intersect_block","H5S_select_is_contiguous","H5S_select_is_regular","H5S_select_is_single","H5S_select_iter_coords","H5S_select_iter_get_seq_list","H5S_select_iter_init","H5S_select_iter_nelmts","H5S_select_iter_next","H5S_select_iter_release","H5S_select_iterate","H5S_select_none","H5S_select_offset","H5S_select_project_intersection","H5S_select_project_scalar","H5S_select_project_simple","H5S_select_release","H5S_select_serial_size","H5S_select_serialize","H5S_select_shape_same","H5S_select_subtract","H5S_select_valid","H5S_set_extent","H5S_set_extent_real","H5S_set_extent_simple","H5S_set_version","H5S_term_package","H5S_top_term_package","H5S_write","H5Sclose","H5Scombine_hyperslab","H5Scombine_select","H5Scopy","H5Screate","H5Screate_simple","H5Sdecode","H5Sencode1","H5Sencode2","H5Sextent_copy","H5Sextent_equal","H5Sget_regular_hyperslab","H5Sget_select_bounds","H5Sget_select_elem_npoints","H5Sget_select_elem_pointlist","H5Sget_select_hyper_blocklist","H5Sget_select_hyper_nblocks","H5Sget_select_npoints","H5Sget_select_type","H5Sget_simple_extent_dims","H5Sget_simple_extent_ndims","H5Sget_simple_extent_npoints","H5Sget_simple_extent_type","H5Sis_regular_hyperslab","H5Sis_simple","H5Smodify_select","H5Soffset_simple","H5Ssel_iter_close","H5Ssel_iter_create","H5Ssel_iter_get_seq_list","H5Ssel_iter_reset","H5Sselect_adjust","H5Sselect_all","H5Sselect_copy","H5Sselect_elements","H5Sselect_hyperslab","H5Sselect_intersect_block","H5Sselect_none","H5Sselect_project_intersection","H5Sselect_shape_same","H5Sselect_valid","H5Sset_extent_none","H5Sset_extent_simple","H5T__alloc","H5T__array_create","H5T__bit_cmp.constprop.0","H5T__bit_copy","H5T__bit_dec","H5T__bit_find","H5T__bit_get_d","H5T__bit_inc","H5T__bit_neg","H5T__bit_set","H5T__bit_set_d","H5T__bit_shift","H5T__close_cb","H5T__commit","H5T__commit_anon","H5T__commit_api_common","H5T__commit_named","H5T__complete_copy","H5T__conv_array","H5T__conv_b_b","H5T__conv_double_float","H5T__conv_double_int","H5T__conv_double_ldouble","H5T__conv_double_ldouble.cold","H5T__conv_double_llong","H5T__conv_double_long","H5T__conv_double_schar","H5T__conv_double_short","H5T__conv_double_uchar","H5T__conv_double_uint","H5T__conv_double_ullong","H5T__conv_double_ulong","H5T__conv_double_ushort","H5T__conv_enum","H5T__conv_enum_free.part.0","H5T__conv_enum_init","H5T__conv_enum_numeric","H5T__conv_f_f","H5T__conv_f_i","H5T__conv_float_double","H5T__conv_float_double.cold","H5T__conv_float_int","H5T__conv_float_ldouble","H5T__conv_float_ldouble.cold","H5T__conv_float_llong","H5T__conv_float_long","H5T__conv_float_schar","H5T__conv_float_short","H5T__conv_float_uchar","H5T__conv_float_uint","H5T__conv_float_ullong","H5T__conv_float_ulong","H5T__conv_float_ushort","H5T__conv_i_f","H5T__conv_i_i","H5T__conv_int_double","H5T__conv_int_float","H5T__conv_int_ldouble","H5T__conv_int_llong","H5T__conv_int_llong.cold","H5T__conv_int_long","H5T__conv_int_long.cold","H5T__conv_int_schar","H5T__conv_int_short","H5T__conv_int_uchar","H5T__conv_int_uint","H5T__conv_int_ullong","H5T__conv_int_ulong","H5T__conv_int_ushort","H5T__conv_ldouble_double","H5T__conv_ldouble_float","H5T__conv_ldouble_int","H5T__conv_ldouble_llong","H5T__conv_ldouble_long","H5T__conv_ldouble_schar","H5T__conv_ldouble_short","H5T__conv_ldouble_uchar","H5T__conv_ldouble_uint","H5T__conv_ldouble_ullong","H5T__conv_ldouble_ulong","H5T__conv_ldouble_ushort","H5T__conv_llong_double","H5T__conv_llong_float","H5T__conv_llong_int","H5T__conv_llong_ldouble","H5T__conv_llong_long","H5T__conv_llong_schar","H5T__conv_llong_short","H5T__conv_llong_uchar","H5T__conv_llong_uint","H5T__conv_llong_ullong","H5T__conv_llong_ulong","H5T__conv_llong_ushort","H5T__conv_long_double","H5T__conv_long_float","H5T__conv_long_int","H5T__conv_long_ldouble","H5T__conv_long_llong","H5T__conv_long_schar","H5T__conv_long_short","H5T__conv_long_uchar","H5T__conv_long_uint","H5T__conv_long_ullong","H5T__conv_long_ulong","H5T__conv_long_ushort","H5T__conv_noop","H5T__conv_order","H5T__conv_order_opt","H5T__conv_ref","H5T__conv_s_s","H5T__conv_schar_double","H5T__conv_schar_float","H5T__conv_schar_int","H5T__conv_schar_int.cold","H5T__conv_schar_ldouble","H5T__conv_schar_llong","H5T__conv_schar_llong.cold","H5T__conv_schar_long","H5T__conv_schar_long.cold","H5T__conv_schar_short","H5T__conv_schar_short.cold","H5T__conv_schar_uchar","H5T__conv_schar_uint","H5T__conv_schar_ullong","H5T__conv_schar_ulong","H5T__conv_schar_ushort","H5T__conv_short_double","H5T__conv_short_float","H5T__conv_short_int","H5T__conv_short_int.cold","H5T__conv_short_ldouble","H5T__conv_short_llong","H5T__conv_short_llong.cold","H5T__conv_short_long","H5T__conv_short_long.cold","H5T__conv_short_schar","H5T__conv_short_uchar","H5T__conv_short_uint","H5T__conv_short_ullong","H5T__conv_short_ulong","H5T__conv_short_ushort","H5T__conv_struct","H5T__conv_struct_free","H5T__conv_struct_init","H5T__conv_struct_opt","H5T__conv_struct_subset","H5T__conv_uchar_double","H5T__conv_uchar_float","H5T__conv_uchar_int","H5T__conv_uchar_int.cold","H5T__conv_uchar_ldouble","H5T__conv_uchar_llong","H5T__conv_uchar_llong.cold","H5T__conv_uchar_long","H5T__conv_uchar_long.cold","H5T__conv_uchar_schar","H5T__conv_uchar_short","H5T__conv_uchar_short.cold","H5T__conv_uchar_uint","H5T__conv_uchar_uint.cold","H5T__conv_uchar_ullong","H5T__conv_uchar_ullong.cold","H5T__conv_uchar_ulong","H5T__conv_uchar_ulong.cold","H5T__conv_uchar_ushort","H5T__conv_uchar_ushort.cold","H5T__conv_uint_double","H5T__conv_uint_float","H5T__conv_uint_int","H5T__conv_uint_ldouble","H5T__conv_uint_llong","H5T__conv_uint_llong.cold","H5T__conv_uint_long","H5T__conv_uint_long.cold","H5T__conv_uint_schar","H5T__conv_uint_short","H5T__conv_uint_uchar","H5T__conv_uint_ullong","H5T__conv_uint_ullong.cold","H5T__conv_uint_ulong","H5T__conv_uint_ulong.cold","H5T__conv_uint_ushort","H5T__conv_ullong_double","H5T__conv_ullong_float","H5T__conv_ullong_int","H5T__conv_ullong_ldouble","H5T__conv_ullong_llong","H5T__conv_ullong_long","H5T__conv_ullong_schar","H5T__conv_ullong_short","H5T__conv_ullong_uchar","H5T__conv_ullong_uint","H5T__conv_ullong_ulong","H5T__conv_ullong_ushort","H5T__conv_ulong_double","H5T__conv_ulong_float","H5T__conv_ulong_int","H5T__conv_ulong_ldouble","H5T__conv_ulong_llong","H5T__conv_ulong_long","H5T__conv_ulong_schar","H5T__conv_ulong_short","H5T__conv_ulong_uchar","H5T__conv_ulong_uint","H5T__conv_ulong_ullong","H5T__conv_ulong_ushort","H5T__conv_ushort_double","H5T__conv_ushort_float","H5T__conv_ushort_int","H5T__conv_ushort_int.cold","H5T__conv_ushort_ldouble","H5T__conv_ushort_llong","H5T__conv_ushort_llong.cold","H5T__conv_ushort_long","H5T__conv_ushort_long.cold","H5T__conv_ushort_schar","H5T__conv_ushort_short","H5T__conv_ushort_uchar","H5T__conv_ushort_uint","H5T__conv_ushort_uint.cold","H5T__conv_ushort_ullong","H5T__conv_ushort_ullong.cold","H5T__conv_ushort_ulong","H5T__conv_ushort_ulong.cold","H5T__conv_vlen","H5T__conv_vlen_nested_free","H5T__copy_all","H5T__copy_transient","H5T__create","H5T__detect_vlen_ref","H5T__enum_create","H5T__enum_insert","H5T__free","H5T__get_array_dims","H5T__get_array_ndims","H5T__get_create_plist","H5T__get_member_name","H5T__get_member_size","H5T__get_member_value","H5T__get_native_type","H5T__get_path_table_npaths","H5T__init_native_float_types","H5T__init_native_internal","H5T__initiate_copy","H5T__insert","H5T__open_api_common","H5T__open_name","H5T__pack","H5T__path_find_real","H5T__path_free","H5T__print_path_stats","H5T__ref_disk_getsize","H5T__ref_disk_isnull","H5T__ref_disk_read","H5T__ref_disk_setnull","H5T__ref_disk_write","H5T__ref_dsetreg_disk_getsize","H5T__ref_dsetreg_disk_isnull","H5T__ref_dsetreg_disk_read","H5T__ref_mem_getsize","H5T__ref_mem_isnull","H5T__ref_mem_read","H5T__ref_mem_setnull","H5T__ref_mem_write","H5T__ref_obj_disk_getsize","H5T__ref_obj_disk_isnull","H5T__ref_obj_disk_read","H5T__ref_reclaim","H5T__ref_set_loc","H5T__register","H5T__register_int","H5T__reverse_order","H5T__set_offset","H5T__set_order","H5T__set_precision","H5T__set_size","H5T__sort_name","H5T__sort_value","H5T__unlock_cb","H5T__update_packed","H5T__upgrade_version","H5T__upgrade_version_cb","H5T__visit","H5T__visit.localalias","H5T__vlen_create","H5T__vlen_disk_delete","H5T__vlen_disk_delete.part.0","H5T__vlen_disk_getlen","H5T__vlen_disk_isnull","H5T__vlen_disk_read","H5T__vlen_disk_setnull","H5T__vlen_disk_write","H5T__vlen_mem_seq_getlen","H5T__vlen_mem_seq_getptr","H5T__vlen_mem_seq_isnull","H5T__vlen_mem_seq_read","H5T__vlen_mem_seq_setnull","H5T__vlen_mem_seq_write","H5T__vlen_mem_str_getlen","H5T__vlen_mem_str_getptr","H5T__vlen_mem_str_isnull","H5T__vlen_mem_str_read","H5T__vlen_mem_str_setnull","H5T__vlen_mem_str_write","H5T__vlen_reclaim","H5T__vlen_set_loc","H5T_already_vol_managed","H5T_close","H5T_close_real","H5T_cmp","H5T_cmp.localalias","H5T_construct_datatype","H5T_convert","H5T_convert_committed_datatype","H5T_convert_with_ctx","H5T_copy","H5T_copy_reopen","H5T_debug","H5T_debug.cold","H5T_debug.localalias","H5T_decode","H5T_detect_class","H5T_detect_class.localalias","H5T_encode","H5T_get_actual_type","H5T_get_class","H5T_get_force_conv","H5T_get_member_offset","H5T_get_member_type","H5T_get_named_type","H5T_get_nmembers","H5T_get_offset","H5T_get_order","H5T_get_order.localalias","H5T_get_precision","H5T_get_ref_type","H5T_get_sign","H5T_get_size","H5T_get_super","H5T_init","H5T_invoke_vol_optional","H5T_is_immutable","H5T_is_named","H5T_is_numeric_with_unusual_unused_bits","H5T_is_relocatable","H5T_is_sensible","H5T_is_variable_str","H5T_is_vl_storage","H5T_link","H5T_lock","H5T_nameof","H5T_noop_conv","H5T_oloc","H5T_open","H5T_own_vol_obj","H5T_patch_file","H5T_patch_vlen_file","H5T_path_bkg","H5T_path_compound_subset","H5T_path_find","H5T_path_match_find_type_with_volobj","H5T_path_noop","H5T_reclaim","H5T_reclaim_cb","H5T_restore_refresh_state","H5T_save_refresh_state","H5T_set_loc","H5T_set_loc.localalias","H5T_set_version","H5T_term_package","H5T_top_term_package","H5T_unregister","H5T_update_shared","H5T_vlen_reclaim_elmt","H5Tarray_create1","H5Tarray_create2","H5Tclose","H5Tclose_async","H5Tcommit1","H5Tcommit2","H5Tcommit_anon","H5Tcommit_async","H5Tcommitted","H5Tcompiler_conv","H5Tconvert","H5Tcopy","H5Tcreate","H5Tdecode","H5Tdetect_class","H5Tencode","H5Tenum_create","H5Tenum_insert","H5Tenum_nameof","H5Tenum_valueof","H5Tequal","H5Tfind","H5Tflush","H5Tget_array_dims1","H5Tget_array_dims2","H5Tget_array_ndims","H5Tget_class","H5Tget_create_plist","H5Tget_cset","H5Tget_ebias","H5Tget_fields","H5Tget_inpad","H5Tget_member_class","H5Tget_member_index","H5Tget_member_name","H5Tget_member_offset","H5Tget_member_type","H5Tget_member_value","H5Tget_native_type","H5Tget_nmembers","H5Tget_norm","H5Tget_offset","H5Tget_order","H5Tget_pad","H5Tget_precision","H5Tget_sign","H5Tget_size","H5Tget_strpad","H5Tget_super","H5Tget_tag","H5Tinsert","H5Tis_variable_str","H5Tlock","H5Topen1","H5Topen2","H5Topen_async","H5Tpack","H5Treclaim","H5Trefresh","H5Tregister","H5Tset_cset","H5Tset_ebias","H5Tset_fields","H5Tset_inpad","H5Tset_norm","H5Tset_offset","H5Tset_order","H5Tset_pad","H5Tset_precision","H5Tset_sign","H5Tset_size","H5Tset_strpad","H5Tset_tag","H5Tunregister","H5Tvlen_create","H5UC_create","H5UC_decr","H5VL__connector_str_to_info","H5VL__file_open_find_connector_cb","H5VL__find_opt_operation","H5VL__free_cls","H5VL__get_connector_cb","H5VL__get_connector_id","H5VL__get_connector_id_by_name","H5VL__get_connector_id_by_value","H5VL__get_connector_name","H5VL__is_connector_registered_by_name","H5VL__is_connector_registered_by_value","H5VL__is_default_conn","H5VL__native_attr_close","H5VL__native_attr_create","H5VL__native_attr_get","H5VL__native_attr_open","H5VL__native_attr_optional","H5VL__native_attr_read","H5VL__native_attr_specific","H5VL__native_attr_write","H5VL__native_blob_get","H5VL__native_blob_put","H5VL__native_blob_specific","H5VL__native_dataset_close","H5VL__native_dataset_create","H5VL__native_dataset_get","H5VL__native_dataset_io_cleanup","H5VL__native_dataset_io_setup","H5VL__native_dataset_open","H5VL__native_dataset_optional","H5VL__native_dataset_read","H5VL__native_dataset_specific","H5VL__native_dataset_write","H5VL__native_datatype_close","H5VL__native_datatype_commit","H5VL__native_datatype_get","H5VL__native_datatype_open","H5VL__native_datatype_specific","H5VL__native_file_close","H5VL__native_file_create","H5VL__native_file_get","H5VL__native_file_open","H5VL__native_file_optional","H5VL__native_file_specific","H5VL__native_get_file_addr_len","H5VL__native_group_close","H5VL__native_group_create","H5VL__native_group_get","H5VL__native_group_open","H5VL__native_group_optional","H5VL__native_group_specific","H5VL__native_introspect_get_cap_flags","H5VL__native_introspect_get_conn_cls","H5VL__native_introspect_opt_query","H5VL__native_link_copy","H5VL__native_link_create","H5VL__native_link_get","H5VL__native_link_move","H5VL__native_link_specific","H5VL__native_object_copy","H5VL__native_object_get","H5VL__native_object_open","H5VL__native_object_optional","H5VL__native_object_specific","H5VL__native_str_to_token","H5VL__native_term","H5VL__native_token_cmp","H5VL__native_token_to_str","H5VL__num_opt_operation","H5VL__peek_connector_id_by_name","H5VL__peek_connector_id_by_value","H5VL__register_connector","H5VL__register_connector_by_class","H5VL__register_connector_by_name","H5VL__register_connector_by_value","H5VL__register_opt_operation","H5VL__reparse_def_vol_conn_variable_test","H5VL__set_def_conn","H5VL__term_opt_operation","H5VL__term_opt_operation_cb","H5VL__unregister_opt_operation","H5VL__wrap_obj","H5VL_attr_close","H5VL_attr_create","H5VL_attr_get","H5VL_attr_open","H5VL_attr_optional","H5VL_attr_read","H5VL_attr_specific","H5VL_attr_write","H5VL_blob_get","H5VL_blob_optional","H5VL_blob_put","H5VL_blob_specific","H5VL_check_plugin_load","H5VL_cmp_connector_cls","H5VL_cmp_connector_info","H5VL_conn_copy","H5VL_conn_dec_rc","H5VL_conn_free","H5VL_conn_inc_rc","H5VL_copy_connector_info","H5VL_create_object","H5VL_create_object_using_vol_id","H5VL_dataset_close","H5VL_dataset_create","H5VL_dataset_get","H5VL_dataset_open","H5VL_dataset_optional","H5VL_dataset_read","H5VL_dataset_specific","H5VL_dataset_write","H5VL_datatype_close","H5VL_datatype_commit","H5VL_datatype_get","H5VL_datatype_open","H5VL_datatype_optional","H5VL_datatype_optional_op","H5VL_datatype_specific","H5VL_dec_vol_wrapper","H5VL_file_close","H5VL_file_create","H5VL_file_get","H5VL_file_is_same","H5VL_file_open","H5VL_file_optional","H5VL_file_specific","H5VL_finish_lib_state","H5VL_free_connector_info","H5VL_free_lib_state","H5VL_free_object","H5VL_free_wrap_ctx","H5VL_get_cap_flags","H5VL_get_wrap_ctx","H5VL_group_close","H5VL_group_create","H5VL_group_get","H5VL_group_open","H5VL_group_optional","H5VL_group_specific","H5VL_inc_vol_wrapper","H5VL_init_phase1","H5VL_init_phase2","H5VL_introspect_get_cap_flags","H5VL_introspect_get_conn_cls","H5VL_introspect_opt_query","H5VL_link_copy","H5VL_link_create","H5VL_link_get","H5VL_link_move","H5VL_link_optional","H5VL_link_specific","H5VL_native_addr_to_token","H5VL_native_get_file_addr_len","H5VL_native_get_file_struct","H5VL_native_register","H5VL_native_token_to_addr","H5VL_new_connector","H5VL_object","H5VL_object_copy","H5VL_object_data","H5VL_object_get","H5VL_object_inc_rc","H5VL_object_is_native","H5VL_object_open","H5VL_object_optional","H5VL_object_specific","H5VL_object_unwrap","H5VL_object_verify","H5VL_optional","H5VL_pass_through_attr_close","H5VL_pass_through_attr_create","H5VL_pass_through_attr_get","H5VL_pass_through_attr_open","H5VL_pass_through_attr_optional","H5VL_pass_through_attr_read","H5VL_pass_through_attr_specific","H5VL_pass_through_attr_write","H5VL_pass_through_blob_get","H5VL_pass_through_blob_optional","H5VL_pass_through_blob_put","H5VL_pass_through_blob_specific","H5VL_pass_through_dataset_close","H5VL_pass_through_dataset_create","H5VL_pass_through_dataset_get","H5VL_pass_through_dataset_open","H5VL_pass_through_dataset_optional","H5VL_pass_through_dataset_read","H5VL_pass_through_dataset_specific","H5VL_pass_through_dataset_write","H5VL_pass_through_datatype_close","H5VL_pass_through_datatype_commit","H5VL_pass_through_datatype_get","H5VL_pass_through_datatype_open","H5VL_pass_through_datatype_optional","H5VL_pass_through_datatype_specific","H5VL_pass_through_file_close","H5VL_pass_through_file_create","H5VL_pass_through_file_get","H5VL_pass_through_file_open","H5VL_pass_through_file_optional","H5VL_pass_through_file_specific","H5VL_pass_through_free_wrap_ctx","H5VL_pass_through_get_object","H5VL_pass_through_get_wrap_ctx","H5VL_pass_through_group_close","H5VL_pass_through_group_create","H5VL_pass_through_group_get","H5VL_pass_through_group_open","H5VL_pass_through_group_optional","H5VL_pass_through_group_specific","H5VL_pass_through_info_cmp","H5VL_pass_through_info_copy","H5VL_pass_through_info_free","H5VL_pass_through_info_to_str","H5VL_pass_through_init","H5VL_pass_through_introspect_get_cap_flags","H5VL_pass_through_introspect_get_conn_cls","H5VL_pass_through_introspect_opt_query","H5VL_pass_through_link_copy","H5VL_pass_through_link_create","H5VL_pass_through_link_get","H5VL_pass_through_link_move","H5VL_pass_through_link_optional","H5VL_pass_through_link_specific","H5VL_pass_through_object_copy","H5VL_pass_through_object_get","H5VL_pass_through_object_open","H5VL_pass_through_object_optional","H5VL_pass_through_object_specific","H5VL_pass_through_optional","H5VL_pass_through_register","H5VL_pass_through_request_cancel","H5VL_pass_through_request_free","H5VL_pass_through_request_notify","H5VL_pass_through_request_optional","H5VL_pass_through_request_specific","H5VL_pass_through_request_wait","H5VL_pass_through_str_to_info","H5VL_pass_through_term","H5VL_pass_through_token_cmp","H5VL_pass_through_token_from_str","H5VL_pass_through_token_to_str","H5VL_pass_through_unwrap_object","H5VL_pass_through_wrap_object","H5VL_register","H5VL_register_using_existing_id","H5VL_register_using_vol_id","H5VL_request_cancel","H5VL_request_free","H5VL_request_notify","H5VL_request_optional","H5VL_request_specific","H5VL_request_wait","H5VL_reset_vol_wrapper","H5VL_restore_lib_state","H5VL_retrieve_lib_state","H5VL_set_vol_wrapper","H5VL_setup_acc_args","H5VL_setup_args","H5VL_setup_idx_args","H5VL_setup_loc_args","H5VL_setup_name_args","H5VL_setup_self_args","H5VL_setup_token_args","H5VL_start_lib_state","H5VL_term_package","H5VL_token_cmp","H5VL_token_from_str","H5VL_token_to_str","H5VL_unwrap_object","H5VL_vol_object","H5VL_vol_object_verify","H5VL_wrap_object","H5VL_wrap_register","H5VLattr_close","H5VLattr_create","H5VLattr_get","H5VLattr_open","H5VLattr_optional","H5VLattr_optional_op","H5VLattr_read","H5VLattr_specific","H5VLattr_write","H5VLblob_get","H5VLblob_optional","H5VLblob_put","H5VLblob_specific","H5VLclose","H5VLcmp_connector_cls","H5VLcmp_connector_info","H5VLconnector_info_to_str","H5VLconnector_str_to_info","H5VLcopy_connector_info","H5VLdataset_close","H5VLdataset_create","H5VLdataset_get","H5VLdataset_open","H5VLdataset_optional","H5VLdataset_optional_op","H5VLdataset_read","H5VLdataset_specific","H5VLdataset_write","H5VLdatatype_close","H5VLdatatype_commit","H5VLdatatype_get","H5VLdatatype_open","H5VLdatatype_optional","H5VLdatatype_optional_op","H5VLdatatype_specific","H5VLfile_close","H5VLfile_create","H5VLfile_get","H5VLfile_open","H5VLfile_optional","H5VLfile_optional_op","H5VLfile_specific","H5VLfind_opt_operation","H5VLfinish_lib_state","H5VLfree_connector_info","H5VLfree_lib_state","H5VLfree_wrap_ctx","H5VLget_cap_flags","H5VLget_connector_id","H5VLget_connector_id_by_name","H5VLget_connector_id_by_value","H5VLget_connector_name","H5VLget_file_type","H5VLget_object","H5VLget_value","H5VLget_wrap_ctx","H5VLgroup_close","H5VLgroup_create","H5VLgroup_get","H5VLgroup_open","H5VLgroup_optional","H5VLgroup_optional_op","H5VLgroup_specific","H5VLinitialize","H5VLintrospect_get_cap_flags","H5VLintrospect_get_conn_cls","H5VLintrospect_opt_query","H5VLis_connector_registered_by_name","H5VLis_connector_registered_by_value","H5VLlink_copy","H5VLlink_create","H5VLlink_get","H5VLlink_move","H5VLlink_optional","H5VLlink_optional_op","H5VLlink_specific","H5VLnative_addr_to_token","H5VLnative_token_to_addr","H5VLobject","H5VLobject_copy","H5VLobject_get","H5VLobject_is_native","H5VLobject_open","H5VLobject_optional","H5VLobject_optional_op","H5VLobject_specific","H5VLoptional","H5VLpeek_connector_id_by_name","H5VLpeek_connector_id_by_value","H5VLquery_optional","H5VLregister_connector","H5VLregister_connector_by_name","H5VLregister_connector_by_value","H5VLregister_opt_operation","H5VLrequest_cancel","H5VLrequest_free","H5VLrequest_notify","H5VLrequest_optional","H5VLrequest_optional_op","H5VLrequest_specific","H5VLrequest_wait","H5VLrestore_lib_state","H5VLretrieve_lib_state","H5VLstart_lib_state","H5VLterminate","H5VLtoken_cmp","H5VLtoken_from_str","H5VLtoken_to_str","H5VLunregister_connector","H5VLunregister_opt_operation","H5VLunwrap_object","H5VLwrap_object","H5VLwrap_register","H5VM_array_calc","H5VM_array_calc_pre","H5VM_array_down","H5VM_array_fill","H5VM_array_offset","H5VM_array_offset_pre","H5VM_chunk_index","H5VM_chunk_index_scaled","H5VM_chunk_scaled","H5VM_hyper_copy","H5VM_hyper_eq","H5VM_hyper_fill","H5VM_hyper_stride","H5VM_memcpyvv","H5VM_opvv","H5VM_stride_copy","H5VM_stride_copy.part.0","H5VM_stride_copy_s","H5VM_stride_fill","H5WB_actual","H5WB_actual_clear","H5WB_unwrap","H5WB_wrap","H5Z__calc_parms_array","H5Z__calc_parms_compound","H5Z__can_apply_nbit","H5Z__can_apply_scaleoffset","H5Z__check_unregister_dset_cb","H5Z__check_unregister_group_cb","H5Z__do_op","H5Z__filter_deflate","H5Z__filter_fletcher32","H5Z__filter_nbit","H5Z__filter_scaleoffset","H5Z__filter_shuffle","H5Z__flush_file_cb","H5Z__get_token","H5Z__nbit_compress_one_array","H5Z__nbit_compress_one_atomic","H5Z__nbit_compress_one_compound","H5Z__nbit_decompress_one_array","H5Z__nbit_decompress_one_atomic","H5Z__nbit_decompress_one_compound","H5Z__new_node.part.0","H5Z__parse_expression","H5Z__parse_factor","H5Z__parse_term","H5Z__prelude_callback","H5Z__prepare_prelude_callback_dcpl","H5Z__scaleoffset_get_type","H5Z__scaleoffset_postdecompress_i","H5Z__scaleoffset_precompress_fd","H5Z__set_local_nbit","H5Z__set_local_scaleoffset","H5Z__set_local_shuffle","H5Z__set_parms_array","H5Z__set_parms_atomic","H5Z__set_parms_compound","H5Z__unregister","H5Z__xform_copy_tree.isra.0","H5Z__xform_destroy_parse_tree.part.0","H5Z__xform_eval_full","H5Z__xform_reduce_tree","H5Z_all_filters_avail","H5Z_append","H5Z_can_apply","H5Z_can_apply_direct","H5Z_delete","H5Z_filter_avail","H5Z_filter_in_pline","H5Z_filter_info","H5Z_find","H5Z_get_filter_info","H5Z_ignore_filters","H5Z_init","H5Z_modify","H5Z_pipeline","H5Z_register","H5Z_set_local","H5Z_set_local_direct","H5Z_term_package","H5Z_xform_copy","H5Z_xform_create","H5Z_xform_destroy","H5Z_xform_eval","H5Z_xform_extract_xform_str","H5Z_xform_noop","H5Zfilter_avail","H5Zget_filter_info","H5Zregister","H5Zunregister","H5__debug_mask","H5__mpi_delete_cb","H5_bandwidth","H5_basename","H5_buffer_dump","H5_build_extpath","H5_checksum_crc","H5_checksum_fletcher32","H5_checksum_lookup3","H5_checksum_metadata","H5_combine_path","H5_default_vfd_init","H5_dirname","H5_get_option","H5_get_time","H5_hash_string","H5_init_library","H5_make_time","H5_mpi_comm_cmp","H5_mpi_comm_dup","H5_mpi_comm_free","H5_mpi_get_bigio_count","H5_mpi_info_cmp","H5_mpi_info_dup","H5_mpi_info_free","H5_mpi_set_bigio_count","H5_mpio_create_large_type","H5_mpio_gatherv_alloc","H5_mpio_gatherv_alloc_simple","H5_mpio_get_file_sync_required","H5_nanosleep","H5_now","H5_now_usec","H5_strcasestr","H5_term_library","H5_term_library.part.0","H5_timer_get_time_string","H5_timer_get_times","H5_timer_get_total_times","H5_timer_init","H5_timer_start","H5_timer_stop","H5_trace","H5_trace_args","H5allocate_memory","H5atclose","H5check_version","H5close","H5dont_atexit","H5free_memory","H5garbage_collect","H5get_free_list_sizes","H5get_libversion","H5is_library_terminating","H5is_library_threadsafe","H5open","H5resize_memory","H5set_free_list_limits","Nflock","Pflock","__do_global_dtors_aux","atexit","compute_next","deregister_tm_clones","frame_dummy","open_members","register_tm_clones"],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/hdf5-1.14.5-ul6ejhuh527dwwbgwi3ij6soj2pikw2u/lib/libhdf5.so","include_offsets":false},{"type":1,"name":"bio","functions":["bio_add_folio","bio_add_folio_nofail","bio_add_hw_folio","bio_add_hw_page","bio_add_page","bio_add_pc_page","bio_add_zone_append_page","bio_alloc_bioset","bio_alloc_cache_prune.constprop.0","bio_alloc_clone","bio_alloc_irq_cache_splice","bio_alloc_map_data","bio_alloc_rescue","bio_associate_blkg","bio_associate_blkg_from_css","bio_associate_blkg_from_page.isra.0","bio_attempt_back_merge","bio_attempt_discard_merge","bio_attempt_front_merge","bio_await_chain","bio_blkcg_css","bio_chain","bio_chain_and_submit","bio_chain_endio","bio_check_pages_dirty","bio_clone_blkg_association","bio_copy_data","bio_copy_data_iter","bio_copy_from_iter","bio_copy_kern_endio","bio_copy_kern_endio_read","bio_copy_user_iov","bio_cpu_dead","bio_dirty_fn","bio_end_io_acct_remapped","bio_endio","bio_free","bio_free_pages","bio_get_page","bio_init","bio_init_clone","bio_integrity_add_page","bio_integrity_advance","bio_integrity_alloc","bio_integrity_clone","bio_integrity_copy_user","bio_integrity_free","bio_integrity_init_user","bio_integrity_map_user","bio_integrity_prep","bio_integrity_prep.cold","bio_integrity_trim","bio_integrity_unmap_user","bio_integrity_unpin_bvec","bio_integrity_verify_fn","bio_iov_bvec_set","bio_iov_iter_get_pages","bio_kmalloc","bio_map_kern_endio","bio_map_user_iov","bio_next_page","bio_poll","bio_post_read_processing","bio_put","bio_reset","bio_set_pages_dirty","bio_split","bio_split_discard","bio_split_rw","bio_split_rw_at","bio_split_to_limits","bio_split_write_zeroes","bio_split_zone_append","bio_start_io_acct","bio_submit_split.part.0","bio_to_wbt_flags","bio_trim","bio_uninit","bio_wait_end_io","bioset_exit","bioset_init","bioset_integrity_create","bioset_integrity_free","biovec_init_pool"]},{"type":3,"name":"python","functions":["function__entry"],"binary_path":"/usr/lib64/libpython3.9.so","provider":"python"},{"type":1,"name":"os_page_cache","functions":["add_to_page_cache_lru","clear_page_dirty_for_io","delete_from_page_cache_batch","end_page_writeback","fault_in_safe_writeable","fault_in_subpage_writeable","fault_in_writeable","filemap_add_folio","filemap_alloc_folio","filemap_check_errors","filemap_fdatawait_keep_errors","filemap_fdatawait_range","filemap_fdatawait_range_keep_errors","filemap_fdatawrite","filemap_fdatawrite_range","filemap_fdatawrite_wbc","filemap_flush","filemap_get_folios","filemap_get_folios_contig","filemap_get_folios_tag","filemap_range_has_page","filemap_range_has_writeback","filemap_release_folio","filemap_remove_folio","folio_account_cleaned","folio_add_wait_queue","folio_clear_dirty_for_io","folio_end_private_2","folio_end_writeback","folio_invalidate","folio_mapping","folio_wait_bit","folio_wait_bit_killable","folio_wait_private_2","folio_wait_private_2_killable","folio_wait_stable","folio_wait_writeback","folio_wait_writeback_killable","grab_cache_page_write_begin","invalidate_inode_pages2","invalidate_inode_pages2_range","invalidate_mapping_pages","kiocb_invalidate_pages","kiocb_invalidate_post_direct_write","kiocb_write_and_wait","mapping_read_folio_gfp","mapping_seek_hole_data"]},{"type":1,"name":"shm","functions":["shmem_charge","shmem_file_setup","shmem_file_setup_with_mnt","shmem_get_folio","shmem_get_unmapped_area","shmem_init_fs_context","shmem_kernel_file_setup","shmem_lock","shmem_partial_swap_usage","shmem_read_folio_gfp","shmem_read_mapping_page_gfp","shmem_swap_usage","shmem_truncate_range","shmem_uncharge","shmem_unlock_mapping","shmem_unuse","shmem_zero_setup"]},{"type":1,"name":"fscache","functions":["__fscache_acquire_cookie","__fscache_acquire_volume","__fscache_begin_read_operation","__fscache_begin_write_operation","__fscache_clear_page_bits","__fscache_invalidate","__fscache_relinquish_cookie","__fscache_relinquish_volume","__fscache_resize_cookie","__fscache_unuse_cookie","__fscache_use_cookie","__fscache_write_to_cache"]},{"type":1,"name":"xfs","functions":["xfs_agfblock_init","xfs_agflblock_init","xfs_align_sparse_ino.isra.0","xfs_alloc_ag_max_usable","xfs_alloc_ag_vextent_exact","xfs_alloc_ag_vextent_locality","xfs_alloc_ag_vextent_near","xfs_alloc_ag_vextent_size","xfs_alloc_ag_vextent_small","xfs_alloc_btrec_to_irec","xfs_alloc_buftarg","xfs_alloc_cancel_autoreap","xfs_alloc_check_irec","xfs_alloc_cntbt_iter","xfs_alloc_commit_autoreap","xfs_alloc_compute_aligned","xfs_alloc_compute_diff","xfs_alloc_compute_maxlevels","xfs_alloc_cur_check","xfs_alloc_cur_finish","xfs_alloc_file_space","xfs_alloc_fix_freelist","xfs_alloc_fix_len","xfs_alloc_fixup_trees","xfs_alloc_get_freelist","xfs_alloc_get_rec","xfs_alloc_has_records","xfs_alloc_log_agf","xfs_alloc_longest_free_extent","xfs_alloc_lookup_eq","xfs_alloc_lookup_ge","xfs_alloc_lookup_le","xfs_alloc_min_freelist","xfs_alloc_put_freelist","xfs_alloc_query_all","xfs_alloc_query_range","xfs_alloc_query_range_helper","xfs_alloc_read_agf","xfs_alloc_read_agfl","xfs_alloc_schedule_autoreap","xfs_alloc_set_aside","xfs_alloc_space_available","xfs_alloc_update","xfs_alloc_update_counters","xfs_alloc_vextent_check_args","xfs_alloc_vextent_exact_bno","xfs_alloc_vextent_finish","xfs_alloc_vextent_first_ag","xfs_alloc_vextent_iterate_ags.constprop.0","xfs_alloc_vextent_near_bno","xfs_alloc_vextent_prepare_ag","xfs_alloc_vextent_start_ag","xfs_alloc_vextent_this_ag","xfs_alloc_walk_iter","xfs_allocfree_block_count","xfs_attr_leaf_entsize","xfs_attr_leaf_try_add","xfs_attr_restore_rmt_blk","xfs_btroot_init","xfs_buf_alert_ratelimited","xfs_buf_alloc_pages","xfs_buf_cmp","xfs_buf_corruption_error","xfs_buf_delwri_cancel","xfs_buf_delwri_pushbuf","xfs_buf_delwri_queue","xfs_buf_delwri_queue_here","xfs_buf_delwri_submit","xfs_buf_delwri_submit_buffers","xfs_buf_delwri_submit_nowait","xfs_buf_dquot_io_fail","xfs_buf_dquot_iodone","xfs_buf_find_insert.constprop.0","xfs_buf_find_lock","xfs_buf_free","xfs_buf_free_callback","xfs_buf_free_pages","xfs_buf_get_map","xfs_buf_get_uncached","xfs_buf_hash_destroy","xfs_buf_hash_init","xfs_buf_hold","xfs_buf_inode_io_fail","xfs_buf_inode_iodone","xfs_buf_ioapply_map","xfs_buf_ioend","xfs_buf_ioend_fail","xfs_buf_ioend_handle_error","xfs_buf_ioend_work","xfs_buf_ioerror_alert","xfs_buf_iowait","xfs_buf_item_committed","xfs_buf_item_committing","xfs_buf_item_dirty_format","xfs_buf_item_done","xfs_buf_item_format","xfs_buf_item_format_segment","xfs_buf_item_free","xfs_buf_item_free_format","xfs_buf_item_get_format","xfs_buf_item_init","xfs_buf_item_log","xfs_buf_item_pin","xfs_buf_item_push","xfs_buf_item_put","xfs_buf_item_release","xfs_buf_item_relse","xfs_buf_item_size","xfs_buf_item_size_segment.isra.0","xfs_buf_item_unpin","xfs_buf_lock","xfs_buf_log_check_iovec","xfs_buf_log_overhead","xfs_buf_offset","xfs_buf_read_map","xfs_buf_read_uncached","xfs_buf_readahead_map","xfs_buf_rele","xfs_buf_reverify","xfs_buf_set_ref","xfs_buf_stale","xfs_buf_trylock","xfs_buf_unlock","xfs_buf_verifier_error","xfs_buf_wait_unpin","xfs_buf_zero","xfs_buffered_write_delalloc_punch","xfs_buffered_write_iomap_begin","xfs_buffered_write_iomap_end","xfs_buftarg_drain_rele","xfs_buftarg_isolate","xfs_buftarg_shrink_count","xfs_buftarg_shrink_scan","xfs_bunmapi","xfs_bunmapi_range","xfs_bwrite","xfs_cntbt_diff_two_keys","xfs_cntbt_init_high_key_from_rec","xfs_cntbt_key_diff","xfs_cntbt_keys_inorder","xfs_cntbt_recs_inorder","xfs_cntroot_init","xfs_da3_blk_link","xfs_da3_blk_unlink.isra.0","xfs_da3_blkinfo_verify","xfs_da3_fixhashpath","xfs_da3_join","xfs_da3_node_add","xfs_da3_node_create","xfs_da3_node_hdr_from_disk","xfs_da3_node_hdr_to_disk","xfs_da3_node_lasthash.isra.0","xfs_da3_node_lookup_int","xfs_da3_node_order.isra.0","xfs_da3_node_read","xfs_da3_node_read_mapped","xfs_da3_node_read_verify","xfs_da3_node_rebalance.constprop.0","xfs_da3_node_remove","xfs_da3_node_set_type","xfs_da3_node_split","xfs_da3_node_toosmall","xfs_da3_node_unbalance","xfs_da3_node_verify","xfs_da3_node_verify_struct","xfs_da3_node_write_verify","xfs_da3_path_shift","xfs_da3_root_join","xfs_da3_root_split","xfs_da3_split","xfs_da3_swap_lastblock","xfs_da_buf_copy","xfs_da_compname","xfs_da_get_buf","xfs_da_grow_inode","xfs_da_grow_inode_int","xfs_da_hashname","xfs_da_mount","xfs_da_read_buf","xfs_da_reada_buf","xfs_da_shrink_inode","xfs_da_state_alloc","xfs_da_state_free","xfs_da_state_kill_altpath","xfs_da_state_reset","xfs_da_unmount","xfs_dabuf_map.constprop.0","xfs_dax_write_iomap_end","xfs_dax_writepages","xfs_dio_write_end_io","xfs_direct_write_iomap_begin","xfs_discard_endio","xfs_discard_endio_work","xfs_discard_extents","xfs_discard_folio","xfs_do_force_shutdown","xfs_dquot_buf_read_verify","xfs_dquot_buf_readahead_verify","xfs_dquot_buf_verify","xfs_dquot_buf_verify_crc.isra.0","xfs_dquot_buf_verify_struct","xfs_dquot_buf_write_verify","xfs_end_ioend","xfs_extent_busy_ag_cmp","xfs_extent_busy_clear","xfs_extent_busy_clear_one","xfs_extent_busy_flush","xfs_extent_busy_insert","xfs_extent_busy_insert_discard","xfs_extent_busy_insert_list","xfs_extent_busy_list_empty","xfs_extent_busy_reuse","xfs_extent_busy_search","xfs_extent_busy_trim","xfs_extent_busy_update_extent","xfs_extent_busy_wait_all","xfs_extent_free_abort_intent","xfs_extent_free_cancel_item","xfs_extent_free_create_done","xfs_extent_free_create_intent","xfs_extent_free_diff_items","xfs_extent_free_finish_item","xfs_extent_free_get_group","xfs_extent_free_log_item.constprop.0","xfs_extent_free_recover_work","xfs_extent_free_relog_intent","xfs_extfree_intent_destroy_cache","xfs_file_buffered_read","xfs_file_buffered_write","xfs_file_dax_read","xfs_file_dax_write","xfs_file_dio_read","xfs_file_dio_write_aligned","xfs_file_dio_write_unaligned","xfs_file_fadvise","xfs_file_fallocate","xfs_file_fsync","xfs_file_llseek","xfs_file_mmap","xfs_file_open","xfs_file_read_iter","xfs_file_readdir","xfs_file_release","xfs_file_remap_range","xfs_file_write_checks","xfs_file_write_iter","xfs_filemap_fault","xfs_filemap_huge_fault","xfs_filemap_page_mkwrite","xfs_filemap_pfn_mkwrite","xfs_finobt_init_ptr_from_cur","xfs_free_ag_extent","xfs_freesp_init_recs.isra.0","xfs_fs_alloc_inode","xfs_fs_commit_blocks","xfs_fs_destroy_inode","xfs_fs_dirty_inode","xfs_fs_drop_inode","xfs_fs_encode_fh","xfs_fs_fh_to_dentry","xfs_fs_fh_to_parent","xfs_fs_fill_super","xfs_fs_free","xfs_fs_free_cached_objects","xfs_fs_freeze","xfs_fs_geometry","xfs_fs_get_dqblk","xfs_fs_get_nextdqblk","xfs_fs_get_parent","xfs_fs_get_quota_state","xfs_fs_get_tree","xfs_fs_get_uuid","xfs_fs_goingdown","xfs_fs_inode_init_once","xfs_fs_map_blocks","xfs_fs_mark_healthy","xfs_fs_mark_sick","xfs_fs_measure_sickness","xfs_fs_nfs_commit_metadata","xfs_fs_nr_cached_objects","xfs_fs_parse_param","xfs_fs_put_super","xfs_fs_reconfigure","xfs_fs_reserve_ag_blocks","xfs_fs_rm_xquota","xfs_fs_set_dqblk","xfs_fs_set_info","xfs_fs_show_options","xfs_fs_shutdown","xfs_fs_statfs","xfs_fs_sync_fs","xfs_fs_unfreeze","xfs_fs_unreserve_ag_blocks","xfs_fs_validate_params","xfs_fs_writable","xfs_ialloc_ag_alloc","xfs_ialloc_count_inodes_rec","xfs_ialloc_count_ondisk","xfs_ialloc_get_rec","xfs_ialloc_next_rec","xfs_iflush","xfs_iflush_abort","xfs_iflush_cluster","xfs_iflush_fork","xfs_iflush_shutdown_abort","xfs_ifork_init_attr","xfs_ifork_init_cow","xfs_ifork_verify_local_attr","xfs_ifork_verify_local_data","xfs_ifork_zap_attr","xfs_ifork_zapped","xfs_ilock_for_iomap","xfs_ilock_iocb_for_write","xfs_inode_alloc","xfs_inode_buf_read_verify","xfs_inode_buf_readahead_verify","xfs_inode_buf_verify","xfs_inode_buf_write_verify","xfs_inode_clear_cowblocks_tag","xfs_inode_clear_eofblocks_tag","xfs_inode_free","xfs_inode_free_callback","xfs_inode_free_cowblocks","xfs_inode_free_eofblocks.constprop.0","xfs_inode_from_disk","xfs_inode_from_disk_ts","xfs_inode_hasattr","xfs_inode_inherit_flags","xfs_inode_init_security","xfs_inode_item_attr_fork_size","xfs_inode_item_committed","xfs_inode_item_committing","xfs_inode_item_data_fork_size","xfs_inode_item_destroy","xfs_inode_item_format","xfs_inode_item_format_attr_fork","xfs_inode_item_format_convert","xfs_inode_item_format_data_fork","xfs_inode_item_init","xfs_inode_item_pin","xfs_inode_item_precommit","xfs_inode_item_push","xfs_inode_item_release","xfs_inode_item_size","xfs_inode_item_sort","xfs_inode_item_unpin","xfs_inode_mark_healthy","xfs_inode_mark_reclaimable","xfs_inode_mark_sick","xfs_inode_measure_sickness","xfs_inode_near_dquot_enforcement","xfs_inode_needs_inactive","xfs_inode_reload_unlinked","xfs_inode_reload_unlinked_bucket","xfs_inode_set_cowblocks_tag","xfs_inode_set_eofblocks_tag","xfs_inode_to_disk","xfs_inode_to_log_dinode","xfs_inode_validate_cowextsize","xfs_inode_validate_extsize","xfs_inode_verifier_error","xfs_iomap_eof_align_last_fsb","xfs_iomap_inode_sequence","xfs_iomap_prealloc_size.constprop.0.isra.0","xfs_iomap_swapfile_activate","xfs_iomap_valid","xfs_iomap_write_direct","xfs_iomap_write_unwritten","xfs_iread_bmbt_block","xfs_lookup_get_search_key","xfs_map_blocks","xfs_mru_cache_create","xfs_mru_cache_delete","xfs_mru_cache_destroy","xfs_mru_cache_done","xfs_mru_cache_init","xfs_mru_cache_insert","xfs_mru_cache_lookup","xfs_mru_cache_remove","xfs_mru_cache_uninit","xfs_nfs_get_inode.isra.0","xfs_prepare_ioend","xfs_read_agf","xfs_read_agi","xfs_read_iomap_begin","xfs_readdir","xfs_readlink","xfs_readlink_bmap_ilocked","xfs_readlink_by_handle","xfs_release","xfs_remove","xfs_rename","xfs_reserve_blocks","xfs_restore_resvblks","xfs_vm_bmap","xfs_vm_read_folio","xfs_vm_readahead","xfs_vm_writepages","xfs_xattr_iomap_begin"]},{"type":1,"name":"ext4","functions":["ext4_alloc_branch","ext4_alloc_da_blocks","ext4_alloc_file_blocks.isra.0","ext4_alloc_flex_bg_array","ext4_alloc_group_tables","ext4_alloc_inode","ext4_alloc_io_end_vec","ext4_append","ext4_block_bitmap","ext4_block_bitmap_csum_set","ext4_block_bitmap_csum_verify","ext4_block_bitmap_set","ext4_block_to_path","ext4_block_write_begin","ext4_block_zero_page_range","ext4_bmap","ext4_bread","ext4_bread_batch","ext4_da_convert_inline_data_to_extent","ext4_da_get_block_prep","ext4_da_map_blocks.constprop.0","ext4_da_release_space","ext4_da_reserve_space","ext4_da_update_reserve_space","ext4_da_write_begin","ext4_da_write_end","ext4_da_write_inline_data_begin","ext4_dio_alignment","ext4_dio_write_checks","ext4_dio_write_end_io","ext4_dio_write_iter","ext4_dirty_folio","ext4_dirty_inode","ext4_end_buffer_io_sync","ext4_end_io_rsv_work","ext4_exit_es","ext4_exit_mballoc","ext4_exit_pageio","ext4_exit_pending","ext4_exit_post_read_processing","ext4_exit_sysfs","ext4_exit_system_zone","ext4_ext_calc_credits_for_single_extent","ext4_ext_check_inode","ext4_ext_clear_bb","ext4_ext_convert_to_initialized","ext4_ext_correct_indexes","ext4_ext_find_goal","ext4_ext_get_access","ext4_ext_grow_indepth","ext4_ext_handle_unwritten_extents","ext4_ext_index_trans_blocks","ext4_ext_init","ext4_ext_insert_extent","ext4_ext_insert_index","ext4_ext_map_blocks","ext4_ext_migrate","ext4_ext_next_allocated_block","ext4_ext_precache","ext4_ext_precache.part.0","ext4_ext_release","ext4_ext_remove_space","ext4_ext_replay_set_iblocks","ext4_ext_replay_shrink_inode","ext4_ext_replay_update_ex","ext4_ext_rm_idx","ext4_ext_rm_leaf","ext4_ext_search_left","ext4_ext_search_right","ext4_ext_shift_extents","ext4_ext_shift_path_extents","ext4_ext_split","ext4_ext_swap_inode_data","ext4_ext_tree_init","ext4_ext_truncate","ext4_ext_try_to_merge","ext4_ext_try_to_merge_right","ext4_ext_try_to_merge_up","ext4_extent_block_csum_set","ext4_fallocate","ext4_fh_to_dentry","ext4_fh_to_parent","ext4_fiemap","ext4_file_getattr","ext4_file_mmap","ext4_file_open","ext4_file_read_iter","ext4_file_write_iter","ext4_fileattr_get","ext4_fileattr_set","ext4_find_dest_de","ext4_find_entry","ext4_find_extent","ext4_find_inline_data_nolock","ext4_find_inline_entry","ext4_find_shared","ext4_finish_convert_inline_dir","ext4_free_blocks","ext4_free_blocks_simple.isra.0","ext4_free_branches","ext4_free_clusters_after_init","ext4_free_data","ext4_free_ext_path","ext4_free_group_clusters","ext4_free_group_clusters_set","ext4_free_in_core_inode","ext4_free_inode","ext4_free_inodes_count","ext4_free_inodes_set","ext4_free_link","ext4_io_submit","ext4_io_submit_init","ext4_iomap_begin","ext4_iomap_begin_report","ext4_iomap_end","ext4_iomap_overwrite_begin","ext4_iomap_swap_activate","ext4_iomap_xattr_begin","ext4_journal_abort_handle.constprop.0","ext4_journal_bmap","ext4_journal_check_start","ext4_journal_commit_callback","ext4_journal_finish_inode_data_buffers","ext4_journal_submit_inode_data_buffers","ext4_journalled_dirty_folio","ext4_journalled_invalidate_folio","ext4_journalled_submit_inode_data_buffers","ext4_journalled_write_end","ext4_journalled_write_inline_data","ext4_journalled_writepage_callback","ext4_journalled_zero_new_buffers","ext4_mark_bitmap_end","ext4_mark_bitmap_end.part.0","ext4_mark_dquot_dirty","ext4_mark_group_bitmap_corrupted","ext4_mark_iloc_dirty","ext4_mark_inode_used","ext4_mark_recovery_complete.constprop.0","ext4_mballoc_query_range","ext4_meta_trans_blocks","ext4_mkdir","ext4_mknod","ext4_move_extents","ext4_read_bh","ext4_read_bh_lock","ext4_read_bh_nowait","ext4_read_block_bitmap","ext4_read_block_bitmap_nowait","ext4_read_folio","ext4_read_inline_data.part.0.isra.0","ext4_read_inline_dir","ext4_read_inline_link","ext4_read_inline_page","ext4_read_inode_bitmap","ext4_read_merkle_tree_page","ext4_readahead","ext4_readdir","ext4_readpage_inline","ext4_release_io_end","ext4_statfs","ext4_swap_extents","ext4_symlink","ext4_sync_file","ext4_sync_fs","ext4_tmpfile","ext4_trim_all_free","ext4_trim_fs","ext4_truncate","ext4_unfreeze","ext4_unlink","ext4_write_begin","ext4_write_dquot","ext4_write_end","ext4_write_info","ext4_write_inline_data","ext4_write_inline_data_end","ext4_write_inode","ext4_write_merkle_tree_block","ext4_writepage","ext4_writepage_cb","ext4_writepage_trans_blocks","ext4_writepages"]},{"type":1,"name":"iomap","functions":["iomap_add_to_ioend","iomap_adjust_read_range.isra.0","iomap_bmap","iomap_dio_complete","iomap_dio_complete_work","iomap_dio_deferred_complete","iomap_dio_inline_iter","iomap_dio_rw","iomap_dio_zero","iomap_dirty_folio","iomap_do_writepage","iomap_fiemap","iomap_file_buffered_write","iomap_file_buffered_write_punch_delalloc","iomap_file_unshare","iomap_finish_ioend","iomap_finish_ioends","iomap_get_folio","iomap_invalidate_folio","iomap_ioend_compare","iomap_ioend_try_merge","iomap_is_partially_uptodate","iomap_iter","iomap_page_mkwrite","iomap_read_end_io","iomap_read_folio","iomap_read_folio_sync","iomap_read_inline_data","iomap_readahead","iomap_readpage_iter","iomap_release_folio","iomap_seek_data","iomap_seek_hole","iomap_sort_ioends","iomap_submit_ioend","iomap_swapfile_activate","iomap_swapfile_add_extent","iomap_swapfile_fail","iomap_swapfile_iter","iomap_to_bh","iomap_to_fiemap","iomap_truncate_page","iomap_unshare_iter","iomap_write_begin","iomap_write_delalloc_release","iomap_write_end","iomap_write_iter","iomap_writepage_map","iomap_writepages","iomap_zero_iter","iomap_zero_range"]},{"type":2,"name":"mpi","functions":["MPIX_Comm_ack_failed","MPIX_Comm_ack_failed.cold","MPIX_Comm_agree","MPIX_Comm_agree.cold","MPIX_Comm_failure_ack","MPIX_Comm_failure_ack.cold","MPIX_Comm_failure_get_acked","MPIX_Comm_failure_get_acked.cold","MPIX_Comm_get_failed","MPIX_Comm_get_failed.cold","MPIX_Comm_iagree","MPIX_Comm_iagree.cold","MPIX_Comm_is_revoked","MPIX_Comm_revoke","MPIX_Comm_revoke.cold","MPIX_Comm_shrink","MPIX_Comm_shrink.cold","MPIX_Query_cuda_support","MPIX_Query_rocm_support","MPI_AINT_ADD_F90","MPI_AINT_DIFF_F90","MPI_Abort","MPI_Accumulate","MPI_Add_error_class","MPI_Add_error_code","MPI_Add_error_string","MPI_Address","MPI_Allgather","MPI_Allgather_init","MPI_Allgatherv","MPI_Allgatherv_init","MPI_Alloc_mem","MPI_Allreduce","MPI_Allreduce_init","MPI_Alltoall","MPI_Alltoall_init","MPI_Alltoallv","MPI_Alltoallv_init","MPI_Alltoallw","MPI_Alltoallw_init","MPI_Attr_delete","MPI_Attr_get","MPI_Attr_put","MPI_Barrier","MPI_Barrier_init","MPI_Bcast","MPI_Bcast_init","MPI_Bsend","MPI_Bsend_init","MPI_Buffer_attach","MPI_Buffer_detach","MPI_COMM_DUP_FN","MPI_COMM_NULL_COPY_FN","MPI_COMM_NULL_DELETE_FN","MPI_CONVERSION_FN_NULL","MPI_Cancel","MPI_Cart_coords","MPI_Cart_create","MPI_Cart_get","MPI_Cart_map","MPI_Cart_rank","MPI_Cart_shift","MPI_Cart_sub","MPI_Cartdim_get","MPI_Close_port","MPI_Comm_accept","MPI_Comm_c2f","MPI_Comm_call_errhandler","MPI_Comm_compare","MPI_Comm_connect","MPI_Comm_create","MPI_Comm_create_errhandler","MPI_Comm_create_from_group","MPI_Comm_create_group","MPI_Comm_create_keyval","MPI_Comm_delete_attr","MPI_Comm_disconnect","MPI_Comm_dup","MPI_Comm_dup_with_info","MPI_Comm_f2c","MPI_Comm_free","MPI_Comm_free_keyval","MPI_Comm_get_attr","MPI_Comm_get_errhandler","MPI_Comm_get_info","MPI_Comm_get_name","MPI_Comm_get_parent","MPI_Comm_group","MPI_Comm_idup","MPI_Comm_idup_with_info","MPI_Comm_join","MPI_Comm_rank","MPI_Comm_remote_group","MPI_Comm_remote_size","MPI_Comm_set_attr","MPI_Comm_set_errhandler","MPI_Comm_set_info","MPI_Comm_set_name","MPI_Comm_size","MPI_Comm_spawn","MPI_Comm_spawn_multiple","MPI_Comm_split","MPI_Comm_split_type","MPI_Comm_test_inter","MPI_Compare_and_swap","MPI_DUP_FN","MPI_Dims_create","MPI_Dist_graph_create","MPI_Dist_graph_create_adjacent","MPI_Dist_graph_neighbors","MPI_Dist_graph_neighbors_count","MPI_Errhandler_c2f","MPI_Errhandler_create","MPI_Errhandler_f2c","MPI_Errhandler_free","MPI_Errhandler_get","MPI_Errhandler_set","MPI_Error_class","MPI_Error_string","MPI_Exscan","MPI_Exscan_init","MPI_Fetch_and_op","MPI_File_c2f","MPI_File_call_errhandler","MPI_File_close","MPI_File_create_errhandler","MPI_File_delete","MPI_File_f2c","MPI_File_get_amode","MPI_File_get_atomicity","MPI_File_get_byte_offset","MPI_File_get_errhandler","MPI_File_get_group","MPI_File_get_info","MPI_File_get_position","MPI_File_get_position_shared","MPI_File_get_size","MPI_File_get_type_extent","MPI_File_get_view","MPI_File_iread","MPI_File_iread_all","MPI_File_iread_at","MPI_File_iread_at_all","MPI_File_iread_shared","MPI_File_iwrite","MPI_File_iwrite_all","MPI_File_iwrite_at","MPI_File_iwrite_at_all","MPI_File_iwrite_shared","MPI_File_open","MPI_File_preallocate","MPI_File_read","MPI_File_read_all","MPI_File_read_all_begin","MPI_File_read_all_end","MPI_File_read_at","MPI_File_read_at_all","MPI_File_read_at_all_begin","MPI_File_read_at_all_end","MPI_File_read_ordered","MPI_File_read_ordered_begin","MPI_File_read_ordered_end","MPI_File_read_shared","MPI_File_seek","MPI_File_seek_shared","MPI_File_set_atomicity","MPI_File_set_errhandler","MPI_File_set_info","MPI_File_set_size","MPI_File_set_view","MPI_File_sync","MPI_File_write","MPI_File_write_all","MPI_File_write_all_begin","MPI_File_write_all_end","MPI_File_write_at","MPI_File_write_at_all","MPI_File_write_at_all_begin","MPI_File_write_at_all_end","MPI_File_write_ordered","MPI_File_write_ordered_begin","MPI_File_write_ordered_end","MPI_File_write_shared","MPI_Finalize","MPI_Finalized","MPI_Free_mem","MPI_Gather","MPI_Gather_init","MPI_Gatherv","MPI_Gatherv_init","MPI_Get","MPI_Get_accumulate","MPI_Get_address","MPI_Get_count","MPI_Get_elements","MPI_Get_elements_x","MPI_Get_library_version","MPI_Get_processor_name","MPI_Get_version","MPI_Graph_create","MPI_Graph_get","MPI_Graph_map","MPI_Graph_neighbors","MPI_Graph_neighbors_count","MPI_Graphdims_get","MPI_Grequest_complete","MPI_Grequest_start","MPI_Group_c2f","MPI_Group_compare","MPI_Group_difference","MPI_Group_excl","MPI_Group_f2c","MPI_Group_free","MPI_Group_from_session_pset","MPI_Group_incl","MPI_Group_intersection","MPI_Group_range_excl","MPI_Group_range_incl","MPI_Group_rank","MPI_Group_size","MPI_Group_translate_ranks","MPI_Group_union","MPI_Iallgather","MPI_Iallgatherv","MPI_Iallreduce","MPI_Ialltoall","MPI_Ialltoallv","MPI_Ialltoallw","MPI_Ibarrier","MPI_Ibcast","MPI_Ibsend","MPI_Iexscan","MPI_Igather","MPI_Igatherv","MPI_Improbe","MPI_Imrecv","MPI_Ineighbor_allgather","MPI_Ineighbor_allgatherv","MPI_Ineighbor_alltoall","MPI_Ineighbor_alltoallv","MPI_Ineighbor_alltoallw","MPI_Info_c2f","MPI_Info_create","MPI_Info_create_env","MPI_Info_delete","MPI_Info_dup","MPI_Info_f2c","MPI_Info_free","MPI_Info_get","MPI_Info_get_nkeys","MPI_Info_get_nthkey","MPI_Info_get_string","MPI_Info_get_valuelen","MPI_Info_set","MPI_Init","MPI_Init_thread","MPI_Initialized","MPI_Intercomm_create","MPI_Intercomm_create_from_groups","MPI_Intercomm_merge","MPI_Iprobe","MPI_Irecv","MPI_Ireduce","MPI_Ireduce_scatter","MPI_Ireduce_scatter_block","MPI_Irsend","MPI_Is_thread_main","MPI_Iscan","MPI_Iscatter","MPI_Iscatterv","MPI_Isend","MPI_Isendrecv","MPI_Isendrecv_replace","MPI_Issend","MPI_Keyval_create","MPI_Keyval_free","MPI_Lookup_name","MPI_Message_c2f","MPI_Message_f2c","MPI_Mprobe","MPI_Mrecv","MPI_NULL_COPY_FN","MPI_NULL_DELETE_FN","MPI_Neighbor_allgather","MPI_Neighbor_allgather_init","MPI_Neighbor_allgatherv","MPI_Neighbor_allgatherv_init","MPI_Neighbor_alltoall","MPI_Neighbor_alltoall_init","MPI_Neighbor_alltoallv","MPI_Neighbor_alltoallv_init","MPI_Neighbor_alltoallw","MPI_Neighbor_alltoallw_init","MPI_Op_c2f","MPI_Op_commutative","MPI_Op_create","MPI_Op_f2c","MPI_Op_free","MPI_Open_port","MPI_Pack","MPI_Pack_external","MPI_Pack_external_size","MPI_Pack_size","MPI_Parrived","MPI_Pcontrol","MPI_Pready","MPI_Pready_list","MPI_Pready_range","MPI_Precv_init","MPI_Probe","MPI_Psend_init","MPI_Publish_name","MPI_Put","MPI_Query_thread","MPI_Raccumulate","MPI_Recv","MPI_Recv_init","MPI_Reduce","MPI_Reduce_init","MPI_Reduce_local","MPI_Reduce_scatter","MPI_Reduce_scatter_block","MPI_Reduce_scatter_block_init","MPI_Reduce_scatter_init","MPI_Register_datarep","MPI_Request_c2f","MPI_Request_f2c","MPI_Request_free","MPI_Request_get_status","MPI_Rget","MPI_Rget_accumulate","MPI_Rput","MPI_Rsend","MPI_Rsend_init","MPI_Scan","MPI_Scan_init","MPI_Scatter","MPI_Scatter_init","MPI_Scatterv","MPI_Scatterv_init","MPI_Send","MPI_Send_init","MPI_Sendrecv","MPI_Sendrecv_replace","MPI_Session_c2f","MPI_Session_call_errhandler","MPI_Session_create_errhandler","MPI_Session_f2c","MPI_Session_finalize","MPI_Session_get_errhandler","MPI_Session_get_info","MPI_Session_get_nth_pset","MPI_Session_get_num_psets","MPI_Session_get_pset_info","MPI_Session_init","MPI_Session_set_errhandler","MPI_Session_set_info","MPI_Ssend","MPI_Ssend_init","MPI_Start","MPI_Startall","MPI_Status_c2f","MPI_Status_c2f08","MPI_Status_f082c","MPI_Status_f082f","MPI_Status_f2c","MPI_Status_f2f08","MPI_Status_set_cancelled","MPI_Status_set_elements","MPI_Status_set_elements_x","MPI_TYPE_DUP_FN","MPI_TYPE_NULL_COPY_FN","MPI_TYPE_NULL_DELETE_FN","MPI_T_category_changed","MPI_T_category_get_categories","MPI_T_category_get_cvars","MPI_T_category_get_index","MPI_T_category_get_info","MPI_T_category_get_num","MPI_T_category_get_pvars","MPI_T_cvar_get_index","MPI_T_cvar_get_info","MPI_T_cvar_get_num","MPI_T_cvar_handle_alloc","MPI_T_cvar_handle_free","MPI_T_cvar_read","MPI_T_cvar_write","MPI_T_enum_get_info","MPI_T_enum_get_item","MPI_T_finalize","MPI_T_init_thread","MPI_T_pvar_get_index","MPI_T_pvar_get_info","MPI_T_pvar_get_num","MPI_T_pvar_handle_alloc","MPI_T_pvar_handle_free","MPI_T_pvar_read","MPI_T_pvar_readreset","MPI_T_pvar_reset","MPI_T_pvar_session_create","MPI_T_pvar_session_free","MPI_T_pvar_start","MPI_T_pvar_stop","MPI_T_pvar_write","MPI_Test","MPI_Test_cancelled","MPI_Testall","MPI_Testany","MPI_Testsome","MPI_Topo_test","MPI_Type_c2f","MPI_Type_commit","MPI_Type_contiguous","MPI_Type_create_darray","MPI_Type_create_f90_complex","MPI_Type_create_f90_integer","MPI_Type_create_f90_real","MPI_Type_create_hindexed","MPI_Type_create_hindexed_block","MPI_Type_create_hvector","MPI_Type_create_indexed_block","MPI_Type_create_keyval","MPI_Type_create_resized","MPI_Type_create_struct","MPI_Type_create_subarray","MPI_Type_delete_attr","MPI_Type_dup","MPI_Type_extent","MPI_Type_f2c","MPI_Type_free","MPI_Type_free_keyval","MPI_Type_get_attr","MPI_Type_get_contents","MPI_Type_get_envelope","MPI_Type_get_extent","MPI_Type_get_extent_x","MPI_Type_get_name","MPI_Type_get_true_extent","MPI_Type_get_true_extent_x","MPI_Type_hindexed","MPI_Type_hvector","MPI_Type_indexed","MPI_Type_lb","MPI_Type_match_size","MPI_Type_set_attr","MPI_Type_set_name","MPI_Type_size","MPI_Type_size_x","MPI_Type_struct","MPI_Type_ub","MPI_Type_vector","MPI_Unpack","MPI_Unpack_external","MPI_Unpublish_name","MPI_WIN_DUP_FN","MPI_WIN_NULL_COPY_FN","MPI_WIN_NULL_DELETE_FN","MPI_WTICK_F90","MPI_WTIME_F90","MPI_Wait","MPI_Waitall","MPI_Waitany","MPI_Waitsome","MPI_Win_allocate","MPI_Win_allocate_shared","MPI_Win_attach","MPI_Win_c2f","MPI_Win_call_errhandler","MPI_Win_complete","MPI_Win_create","MPI_Win_create_dynamic","MPI_Win_create_errhandler","MPI_Win_create_keyval","MPI_Win_delete_attr","MPI_Win_detach","MPI_Win_f2c","MPI_Win_fence","MPI_Win_flush","MPI_Win_flush_all","MPI_Win_flush_local","MPI_Win_flush_local_all","MPI_Win_free","MPI_Win_free_keyval","MPI_Win_get_attr","MPI_Win_get_errhandler","MPI_Win_get_group","MPI_Win_get_info","MPI_Win_get_name","MPI_Win_lock","MPI_Win_lock_all","MPI_Win_post","MPI_Win_set_attr","MPI_Win_set_errhandler","MPI_Win_set_info","MPI_Win_set_name","MPI_Win_shared_query","MPI_Win_start","MPI_Win_sync","MPI_Win_test","MPI_Win_unlock","MPI_Win_unlock_all","MPI_Win_wait","MPI_Wtick","MPI_Wtime","NBC_Comm_neighbors","NBC_Comm_neighbors_count","NBC_Error","NBC_Error.constprop.0:0x12d820","NBC_Error.constprop.0:0x12e380","NBC_Error.constprop.0:0x12ee10","NBC_Error.constprop.0:0x130de0","NBC_Error.constprop.0:0x138c20","NBC_Error.constprop.0:0x13a930","NBC_Error.constprop.0:0x13bee0","NBC_Init_comm","NBC_Progress","NBC_Return_handle","NBC_Sched_barrier","NBC_Sched_commit","NBC_Sched_copy","NBC_Sched_local_recv","NBC_Sched_local_send","NBC_Sched_op","NBC_Sched_recv","NBC_Sched_send","NBC_Sched_unpack","NBC_Schedule_request","NBC_Start","NBC_Start_round","OMPI_Affinity_str","OMPI_Affinity_str.cold","OMPI_C_MPI_COMM_DUP_FN","OMPI_C_MPI_COMM_NULL_COPY_FN","OMPI_C_MPI_COMM_NULL_DELETE_FN","OMPI_C_MPI_DUP_FN","OMPI_C_MPI_NULL_COPY_FN","OMPI_C_MPI_NULL_DELETE_FN","OMPI_C_MPI_TYPE_DUP_FN","OMPI_C_MPI_TYPE_NULL_COPY_FN","OMPI_C_MPI_TYPE_NULL_DELETE_FN","OMPI_C_MPI_WIN_DUP_FN","OMPI_C_MPI_WIN_NULL_COPY_FN","OMPI_C_MPI_WIN_NULL_DELETE_FN","OMPI_TEST_FORTRAN_CONSTANTS","PMPIX_Comm_ack_failed","PMPIX_Comm_ack_failed.cold","PMPIX_Comm_agree","PMPIX_Comm_agree.cold","PMPIX_Comm_failure_ack","PMPIX_Comm_failure_ack.cold","PMPIX_Comm_failure_get_acked","PMPIX_Comm_failure_get_acked.cold","PMPIX_Comm_get_failed","PMPIX_Comm_get_failed.cold","PMPIX_Comm_iagree","PMPIX_Comm_iagree.cold","PMPIX_Comm_is_revoked","PMPIX_Comm_revoke","PMPIX_Comm_revoke.cold","PMPIX_Comm_shrink","PMPIX_Comm_shrink.cold","PMPI_Abort","PMPI_Accumulate","PMPI_Accumulate.cold","PMPI_Add_error_class","PMPI_Add_error_class.cold","PMPI_Add_error_code","PMPI_Add_error_code.cold","PMPI_Add_error_string","PMPI_Address","PMPI_Allgather","PMPI_Allgather.cold","PMPI_Allgather_init","PMPI_Allgather_init.cold","PMPI_Allgatherv","PMPI_Allgatherv.cold","PMPI_Allgatherv_init","PMPI_Allgatherv_init.cold","PMPI_Alloc_mem","PMPI_Allreduce","PMPI_Allreduce.cold","PMPI_Allreduce_init","PMPI_Allreduce_init.cold","PMPI_Alltoall","PMPI_Alltoall.cold","PMPI_Alltoall_init","PMPI_Alltoall_init.cold","PMPI_Alltoallv","PMPI_Alltoallv.cold","PMPI_Alltoallv_init","PMPI_Alltoallv_init.cold","PMPI_Alltoallw","PMPI_Alltoallw.cold","PMPI_Alltoallw_init","PMPI_Alltoallw_init.cold","PMPI_Attr_delete","PMPI_Attr_get","PMPI_Attr_get.cold","PMPI_Attr_put","PMPI_Barrier","PMPI_Barrier.cold","PMPI_Barrier_init","PMPI_Barrier_init.cold","PMPI_Bcast","PMPI_Bcast.cold","PMPI_Bcast_init","PMPI_Bcast_init.cold","PMPI_Bsend","PMPI_Bsend.cold","PMPI_Bsend_init","PMPI_Bsend_init.cold","PMPI_Buffer_attach","PMPI_Buffer_detach","PMPI_Cancel","PMPI_Cancel.cold","PMPI_Cart_coords","PMPI_Cart_coords.cold","PMPI_Cart_create","PMPI_Cart_create.cold","PMPI_Cart_get","PMPI_Cart_get.cold","PMPI_Cart_map","PMPI_Cart_map.cold","PMPI_Cart_rank","PMPI_Cart_rank.cold","PMPI_Cart_shift","PMPI_Cart_shift.cold","PMPI_Cart_sub","PMPI_Cart_sub.cold","PMPI_Cartdim_get","PMPI_Cartdim_get.cold","PMPI_Close_port","PMPI_Close_port.cold","PMPI_Comm_accept","PMPI_Comm_accept.cold","PMPI_Comm_c2f","PMPI_Comm_call_errhandler","PMPI_Comm_call_errhandler.cold","PMPI_Comm_compare","PMPI_Comm_compare.cold","PMPI_Comm_connect","PMPI_Comm_connect.cold","PMPI_Comm_create","PMPI_Comm_create.cold","PMPI_Comm_create_errhandler","PMPI_Comm_create_from_group","PMPI_Comm_create_group","PMPI_Comm_create_group.cold","PMPI_Comm_create_keyval","PMPI_Comm_delete_attr","PMPI_Comm_disconnect","PMPI_Comm_dup","PMPI_Comm_dup.cold","PMPI_Comm_dup_with_info","PMPI_Comm_dup_with_info.cold","PMPI_Comm_f2c","PMPI_Comm_free","PMPI_Comm_free.cold","PMPI_Comm_free_keyval","PMPI_Comm_get_attr","PMPI_Comm_get_errhandler","PMPI_Comm_get_info","PMPI_Comm_get_name","PMPI_Comm_get_parent","PMPI_Comm_group","PMPI_Comm_group.cold","PMPI_Comm_idup","PMPI_Comm_idup.cold","PMPI_Comm_idup_with_info","PMPI_Comm_idup_with_info.cold","PMPI_Comm_join","PMPI_Comm_join.cold","PMPI_Comm_rank","PMPI_Comm_remote_group","PMPI_Comm_remote_size","PMPI_Comm_set_attr","PMPI_Comm_set_errhandler","PMPI_Comm_set_info","PMPI_Comm_set_name","PMPI_Comm_set_name.cold","PMPI_Comm_size","PMPI_Comm_spawn","PMPI_Comm_spawn.cold","PMPI_Comm_spawn_multiple","PMPI_Comm_spawn_multiple.cold","PMPI_Comm_split","PMPI_Comm_split.cold","PMPI_Comm_split_type","PMPI_Comm_split_type.cold","PMPI_Comm_test_inter","PMPI_Compare_and_swap","PMPI_Compare_and_swap.cold","PMPI_Dims_create","PMPI_Dist_graph_create","PMPI_Dist_graph_create.cold","PMPI_Dist_graph_create_adjacent","PMPI_Dist_graph_create_adjacent.cold","PMPI_Dist_graph_neighbors","PMPI_Dist_graph_neighbors.cold","PMPI_Dist_graph_neighbors_count","PMPI_Dist_graph_neighbors_count.cold","PMPI_Errhandler_c2f","PMPI_Errhandler_create","PMPI_Errhandler_f2c","PMPI_Errhandler_free","PMPI_Errhandler_get","PMPI_Errhandler_set","PMPI_Error_class","PMPI_Error_class.cold","PMPI_Error_string","PMPI_Error_string.cold","PMPI_Exscan","PMPI_Exscan.cold","PMPI_Exscan_init","PMPI_Exscan_init.cold","PMPI_Fetch_and_op","PMPI_Fetch_and_op.cold","PMPI_File_c2f","PMPI_File_call_errhandler","PMPI_File_call_errhandler.cold","PMPI_File_close","PMPI_File_close.cold","PMPI_File_create_errhandler","PMPI_File_delete","PMPI_File_delete.cold","PMPI_File_f2c","PMPI_File_get_amode","PMPI_File_get_amode.cold","PMPI_File_get_atomicity","PMPI_File_get_atomicity.cold","PMPI_File_get_byte_offset","PMPI_File_get_byte_offset.cold","PMPI_File_get_errhandler","PMPI_File_get_group","PMPI_File_get_group.cold","PMPI_File_get_info","PMPI_File_get_info.cold","PMPI_File_get_position","PMPI_File_get_position.cold","PMPI_File_get_position_shared","PMPI_File_get_position_shared.cold","PMPI_File_get_size","PMPI_File_get_size.cold","PMPI_File_get_type_extent","PMPI_File_get_type_extent.cold","PMPI_File_get_view","PMPI_File_get_view.cold","PMPI_File_iread","PMPI_File_iread.cold","PMPI_File_iread_all","PMPI_File_iread_all.cold","PMPI_File_iread_at","PMPI_File_iread_at.cold","PMPI_File_iread_at_all","PMPI_File_iread_at_all.cold","PMPI_File_iread_shared","PMPI_File_iread_shared.cold","PMPI_File_iwrite","PMPI_File_iwrite.cold","PMPI_File_iwrite_all","PMPI_File_iwrite_all.cold","PMPI_File_iwrite_at","PMPI_File_iwrite_at.cold","PMPI_File_iwrite_at_all","PMPI_File_iwrite_at_all.cold","PMPI_File_iwrite_shared","PMPI_File_iwrite_shared.cold","PMPI_File_open","PMPI_File_open.cold","PMPI_File_preallocate","PMPI_File_preallocate.cold","PMPI_File_read","PMPI_File_read.cold","PMPI_File_read_all","PMPI_File_read_all.cold","PMPI_File_read_all_begin","PMPI_File_read_all_begin.cold","PMPI_File_read_all_end","PMPI_File_read_all_end.cold","PMPI_File_read_at","PMPI_File_read_at.cold","PMPI_File_read_at_all","PMPI_File_read_at_all.cold","PMPI_File_read_at_all_begin","PMPI_File_read_at_all_begin.cold","PMPI_File_read_at_all_end","PMPI_File_read_at_all_end.cold","PMPI_File_read_ordered","PMPI_File_read_ordered.cold","PMPI_File_read_ordered_begin","PMPI_File_read_ordered_begin.cold","PMPI_File_read_ordered_end","PMPI_File_read_ordered_end.cold","PMPI_File_read_shared","PMPI_File_read_shared.cold","PMPI_File_seek","PMPI_File_seek.cold","PMPI_File_seek_shared","PMPI_File_seek_shared.cold","PMPI_File_set_atomicity","PMPI_File_set_atomicity.cold","PMPI_File_set_errhandler","PMPI_File_set_info","PMPI_File_set_info.cold","PMPI_File_set_size","PMPI_File_set_size.cold","PMPI_File_set_view","PMPI_File_set_view.cold","PMPI_File_sync","PMPI_File_sync.cold","PMPI_File_write","PMPI_File_write.cold","PMPI_File_write_all","PMPI_File_write_all.cold","PMPI_File_write_all_begin","PMPI_File_write_all_begin.cold","PMPI_File_write_all_end","PMPI_File_write_all_end.cold","PMPI_File_write_at","PMPI_File_write_at.cold","PMPI_File_write_at_all","PMPI_File_write_at_all.cold","PMPI_File_write_at_all_begin","PMPI_File_write_at_all_begin.cold","PMPI_File_write_at_all_end","PMPI_File_write_at_all_end.cold","PMPI_File_write_ordered","PMPI_File_write_ordered.cold","PMPI_File_write_ordered_begin","PMPI_File_write_ordered_begin.cold","PMPI_File_write_ordered_end","PMPI_File_write_ordered_end.cold","PMPI_File_write_shared","PMPI_File_write_shared.cold","PMPI_Finalize","PMPI_Finalized","PMPI_Free_mem","PMPI_Gather","PMPI_Gather.cold","PMPI_Gather_init","PMPI_Gather_init.cold","PMPI_Gatherv","PMPI_Gatherv.cold","PMPI_Gatherv_init","PMPI_Gatherv_init.cold","PMPI_Get","PMPI_Get.cold","PMPI_Get_accumulate","PMPI_Get_accumulate.cold","PMPI_Get_address","PMPI_Get_count","PMPI_Get_elements","PMPI_Get_elements_x","PMPI_Get_library_version","PMPI_Get_processor_name","PMPI_Get_version","PMPI_Graph_create","PMPI_Graph_create.cold","PMPI_Graph_get","PMPI_Graph_get.cold","PMPI_Graph_map","PMPI_Graph_map.cold","PMPI_Graph_neighbors","PMPI_Graph_neighbors.cold","PMPI_Graph_neighbors_count","PMPI_Graph_neighbors_count.cold","PMPI_Graphdims_get","PMPI_Graphdims_get.cold","PMPI_Grequest_complete","PMPI_Grequest_start","PMPI_Grequest_start.cold","PMPI_Group_c2f","PMPI_Group_compare","PMPI_Group_difference","PMPI_Group_difference.cold","PMPI_Group_excl","PMPI_Group_excl.cold","PMPI_Group_f2c","PMPI_Group_free","PMPI_Group_free.cold","PMPI_Group_from_session_pset","PMPI_Group_from_session_pset.cold","PMPI_Group_incl","PMPI_Group_incl.cold","PMPI_Group_intersection","PMPI_Group_intersection.cold","PMPI_Group_range_excl","PMPI_Group_range_excl.cold","PMPI_Group_range_incl","PMPI_Group_range_incl.cold","PMPI_Group_rank","PMPI_Group_size","PMPI_Group_translate_ranks","PMPI_Group_translate_ranks.cold","PMPI_Group_union","PMPI_Group_union.cold","PMPI_Iallgather","PMPI_Iallgather.cold","PMPI_Iallgatherv","PMPI_Iallgatherv.cold","PMPI_Iallreduce","PMPI_Iallreduce.cold","PMPI_Ialltoall","PMPI_Ialltoall.cold","PMPI_Ialltoallv","PMPI_Ialltoallv.cold","PMPI_Ialltoallw","PMPI_Ialltoallw.cold","PMPI_Ibarrier","PMPI_Ibarrier.cold","PMPI_Ibcast","PMPI_Ibcast.cold","PMPI_Ibsend","PMPI_Ibsend.cold","PMPI_Iexscan","PMPI_Iexscan.cold","PMPI_Igather","PMPI_Igather.cold","PMPI_Igatherv","PMPI_Igatherv.cold","PMPI_Improbe","PMPI_Improbe.cold","PMPI_Imrecv","PMPI_Imrecv.cold","PMPI_Ineighbor_allgather","PMPI_Ineighbor_allgather.cold","PMPI_Ineighbor_allgatherv","PMPI_Ineighbor_allgatherv.cold","PMPI_Ineighbor_alltoall","PMPI_Ineighbor_alltoall.cold","PMPI_Ineighbor_alltoallv","PMPI_Ineighbor_alltoallv.cold","PMPI_Ineighbor_alltoallw","PMPI_Ineighbor_alltoallw.cold","PMPI_Info_c2f","PMPI_Info_create","PMPI_Info_create_env","PMPI_Info_create_env.cold","PMPI_Info_delete","PMPI_Info_delete.cold","PMPI_Info_dup","PMPI_Info_dup.cold","PMPI_Info_f2c","PMPI_Info_free","PMPI_Info_free.cold","PMPI_Info_get","PMPI_Info_get.cold","PMPI_Info_get_nkeys","PMPI_Info_get_nkeys.cold","PMPI_Info_get_nthkey","PMPI_Info_get_nthkey.cold","PMPI_Info_get_string","PMPI_Info_get_string.cold","PMPI_Info_get_valuelen","PMPI_Info_get_valuelen.cold","PMPI_Info_set","PMPI_Info_set.cold","PMPI_Init","PMPI_Init.cold","PMPI_Init_thread","PMPI_Init_thread.cold","PMPI_Initialized","PMPI_Intercomm_create","PMPI_Intercomm_create.cold","PMPI_Intercomm_create_from_groups","PMPI_Intercomm_merge","PMPI_Intercomm_merge.cold","PMPI_Iprobe","PMPI_Iprobe.cold","PMPI_Irecv","PMPI_Irecv.cold","PMPI_Ireduce","PMPI_Ireduce.cold","PMPI_Ireduce_scatter","PMPI_Ireduce_scatter.cold","PMPI_Ireduce_scatter_block","PMPI_Ireduce_scatter_block.cold","PMPI_Irsend","PMPI_Irsend.cold","PMPI_Is_thread_main","PMPI_Iscan","PMPI_Iscan.cold","PMPI_Iscatter","PMPI_Iscatter.cold","PMPI_Iscatterv","PMPI_Iscatterv.cold","PMPI_Isend","PMPI_Isend.cold","PMPI_Isendrecv","PMPI_Isendrecv.cold","PMPI_Isendrecv_replace","PMPI_Isendrecv_replace.cold","PMPI_Issend","PMPI_Issend.cold","PMPI_Keyval_create","PMPI_Keyval_free","PMPI_Lookup_name","PMPI_Lookup_name.cold","PMPI_Message_c2f","PMPI_Message_f2c","PMPI_Mprobe","PMPI_Mprobe.cold","PMPI_Mrecv","PMPI_Mrecv.cold","PMPI_Neighbor_allgather","PMPI_Neighbor_allgather.cold","PMPI_Neighbor_allgather_init","PMPI_Neighbor_allgather_init.cold","PMPI_Neighbor_allgatherv","PMPI_Neighbor_allgatherv.cold","PMPI_Neighbor_allgatherv_init","PMPI_Neighbor_allgatherv_init.cold","PMPI_Neighbor_alltoall","PMPI_Neighbor_alltoall.cold","PMPI_Neighbor_alltoall_init","PMPI_Neighbor_alltoall_init.cold","PMPI_Neighbor_alltoallv","PMPI_Neighbor_alltoallv.cold","PMPI_Neighbor_alltoallv_init","PMPI_Neighbor_alltoallv_init.cold","PMPI_Neighbor_alltoallw","PMPI_Neighbor_alltoallw.cold","PMPI_Neighbor_alltoallw_init","PMPI_Neighbor_alltoallw_init.cold","PMPI_Op_c2f","PMPI_Op_commutative","PMPI_Op_create","PMPI_Op_f2c","PMPI_Op_free","PMPI_Open_port","PMPI_Open_port.cold","PMPI_Pack","PMPI_Pack.cold","PMPI_Pack_external","PMPI_Pack_external.cold","PMPI_Pack_external_size","PMPI_Pack_external_size.cold","PMPI_Pack_size","PMPI_Parrived","PMPI_Parrived.cold","PMPI_Pcontrol","PMPI_Pready","PMPI_Pready.cold","PMPI_Pready_list","PMPI_Pready_list.cold","PMPI_Pready_range","PMPI_Pready_range.cold","PMPI_Precv_init","PMPI_Precv_init.cold","PMPI_Probe","PMPI_Probe.cold","PMPI_Psend_init","PMPI_Psend_init.cold","PMPI_Publish_name","PMPI_Publish_name.cold","PMPI_Put","PMPI_Put.cold","PMPI_Query_thread","PMPI_Raccumulate","PMPI_Raccumulate.cold","PMPI_Recv","PMPI_Recv.cold","PMPI_Recv_init","PMPI_Recv_init.cold","PMPI_Reduce","PMPI_Reduce.cold","PMPI_Reduce_init","PMPI_Reduce_init.cold","PMPI_Reduce_local","PMPI_Reduce_local.cold","PMPI_Reduce_scatter","PMPI_Reduce_scatter.cold","PMPI_Reduce_scatter_block","PMPI_Reduce_scatter_block.cold","PMPI_Reduce_scatter_block_init","PMPI_Reduce_scatter_block_init.cold","PMPI_Reduce_scatter_init","PMPI_Reduce_scatter_init.cold","PMPI_Register_datarep","PMPI_Register_datarep.cold","PMPI_Request_c2f","PMPI_Request_f2c","PMPI_Request_free","PMPI_Request_free.cold","PMPI_Request_get_status","PMPI_Rget","PMPI_Rget.cold","PMPI_Rget_accumulate","PMPI_Rget_accumulate.cold","PMPI_Rput","PMPI_Rput.cold","PMPI_Rsend","PMPI_Rsend.cold","PMPI_Rsend_init","PMPI_Rsend_init.cold","PMPI_Scan","PMPI_Scan.cold","PMPI_Scan_init","PMPI_Scan_init.cold","PMPI_Scatter","PMPI_Scatter.cold","PMPI_Scatter_init","PMPI_Scatter_init.cold","PMPI_Scatterv","PMPI_Scatterv.cold","PMPI_Scatterv_init","PMPI_Scatterv_init.cold","PMPI_Send","PMPI_Send.cold","PMPI_Send_init","PMPI_Send_init.cold","PMPI_Sendrecv","PMPI_Sendrecv.cold","PMPI_Sendrecv_replace","PMPI_Sendrecv_replace.cold","PMPI_Session_c2f","PMPI_Session_call_errhandler","PMPI_Session_call_errhandler.cold","PMPI_Session_create_errhandler","PMPI_Session_f2c","PMPI_Session_finalize","PMPI_Session_finalize.cold","PMPI_Session_get_errhandler","PMPI_Session_get_errhandler.cold","PMPI_Session_get_info","PMPI_Session_get_nth_pset","PMPI_Session_get_nth_pset.cold","PMPI_Session_get_num_psets","PMPI_Session_get_num_psets.cold","PMPI_Session_get_pset_info","PMPI_Session_get_pset_info.cold","PMPI_Session_init","PMPI_Session_init.cold","PMPI_Session_set_errhandler","PMPI_Session_set_info","PMPI_Ssend","PMPI_Ssend.cold","PMPI_Ssend_init","PMPI_Ssend_init.cold","PMPI_Start","PMPI_Start.cold","PMPI_Startall","PMPI_Status_c2f","PMPI_Status_c2f08","PMPI_Status_f082c","PMPI_Status_f082f","PMPI_Status_f2c","PMPI_Status_f2f08","PMPI_Status_set_cancelled","PMPI_Status_set_elements","PMPI_Status_set_elements_x","PMPI_T_category_changed","PMPI_T_category_get_categories","PMPI_T_category_get_cvars","PMPI_T_category_get_index","PMPI_T_category_get_info","PMPI_T_category_get_num","PMPI_T_category_get_pvars","PMPI_T_cvar_get_index","PMPI_T_cvar_get_info","PMPI_T_cvar_get_num","PMPI_T_cvar_handle_alloc","PMPI_T_cvar_handle_free","PMPI_T_cvar_read","PMPI_T_cvar_write","PMPI_T_enum_get_info","PMPI_T_enum_get_item","PMPI_T_finalize","PMPI_T_init_thread","PMPI_T_pvar_get_index","PMPI_T_pvar_get_info","PMPI_T_pvar_get_num","PMPI_T_pvar_handle_alloc","PMPI_T_pvar_handle_free","PMPI_T_pvar_read","PMPI_T_pvar_readreset","PMPI_T_pvar_reset","PMPI_T_pvar_session_create","PMPI_T_pvar_session_free","PMPI_T_pvar_start","PMPI_T_pvar_stop","PMPI_T_pvar_write","PMPI_Test","PMPI_Test_cancelled","PMPI_Testall","PMPI_Testany","PMPI_Testsome","PMPI_Topo_test","PMPI_Type_c2f","PMPI_Type_commit","PMPI_Type_commit.cold","PMPI_Type_contiguous","PMPI_Type_contiguous.cold","PMPI_Type_create_darray","PMPI_Type_create_darray.cold","PMPI_Type_create_f90_complex","PMPI_Type_create_f90_complex.cold","PMPI_Type_create_f90_integer","PMPI_Type_create_f90_integer.cold","PMPI_Type_create_f90_real","PMPI_Type_create_f90_real.cold","PMPI_Type_create_hindexed","PMPI_Type_create_hindexed.cold","PMPI_Type_create_hindexed_block","PMPI_Type_create_hindexed_block.cold","PMPI_Type_create_hvector","PMPI_Type_create_hvector.cold","PMPI_Type_create_indexed_block","PMPI_Type_create_indexed_block.cold","PMPI_Type_create_keyval","PMPI_Type_create_keyval.cold","PMPI_Type_create_resized","PMPI_Type_create_resized.cold","PMPI_Type_create_struct","PMPI_Type_create_struct.cold","PMPI_Type_create_subarray","PMPI_Type_create_subarray.cold","PMPI_Type_delete_attr","PMPI_Type_dup","PMPI_Type_dup.cold","PMPI_Type_extent","PMPI_Type_f2c","PMPI_Type_free","PMPI_Type_free_keyval","PMPI_Type_get_attr","PMPI_Type_get_contents","PMPI_Type_get_envelope","PMPI_Type_get_envelope.cold","PMPI_Type_get_extent","PMPI_Type_get_extent_x","PMPI_Type_get_name","PMPI_Type_get_true_extent","PMPI_Type_get_true_extent_x","PMPI_Type_hindexed","PMPI_Type_hvector","PMPI_Type_indexed","PMPI_Type_indexed.cold","PMPI_Type_lb","PMPI_Type_match_size","PMPI_Type_set_attr","PMPI_Type_set_name","PMPI_Type_size","PMPI_Type_size_x","PMPI_Type_struct","PMPI_Type_ub","PMPI_Type_vector","PMPI_Type_vector.cold","PMPI_Unpack","PMPI_Unpack.cold","PMPI_Unpack_external","PMPI_Unpack_external.cold","PMPI_Unpublish_name","PMPI_Unpublish_name.cold","PMPI_Wait","PMPI_Waitall","PMPI_Waitany","PMPI_Waitsome","PMPI_Win_allocate","PMPI_Win_allocate_shared","PMPI_Win_allocate_shared.cold","PMPI_Win_attach","PMPI_Win_attach.cold","PMPI_Win_c2f","PMPI_Win_call_errhandler","PMPI_Win_call_errhandler.cold","PMPI_Win_complete","PMPI_Win_complete.cold","PMPI_Win_create","PMPI_Win_create_dynamic","PMPI_Win_create_errhandler","PMPI_Win_create_keyval","PMPI_Win_delete_attr","PMPI_Win_detach","PMPI_Win_detach.cold","PMPI_Win_f2c","PMPI_Win_fence","PMPI_Win_fence.cold","PMPI_Win_flush","PMPI_Win_flush.cold","PMPI_Win_flush_all","PMPI_Win_flush_all.cold","PMPI_Win_flush_local","PMPI_Win_flush_local.cold","PMPI_Win_flush_local_all","PMPI_Win_flush_local_all.cold","PMPI_Win_free","PMPI_Win_free.cold","PMPI_Win_free_keyval","PMPI_Win_get_attr","PMPI_Win_get_errhandler","PMPI_Win_get_group","PMPI_Win_get_group.cold","PMPI_Win_get_info","PMPI_Win_get_info.cold","PMPI_Win_get_name","PMPI_Win_get_name.cold","PMPI_Win_lock","PMPI_Win_lock.cold","PMPI_Win_lock_all","PMPI_Win_lock_all.cold","PMPI_Win_post","PMPI_Win_post.cold","PMPI_Win_set_attr","PMPI_Win_set_errhandler","PMPI_Win_set_info","PMPI_Win_set_info.cold","PMPI_Win_set_name","PMPI_Win_set_name.cold","PMPI_Win_shared_query","PMPI_Win_shared_query.cold","PMPI_Win_start","PMPI_Win_start.cold","PMPI_Win_sync","PMPI_Win_sync.cold","PMPI_Win_test","PMPI_Win_test.cold","PMPI_Win_unlock","PMPI_Win_unlock.cold","PMPI_Win_unlock_all","PMPI_Win_unlock_all.cold","PMPI_Win_wait","PMPI_Win_wait.cold","PMPI_Wtick","PMPI_Wtime","PQ_adjustElementKey","PQ_adjustKey","PQ_decreaseElementKey","PQ_decreaseKey","PQ_delete","PQ_deleteElement","PQ_deleteMax","PQ_deleteMaxElement","PQ_exit","PQ_findMaxElement","PQ_findMaxKey","PQ_free","PQ_increaseElementKey","PQ_increaseKey","PQ_init","PQ_insert","PQ_insertElement","PQ_isEmpty","V_OUTPUT_ERR","__SENDER_BASED_METHOD_COPY","__do_global_dtors_aux","__muldc3","__mulsc3","__mulxc3","__ompi_datatype_allocate","__ompi_datatype_create_from_args","__ompi_datatype_create_from_packed_description.isra.0","__ompi_datatype_pack_description.isra.0","__ompi_datatype_release","_convert_process_name_to_string:0x84d30","_convert_process_name_to_string:0x88400","_convert_string_to_jobid","_convert_string_to_process_name:0x84b80","_convert_string_to_process_name:0x88410","_jobid_print_for_opal","_mca_topo_base_select.part.0","_process_name_compare:0x849c0","_process_name_compare:0x88420","_process_name_print_for_opal:0x84790","_process_name_print_for_opal:0x88450","_release_fn","_vpid_print_for_opal","adapt_close","adapt_constant_reduce_context_construct","adapt_constant_reduce_context_destruct","adapt_module_construct","adapt_module_destruct","adapt_module_enable","adapt_open","adapt_register","alloc_window","append_frag_to_list","attr_subsys_construct","attr_subsys_construct.cold","attr_subsys_destruct","attribute_key_value_construct","avail_coll_compare","avail_io_compare:0x179350","avail_io_compare:0x1799d0","avail_op_compare","avx_component_close","avx_component_init_query","avx_component_op_query","avx_component_open","avx_component_register","backend_abort_aggregate","backend_abort_no_aggregate","basic_register","block","bootstrap_comm","btl_bandwidth_compare","btl_exclusivity_compare","btl_latency_sort_fn","buffer_cleanup","build_level_topology","build_level_topology.cold","build_process_tab_id","check","check_file","check_one_component","close_component","coll_base_comm_construct","coll_base_comm_destruct","coll_base_module_construct","coll_base_module_destruct","comm_method_string","compFunc","compare_attr_sequence","compare_ints","compare_pmix_proc","compare_ranks:0x1da9b0","compare_ranks:0x1ea3b0","compare_uint16_ts","complete_objs_callback","complete_vecs_callback","component_finalize","component_init","component_open","component_query","component_register","component_select","compute_gain","config_window","construct_peers","cost_calc","create_comm","create_dumb_tree","create_threads","create_win","cset2mapstr.constprop.0","cset2str.constprop.0","datatype_duplicate.isra.0","dbl_cmp_inc","delete_group_list","delete_query","delete_select","depth_first","deregister_tm_clones","destruct_topology_cache","dfs","display_sol","distance","dpm_convert.constprop.0","dpm_convert.constprop.1","dynamic_gen2_register","dynamic_register","era_agreement_comm_specific_constructor","era_agreement_comm_specific_destructor","era_agreement_info_constructor","era_agreement_info_destructor","era_bounce_event_cb","era_cb_fn","era_cb_fn.cold","era_check_status","era_combine_agreement_values","era_combine_agreement_values.cold","era_create_agreement_info","era_create_agreement_info.cold","era_decide","era_error_event_cb","era_iagree_req_complete_cb","era_iagree_req_complete_cb.cold","era_iagree_req_free","era_mark_process_failed","era_merge_new_dead_list","era_next_child","era_on_comm_rank_failure","era_tree_fn_binary","era_tree_fn_star","era_tree_fn_string","era_tree_remove_node","era_update_return_value","era_value_constructor","era_value_destructor","evhandler_dereg_callbk","evhandler_reg_callbk:0x7c580","evhandler_reg_callbk:0x884c0","f1","f2","fast_group","fd_event_cb","fd_heartbeat_rdma_cb","fd_heartbeat_recv_cb","fd_heartbeat_request.isra.0","fd_heartbeat_request_cb","fd_heartbeat_send.isra.0","fd_progress","fence_cbfunc","fence_release:0x820f0","fence_release:0x884b0","file_constructor","file_destructor","file_query","file_unquery","fill_null_pointers","fragment_sent_cb","frame_dummy","free_constraint_tree","free_list_child","free_objs_callback","free_tab_child","free_vecs_callback","ftagree_close","ftagree_register","generate_random_sol.isra.0","generate_work_units.constprop.0","generate_work_units.part.0","get_algorithm","get_dynamic_rule","get_module","get_print_name_buffer","get_rsrc_exists","group_list_asc","group_list_dsc","group_list_id","han_close","han_module_enable","han_open","han_register","hash_asc","hb_itor_search","ibcast_request_fini.isra.0","icompar","individual_register:0x16eff0","individual_register:0x21a490","info_constructor","info_destructor","init_by_array","init_query:0x17b980","init_query:0x21f830","init_query:0x233dc0","inter_register","io_base_request_constructor","ireduce_request_fini.isra.0","kpartition_build_level_topology.isra.0","libnbc_close","libnbc_comm_query","libnbc_init_query","libnbc_module_construct","libnbc_module_destruct","libnbc_module_enable","libnbc_open","libnbc_register","list_all_possible_groups","list_all_possible_groups.cold","lockedfile_register","match_one","mca_bml_base_btl_array_construct","mca_bml_base_btl_array_destruct","mca_bml_base_btl_array_reserve","mca_bml_base_close","mca_bml_base_endpoint_construct","mca_bml_base_endpoint_destruct","mca_bml_base_init","mca_bml_base_inited","mca_bml_base_open","mca_bml_base_register","mca_bml_r2_add_btl","mca_bml_r2_add_btls","mca_bml_r2_add_proc","mca_bml_r2_add_procs","mca_bml_r2_allocate_endpoint","mca_bml_r2_component_close","mca_bml_r2_component_fini","mca_bml_r2_component_init","mca_bml_r2_component_open","mca_bml_r2_component_register","mca_bml_r2_compute_endpoint_metrics","mca_bml_r2_compute_endpoint_metrics.cold","mca_bml_r2_del_btl","mca_bml_r2_del_proc_btl","mca_bml_r2_del_procs","mca_bml_r2_del_procs.cold","mca_bml_r2_endpoint_add_btl","mca_bml_r2_finalize","mca_bml_r2_register","mca_bml_r2_register_error","mca_coll_base_alltoall_intra_basic_inplace","mca_coll_base_alltoallv_intra_basic_inplace","mca_coll_base_colltype_to_str","mca_coll_base_comm_select","mca_coll_base_comm_unselect","mca_coll_base_find_available","mca_coll_base_name_to_colltype","mca_coll_base_reduce_local","mca_coll_basic_allgather_inter","mca_coll_basic_allgatherv_inter","mca_coll_basic_allreduce_inter","mca_coll_basic_allreduce_intra","mca_coll_basic_alltoall_inter","mca_coll_basic_alltoallv_inter","mca_coll_basic_alltoallw_inter","mca_coll_basic_alltoallw_intra","mca_coll_basic_alltoallw_intra_inplace.constprop.0","mca_coll_basic_barrier_inter_lin","mca_coll_basic_barrier_intra_log","mca_coll_basic_bcast_lin_inter","mca_coll_basic_bcast_log_inter","mca_coll_basic_bcast_log_intra","mca_coll_basic_comm_query","mca_coll_basic_exscan_inter","mca_coll_basic_exscan_intra","mca_coll_basic_gather_inter","mca_coll_basic_gatherv_inter","mca_coll_basic_gatherv_intra","mca_coll_basic_init_query","mca_coll_basic_module_enable","mca_coll_basic_neighbor_allgather","mca_coll_basic_neighbor_allgatherv","mca_coll_basic_neighbor_alltoall","mca_coll_basic_neighbor_alltoallv","mca_coll_basic_neighbor_alltoallw","mca_coll_basic_reduce_lin_inter","mca_coll_basic_reduce_log_inter","mca_coll_basic_reduce_log_intra","mca_coll_basic_reduce_scatter_block_inter","mca_coll_basic_reduce_scatter_block_intra","mca_coll_basic_reduce_scatter_inter","mca_coll_basic_reduce_scatter_intra","mca_coll_basic_scan_intra","mca_coll_basic_scatter_inter","mca_coll_basic_scatterv_inter","mca_coll_basic_scatterv_intra","mca_coll_ftagree_comm_query","mca_coll_ftagree_construct","mca_coll_ftagree_era_comm_finalize","mca_coll_ftagree_era_comm_init","mca_coll_ftagree_era_finalize","mca_coll_ftagree_era_init","mca_coll_ftagree_era_inter","mca_coll_ftagree_era_intra","mca_coll_ftagree_eta_intra","mca_coll_ftagree_iera_intra","mca_coll_ftagree_iera_intra.cold","mca_coll_ftagree_init_query","mca_coll_ftagree_module_construct","mca_coll_ftagree_module_destruct","mca_coll_ftagree_module_enable","mca_coll_han_algorithm_id_is_valid","mca_coll_han_algorithm_id_to_fn","mca_coll_han_algorithm_id_to_name","mca_coll_han_algorithm_name_to_id","mca_coll_han_allgather_intra","mca_coll_han_allgather_intra_dynamic","mca_coll_han_allgather_intra_simple","mca_coll_han_allgather_lb_task","mca_coll_han_allgather_lg_task","mca_coll_han_allgather_uag_task","mca_coll_han_allgatherv_intra_dynamic","mca_coll_han_allreduce_intra","mca_coll_han_allreduce_intra_dynamic","mca_coll_han_allreduce_intra_simple","mca_coll_han_allreduce_reproducible","mca_coll_han_allreduce_reproducible_decision","mca_coll_han_allreduce_t0_task","mca_coll_han_allreduce_t1_task","mca_coll_han_allreduce_t2_task","mca_coll_han_allreduce_t3_task","mca_coll_han_barrier_intra_dynamic","mca_coll_han_barrier_intra_simple","mca_coll_han_bcast_intra","mca_coll_han_bcast_intra_dynamic","mca_coll_han_bcast_intra_simple","mca_coll_han_bcast_t0_task","mca_coll_han_bcast_t1_task","mca_coll_han_comm_create","mca_coll_han_comm_create_new","mca_coll_han_comm_query","mca_coll_han_component_name_to_id","mca_coll_han_dump_dynamic_rules","mca_coll_han_free_algorithms","mca_coll_han_free_dynamic_rules","mca_coll_han_gather_intra","mca_coll_han_gather_intra_dynamic","mca_coll_han_gather_intra_simple","mca_coll_han_gather_lg_task","mca_coll_han_gather_ug_task","mca_coll_han_get_all_coll_modules","mca_coll_han_init_algorithms","mca_coll_han_init_dynamic_rules","mca_coll_han_init_query","mca_coll_han_is_coll_dynamic_implemented","mca_coll_han_module_construct","mca_coll_han_module_destruct","mca_coll_han_module_disable","mca_coll_han_reduce_intra","mca_coll_han_reduce_intra_dynamic","mca_coll_han_reduce_intra_simple","mca_coll_han_reduce_reproducible","mca_coll_han_reduce_reproducible_decision","mca_coll_han_reduce_t0_task","mca_coll_han_reduce_t1_task","mca_coll_han_scatter_intra","mca_coll_han_scatter_intra_dynamic","mca_coll_han_scatter_intra_simple","mca_coll_han_scatter_ls_task","mca_coll_han_scatter_us_task","mca_coll_han_topo_init","mca_coll_han_topo_lvl_name_to_id","mca_coll_han_topo_lvl_to_str","mca_coll_inter_allgather_inter","mca_coll_inter_allgatherv_inter","mca_coll_inter_allreduce_inter","mca_coll_inter_bcast_inter","mca_coll_inter_comm_query","mca_coll_inter_gather_inter","mca_coll_inter_gatherv_inter","mca_coll_inter_init_query","mca_coll_inter_module_construct","mca_coll_inter_module_destruct","mca_coll_inter_module_enable","mca_coll_inter_reduce_inter","mca_coll_inter_scatter_inter","mca_coll_inter_scatterv_inter","mca_coll_monitoring_allgather","mca_coll_monitoring_allgatherv","mca_coll_monitoring_allreduce","mca_coll_monitoring_alltoall","mca_coll_monitoring_alltoallv","mca_coll_monitoring_alltoallw","mca_coll_monitoring_barrier","mca_coll_monitoring_bcast","mca_coll_monitoring_component_close","mca_coll_monitoring_component_init","mca_coll_monitoring_component_open","mca_coll_monitoring_component_query","mca_coll_monitoring_component_register","mca_coll_monitoring_exscan","mca_coll_monitoring_gather","mca_coll_monitoring_gatherv","mca_coll_monitoring_iallgather","mca_coll_monitoring_iallgatherv","mca_coll_monitoring_iallreduce","mca_coll_monitoring_ialltoall","mca_coll_monitoring_ialltoallv","mca_coll_monitoring_ialltoallw","mca_coll_monitoring_ibarrier","mca_coll_monitoring_ibcast","mca_coll_monitoring_iexscan","mca_coll_monitoring_igather","mca_coll_monitoring_igatherv","mca_coll_monitoring_ineighbor_allgather","mca_coll_monitoring_ineighbor_allgatherv","mca_coll_monitoring_ineighbor_alltoall","mca_coll_monitoring_ineighbor_alltoallv","mca_coll_monitoring_ineighbor_alltoallw","mca_coll_monitoring_ireduce","mca_coll_monitoring_ireduce_scatter","mca_coll_monitoring_ireduce_scatter_block","mca_coll_monitoring_iscan","mca_coll_monitoring_iscatter","mca_coll_monitoring_iscatterv","mca_coll_monitoring_module_disable","mca_coll_monitoring_module_enable","mca_coll_monitoring_neighbor_allgather","mca_coll_monitoring_neighbor_allgatherv","mca_coll_monitoring_neighbor_alltoall","mca_coll_monitoring_neighbor_alltoallv","mca_coll_monitoring_neighbor_alltoallw","mca_coll_monitoring_reduce","mca_coll_monitoring_reduce_scatter","mca_coll_monitoring_reduce_scatter_block","mca_coll_monitoring_scan","mca_coll_monitoring_scatter","mca_coll_monitoring_scatterv","mca_coll_self_allgather_intra","mca_coll_self_allgatherv_intra","mca_coll_self_allreduce_intra","mca_coll_self_alltoall_intra","mca_coll_self_alltoallv_intra","mca_coll_self_alltoallw_intra","mca_coll_self_barrier_intra","mca_coll_self_bcast_intra","mca_coll_self_comm_query","mca_coll_self_exscan_intra","mca_coll_self_gather_intra","mca_coll_self_gatherv_intra","mca_coll_self_init_query","mca_coll_self_module_enable","mca_coll_self_reduce_intra","mca_coll_self_reduce_scatter_intra","mca_coll_self_scan_intra","mca_coll_self_scatter_intra","mca_coll_self_scatterv_intra","mca_coll_sm_allreduce_intra","mca_coll_sm_barrier_intra","mca_coll_sm_bcast_intra","mca_coll_sm_comm_query","mca_coll_sm_init_query","mca_coll_sm_module_construct","mca_coll_sm_module_destruct","mca_coll_sm_module_disable","mca_coll_sm_reduce_intra","mca_coll_sync_bcast","mca_coll_sync_comm_query","mca_coll_sync_exscan","mca_coll_sync_gather","mca_coll_sync_gatherv","mca_coll_sync_init_query","mca_coll_sync_module_construct","mca_coll_sync_module_destruct","mca_coll_sync_module_enable","mca_coll_sync_reduce","mca_coll_sync_reduce_scatter","mca_coll_sync_scan","mca_coll_sync_scatter","mca_coll_sync_scatterv","mca_coll_task_constructor","mca_coll_task_destructor","mca_coll_tuned_module_construct","mca_comm_cid_context_alloc","mca_comm_cid_context_construct","mca_comm_cid_context_destruct","mca_common_monitoring_add_procs","mca_common_monitoring_coll_a2a","mca_common_monitoring_coll_a2o","mca_common_monitoring_coll_cache_name","mca_common_monitoring_coll_cond_release","mca_common_monitoring_coll_finalize","mca_common_monitoring_coll_flush","mca_common_monitoring_coll_flush_all","mca_common_monitoring_coll_get_a2a_count","mca_common_monitoring_coll_get_a2a_size","mca_common_monitoring_coll_get_a2o_count","mca_common_monitoring_coll_get_a2o_size","mca_common_monitoring_coll_get_o2a_count","mca_common_monitoring_coll_get_o2a_size","mca_common_monitoring_coll_messages_notify","mca_common_monitoring_coll_new","mca_common_monitoring_coll_o2a","mca_common_monitoring_coll_release","mca_common_monitoring_coll_reset","mca_common_monitoring_comm_size_notify","mca_common_monitoring_finalize","mca_common_monitoring_flush.part.0","mca_common_monitoring_get_coll_count","mca_common_monitoring_get_coll_size","mca_common_monitoring_get_flush","mca_common_monitoring_get_osc_recv_count","mca_common_monitoring_get_osc_recv_size","mca_common_monitoring_get_osc_sent_count","mca_common_monitoring_get_osc_sent_size","mca_common_monitoring_get_pml_count","mca_common_monitoring_get_pml_size","mca_common_monitoring_init","mca_common_monitoring_notify_flush","mca_common_monitoring_output","mca_common_monitoring_record_coll","mca_common_monitoring_record_osc","mca_common_monitoring_record_pml","mca_common_monitoring_register","mca_common_monitoring_set_flush","mca_common_ompio_alloc_buf","mca_common_ompio_base_file_read_all","mca_common_ompio_buffer_alloc_fini","mca_common_ompio_buffer_alloc_init","mca_common_ompio_buffer_alloc_seg","mca_common_ompio_buffer_free_seg","mca_common_ompio_build_io_array","mca_common_ompio_cart_based_grouping","mca_common_ompio_check_gpu_buf","mca_common_ompio_create_groups","mca_common_ompio_create_incomplete_file_handle","mca_common_ompio_decode_datatype","mca_common_ompio_empty_print_queue","mca_common_ompio_file_close","mca_common_ompio_file_delete","mca_common_ompio_file_get_position","mca_common_ompio_file_get_size","mca_common_ompio_file_iread","mca_common_ompio_file_iread_all","mca_common_ompio_file_iread_at","mca_common_ompio_file_iread_at_all","mca_common_ompio_file_iwrite","mca_common_ompio_file_iwrite_all","mca_common_ompio_file_iwrite_at","mca_common_ompio_file_iwrite_at_all","mca_common_ompio_file_open","mca_common_ompio_file_read","mca_common_ompio_file_read_all","mca_common_ompio_file_read_all.part.0","mca_common_ompio_file_read_at","mca_common_ompio_file_read_at_all","mca_common_ompio_file_read_pipelined","mca_common_ompio_file_write","mca_common_ompio_file_write_all","mca_common_ompio_file_write_all.part.0","mca_common_ompio_file_write_at","mca_common_ompio_file_write_at_all","mca_common_ompio_file_write_pipelined","mca_common_ompio_finalize_initial_grouping","mca_common_ompio_finalize_split","mca_common_ompio_forced_grouping","mca_common_ompio_full_print_queue","mca_common_ompio_fview_based_grouping","mca_common_ompio_initialize_print_queue","mca_common_ompio_merge_groups","mca_common_ompio_merge_initial_groups","mca_common_ompio_prepare_to_group","mca_common_ompio_print_time_info","mca_common_ompio_progress","mca_common_ompio_register_print_entry","mca_common_ompio_register_progress","mca_common_ompio_release_buf","mca_common_ompio_request_alloc","mca_common_ompio_request_cancel","mca_common_ompio_request_construct","mca_common_ompio_request_destruct","mca_common_ompio_request_fini","mca_common_ompio_request_free","mca_common_ompio_request_init","mca_common_ompio_retain_initial_groups","mca_common_ompio_set_aggregator_props","mca_common_ompio_set_callbacks","mca_common_ompio_set_explicit_offset","mca_common_ompio_set_file_defaults","mca_common_ompio_set_view","mca_common_ompio_simple_grouping","mca_common_ompio_split_a_group","mca_common_ompio_split_initial_groups","mca_common_ompio_unregister_print_entry","mca_fbtl_base_check_atomicity","mca_fbtl_base_file_select","mca_fbtl_base_file_unselect","mca_fbtl_base_find_available","mca_fbtl_posix_check_atomicity","mca_fbtl_posix_component_file_query","mca_fbtl_posix_component_file_unquery","mca_fbtl_posix_component_init_query","mca_fbtl_posix_ipreadv","mca_fbtl_posix_ipwritev","mca_fbtl_posix_lock","mca_fbtl_posix_module_finalize","mca_fbtl_posix_module_init","mca_fbtl_posix_preadv","mca_fbtl_posix_progress","mca_fbtl_posix_pwritev","mca_fbtl_posix_request_free","mca_fbtl_posix_unlock","mca_fcoll_base_component_lookup","mca_fcoll_base_file_select","mca_fcoll_base_file_unselect","mca_fcoll_base_find_available","mca_fcoll_base_query_table","mca_fcoll_dynamic_component_file_query","mca_fcoll_dynamic_component_file_unquery","mca_fcoll_dynamic_component_init_query","mca_fcoll_dynamic_file_read_all","mca_fcoll_dynamic_file_write_all","mca_fcoll_dynamic_gen2_break_file_view","mca_fcoll_dynamic_gen2_component_file_query","mca_fcoll_dynamic_gen2_component_file_unquery","mca_fcoll_dynamic_gen2_component_init_query","mca_fcoll_dynamic_gen2_file_read_all","mca_fcoll_dynamic_gen2_file_write_all","mca_fcoll_dynamic_gen2_get_configuration","mca_fcoll_dynamic_gen2_module_finalize","mca_fcoll_dynamic_gen2_module_init","mca_fcoll_dynamic_gen2_split_iov_array","mca_fcoll_dynamic_module_finalize","mca_fcoll_dynamic_module_init","mca_fcoll_individual_component_file_query","mca_fcoll_individual_component_file_unquery","mca_fcoll_individual_component_init_query","mca_fcoll_individual_file_read_all","mca_fcoll_individual_file_write_all","mca_fcoll_individual_module_finalize","mca_fcoll_individual_module_init","mca_fcoll_vulcan_break_file_view","mca_fcoll_vulcan_component_file_query","mca_fcoll_vulcan_component_file_unquery","mca_fcoll_vulcan_component_init_query","mca_fcoll_vulcan_file_read_all","mca_fcoll_vulcan_file_write_all","mca_fcoll_vulcan_get_configuration","mca_fcoll_vulcan_module_finalize","mca_fcoll_vulcan_module_init","mca_fcoll_vulcan_split_iov_array","mca_fs_base_file_close","mca_fs_base_file_delete","mca_fs_base_file_get_size","mca_fs_base_file_select","mca_fs_base_file_set_size","mca_fs_base_file_sync","mca_fs_base_file_unselect","mca_fs_base_find_available","mca_fs_base_get_file_amode","mca_fs_base_get_file_perm","mca_fs_base_get_fstype","mca_fs_base_get_mpi_err","mca_fs_base_get_parent_dir","mca_fs_base_get_real_filename.constprop.0","mca_fs_ufs_component_file_query","mca_fs_ufs_component_file_unquery","mca_fs_ufs_component_init_query","mca_fs_ufs_file_open","mca_fs_ufs_module_finalize","mca_fs_ufs_module_init","mca_io_base_delete","mca_io_base_delete.cold","mca_io_base_file_select","mca_io_base_file_select.cold","mca_io_base_file_select.localalias","mca_io_base_find_available","mca_io_base_open","mca_io_base_register_datarep","mca_io_ompio_file_close","mca_io_ompio_file_get_amode","mca_io_ompio_file_get_atomicity","mca_io_ompio_file_get_byte_offset","mca_io_ompio_file_get_position","mca_io_ompio_file_get_position_shared","mca_io_ompio_file_get_size","mca_io_ompio_file_get_type_extent","mca_io_ompio_file_get_view","mca_io_ompio_file_iread","mca_io_ompio_file_iread_all","mca_io_ompio_file_iread_at","mca_io_ompio_file_iread_at_all","mca_io_ompio_file_iread_shared","mca_io_ompio_file_iwrite","mca_io_ompio_file_iwrite_all","mca_io_ompio_file_iwrite_at","mca_io_ompio_file_iwrite_at_all","mca_io_ompio_file_iwrite_shared","mca_io_ompio_file_open","mca_io_ompio_file_preallocate","mca_io_ompio_file_read","mca_io_ompio_file_read_all","mca_io_ompio_file_read_all_begin","mca_io_ompio_file_read_all_end","mca_io_ompio_file_read_at","mca_io_ompio_file_read_at_all","mca_io_ompio_file_read_at_all_begin","mca_io_ompio_file_read_at_all_end","mca_io_ompio_file_read_ordered","mca_io_ompio_file_read_ordered_begin","mca_io_ompio_file_read_ordered_end","mca_io_ompio_file_read_shared","mca_io_ompio_file_seek","mca_io_ompio_file_seek_shared","mca_io_ompio_file_set_atomicity","mca_io_ompio_file_set_size","mca_io_ompio_file_set_view","mca_io_ompio_file_sync","mca_io_ompio_file_write","mca_io_ompio_file_write_all","mca_io_ompio_file_write_all_begin","mca_io_ompio_file_write_all_end","mca_io_ompio_file_write_at","mca_io_ompio_file_write_at_all","mca_io_ompio_file_write_at_all_begin","mca_io_ompio_file_write_at_all_end","mca_io_ompio_file_write_ordered","mca_io_ompio_file_write_ordered_begin","mca_io_ompio_file_write_ordered_end","mca_io_ompio_file_write_shared","mca_io_ompio_get_mca_parameter_value","mca_monitoring_coll_construct","mca_monitoring_coll_destruct","mca_osc_monitoring_component_finish","mca_osc_monitoring_component_init","mca_osc_monitoring_component_query","mca_osc_monitoring_component_register","mca_osc_monitoring_component_select","mca_part_base_close","mca_part_base_finalize","mca_part_base_open","mca_part_base_precv_request_construct","mca_part_base_prequest_construct","mca_part_base_progress","mca_part_base_psend_request_construct","mca_part_base_register","mca_part_base_select","mca_part_base_select.cold","mca_part_persist_component_close","mca_part_persist_component_fini","mca_part_persist_component_init","mca_part_persist_component_open","mca_part_persist_component_register","mca_part_persist_free:0x1ee0d0","mca_part_persist_free:0x1ee3e0","mca_part_persist_parrived","mca_part_persist_pready","mca_part_persist_precv_init","mca_part_persist_precv_request_construct","mca_part_persist_progress","mca_part_persist_psend_init","mca_part_persist_psend_request_construct","mca_part_persist_request_construct","mca_part_persist_request_destruct","mca_part_persist_start:0x1ed610","mca_part_persist_start:0x1edf30","mca_part_persist_start:0x1ee240","mca_pml_base_bsend_attach","mca_pml_base_bsend_detach","mca_pml_base_bsend_fini","mca_pml_base_bsend_init","mca_pml_base_bsend_request_alloc","mca_pml_base_bsend_request_alloc_buf","mca_pml_base_bsend_request_fini","mca_pml_base_bsend_request_free","mca_pml_base_bsend_request_start","mca_pml_base_close","mca_pml_base_finalize","mca_pml_base_open","mca_pml_base_pml_check_selected","mca_pml_base_pml_check_selected_impl","mca_pml_base_pml_selected","mca_pml_base_progress","mca_pml_base_recv_request_construct","mca_pml_base_recv_request_destruct","mca_pml_base_register","mca_pml_base_request_construct","mca_pml_base_revoke_comm","mca_pml_base_select","mca_pml_base_select.cold","mca_pml_base_send_request_construct","mca_pml_base_send_request_destruct","mca_pml_bsend_alloc_segment","mca_pml_cm_add_comm","mca_pml_cm_add_procs","mca_pml_cm_cancel","mca_pml_cm_component_close","mca_pml_cm_component_fini","mca_pml_cm_component_init","mca_pml_cm_component_open","mca_pml_cm_component_register","mca_pml_cm_del_comm","mca_pml_cm_del_procs","mca_pml_cm_dump","mca_pml_cm_enable","mca_pml_cm_improbe","mca_pml_cm_imrecv","mca_pml_cm_iprobe","mca_pml_cm_irecv","mca_pml_cm_irecv_init","mca_pml_cm_isend","mca_pml_cm_isend_init","mca_pml_cm_mprobe","mca_pml_cm_mrecv","mca_pml_cm_probe","mca_pml_cm_recv","mca_pml_cm_recv_fast_completion","mca_pml_cm_recv_request_completion","mca_pml_cm_recv_request_construct","mca_pml_cm_recv_request_free","mca_pml_cm_request_construct","mca_pml_cm_request_destruct","mca_pml_cm_send","mca_pml_cm_send_request_completion","mca_pml_cm_send_request_construct","mca_pml_cm_send_request_free","mca_pml_cm_start","mca_pml_monitoring_add_comm","mca_pml_monitoring_add_procs","mca_pml_monitoring_component_finish","mca_pml_monitoring_component_init","mca_pml_monitoring_component_open","mca_pml_monitoring_del_comm","mca_pml_monitoring_del_procs","mca_pml_monitoring_dump","mca_pml_monitoring_enable","mca_pml_monitoring_improbe","mca_pml_monitoring_imrecv","mca_pml_monitoring_iprobe","mca_pml_monitoring_irecv","mca_pml_monitoring_irecv_init","mca_pml_monitoring_isend","mca_pml_monitoring_isend_init","mca_pml_monitoring_mprobe","mca_pml_monitoring_mrecv","mca_pml_monitoring_probe","mca_pml_monitoring_recv","mca_pml_monitoring_revoke_comm","mca_pml_monitoring_send","mca_pml_monitoring_start","mca_pml_ob1_accelerator_add_ipc_support","mca_pml_ob1_accelerator_fini","mca_pml_ob1_accelerator_init","mca_pml_ob1_accelerator_need_buffers","mca_pml_ob1_add_comm","mca_pml_ob1_add_procs","mca_pml_ob1_com_btl_comp","mca_pml_ob1_comm_construct","mca_pml_ob1_comm_destruct","mca_pml_ob1_comm_init_size","mca_pml_ob1_comm_proc_construct","mca_pml_ob1_comm_proc_destruct","mca_pml_ob1_comm_size_notify","mca_pml_ob1_component_close","mca_pml_ob1_component_fini","mca_pml_ob1_component_init","mca_pml_ob1_component_open","mca_pml_ob1_component_register","mca_pml_ob1_control_completion","mca_pml_ob1_copy_frag_completion","mca_pml_ob1_del_comm","mca_pml_ob1_del_procs","mca_pml_ob1_dump","mca_pml_ob1_dump_cant_match","mca_pml_ob1_dump_frag_list","mca_pml_ob1_dump_hdr","mca_pml_ob1_enable","mca_pml_ob1_enable_progress","mca_pml_ob1_error_handler","mca_pml_ob1_frag_completion","mca_pml_ob1_get_dtoh_stream","mca_pml_ob1_get_htod_stream","mca_pml_ob1_get_posted_recvq_size","mca_pml_ob1_get_unex_msgq_size","mca_pml_ob1_handle_cid","mca_pml_ob1_improbe","mca_pml_ob1_imrecv","mca_pml_ob1_imrecv.cold","mca_pml_ob1_iprobe","mca_pml_ob1_irecv","mca_pml_ob1_irecv_init","mca_pml_ob1_isend","mca_pml_ob1_isend_init","mca_pml_ob1_match_completion_free","mca_pml_ob1_merge_cant_match","mca_pml_ob1_mprobe","mca_pml_ob1_mrecv","mca_pml_ob1_mrecv.cold","mca_pml_ob1_peer_create","mca_pml_ob1_probe","mca_pml_ob1_process_pending_packets","mca_pml_ob1_process_pending_rdma","mca_pml_ob1_progress","mca_pml_ob1_progress_one_htod_event","mca_pml_ob1_put_completion:0x2057a0","mca_pml_ob1_put_completion:0x20bf00","mca_pml_ob1_rdma_btls","mca_pml_ob1_rdma_btls.cold","mca_pml_ob1_rdma_cuda_btls","mca_pml_ob1_rdma_cuda_btls.cold","mca_pml_ob1_rdma_frag_constructor","mca_pml_ob1_rdma_pipeline_btls","mca_pml_ob1_rdma_pipeline_btls.cold","mca_pml_ob1_rdma_pipeline_btls_count","mca_pml_ob1_rdma_pipeline_btls_count.cold","mca_pml_ob1_record_htod_event","mca_pml_ob1_recv","mca_pml_ob1_recv_ctl_completion","mca_pml_ob1_recv_frag_callback_ack","mca_pml_ob1_recv_frag_callback_cid","mca_pml_ob1_recv_frag_callback_fin","mca_pml_ob1_recv_frag_callback_frag","mca_pml_ob1_recv_frag_callback_match","mca_pml_ob1_recv_frag_callback_put","mca_pml_ob1_recv_frag_callback_rget","mca_pml_ob1_recv_frag_callback_rndv","mca_pml_ob1_recv_frag_match.isra.0","mca_pml_ob1_recv_frag_match_proc.isra.0","mca_pml_ob1_recv_req_start","mca_pml_ob1_recv_request_ack.isra.0","mca_pml_ob1_recv_request_ack_send_btl","mca_pml_ob1_recv_request_cancel","mca_pml_ob1_recv_request_construct","mca_pml_ob1_recv_request_destruct","mca_pml_ob1_recv_request_frag_copy_finished","mca_pml_ob1_recv_request_frag_copy_start","mca_pml_ob1_recv_request_free","mca_pml_ob1_recv_request_get_frag","mca_pml_ob1_recv_request_get_frag_failed","mca_pml_ob1_recv_request_matched_probe","mca_pml_ob1_recv_request_process_pending","mca_pml_ob1_recv_request_progress_frag","mca_pml_ob1_recv_request_progress_match","mca_pml_ob1_recv_request_progress_rget","mca_pml_ob1_recv_request_progress_rget.cold","mca_pml_ob1_recv_request_progress_rndv","mca_pml_ob1_recv_request_put_frag","mca_pml_ob1_recv_request_schedule_once","mca_pml_ob1_revoke_comm","mca_pml_ob1_revoke_comm.localalias","mca_pml_ob1_rget_completion:0x204ec0","mca_pml_ob1_rget_completion:0x209c10","mca_pml_ob1_rndv_completion","mca_pml_ob1_seg_alloc","mca_pml_ob1_seg_free","mca_pml_ob1_send","mca_pml_ob1_send_cid","mca_pml_ob1_send_control_any","mca_pml_ob1_send_control_btl","mca_pml_ob1_send_ctl_completion","mca_pml_ob1_send_fin","mca_pml_ob1_send_inline.constprop.0","mca_pml_ob1_send_request_cancel","mca_pml_ob1_send_request_construct","mca_pml_ob1_send_request_copy_in_out","mca_pml_ob1_send_request_destruct","mca_pml_ob1_send_request_free","mca_pml_ob1_send_request_process_pending","mca_pml_ob1_send_request_put","mca_pml_ob1_send_request_put_frag","mca_pml_ob1_send_request_put_frag_failed","mca_pml_ob1_send_request_schedule_once","mca_pml_ob1_send_request_start_accelerator","mca_pml_ob1_send_request_start_buffered","mca_pml_ob1_send_request_start_copy","mca_pml_ob1_send_request_start_prepare","mca_pml_ob1_send_request_start_rdma","mca_pml_ob1_send_request_start_rndv","mca_pml_ob1_send_request_start_seq.constprop.0","mca_pml_ob1_set_allow_overtake","mca_pml_ob1_start","mca_pml_v_component_close","mca_pml_v_component_finalize","mca_pml_v_component_init","mca_pml_v_component_open","mca_pml_v_component_parasite_close","mca_pml_v_component_parasite_finalize","mca_pml_v_component_register","mca_pml_v_enable","mca_sharedfp_base_close","mca_sharedfp_base_file_select","mca_sharedfp_base_file_unselect","mca_sharedfp_base_find_available","mca_sharedfp_base_open","mca_sharedfp_individual_assign_globaloffset","mca_sharedfp_individual_collaborate_data","mca_sharedfp_individual_component_file_query","mca_sharedfp_individual_component_file_unquery","mca_sharedfp_individual_component_init_query","mca_sharedfp_individual_create_buff","mca_sharedfp_individual_file_close","mca_sharedfp_individual_file_open","mca_sharedfp_individual_get_position","mca_sharedfp_individual_get_timestamps_and_reclengths","mca_sharedfp_individual_getoffset","mca_sharedfp_individual_gettime","mca_sharedfp_individual_insert_headnode","mca_sharedfp_individual_insert_metadata","mca_sharedfp_individual_iread","mca_sharedfp_individual_iwrite","mca_sharedfp_individual_module_finalize","mca_sharedfp_individual_module_init","mca_sharedfp_individual_read","mca_sharedfp_individual_read_ordered","mca_sharedfp_individual_read_ordered_begin","mca_sharedfp_individual_read_ordered_end","mca_sharedfp_individual_seek","mca_sharedfp_individual_sort_timestamps","mca_sharedfp_individual_write","mca_sharedfp_individual_write_metadata_file","mca_sharedfp_individual_write_ordered","mca_sharedfp_individual_write_ordered_begin","mca_sharedfp_individual_write_ordered_end","mca_sharedfp_lockedfile_component_file_query","mca_sharedfp_lockedfile_component_file_unquery","mca_sharedfp_lockedfile_component_init_query","mca_sharedfp_lockedfile_file_close","mca_sharedfp_lockedfile_file_open","mca_sharedfp_lockedfile_get_position","mca_sharedfp_lockedfile_iread","mca_sharedfp_lockedfile_iwrite","mca_sharedfp_lockedfile_module_finalize","mca_sharedfp_lockedfile_module_init","mca_sharedfp_lockedfile_read","mca_sharedfp_lockedfile_read_ordered","mca_sharedfp_lockedfile_read_ordered.cold","mca_sharedfp_lockedfile_read_ordered_begin","mca_sharedfp_lockedfile_read_ordered_begin.cold","mca_sharedfp_lockedfile_read_ordered_end","mca_sharedfp_lockedfile_request_position","mca_sharedfp_lockedfile_seek","mca_sharedfp_lockedfile_write","mca_sharedfp_lockedfile_write_ordered","mca_sharedfp_lockedfile_write_ordered.cold","mca_sharedfp_lockedfile_write_ordered_begin","mca_sharedfp_lockedfile_write_ordered_begin.cold","mca_sharedfp_lockedfile_write_ordered_end","mca_sharedfp_sm_component_file_query","mca_sharedfp_sm_component_file_unquery","mca_sharedfp_sm_component_init_query","mca_sharedfp_sm_file_close","mca_sharedfp_sm_file_open","mca_sharedfp_sm_get_position","mca_sharedfp_sm_iread","mca_sharedfp_sm_iwrite","mca_sharedfp_sm_module_finalize","mca_sharedfp_sm_module_init","mca_sharedfp_sm_read","mca_sharedfp_sm_read_ordered","mca_sharedfp_sm_read_ordered.cold","mca_sharedfp_sm_read_ordered_begin","mca_sharedfp_sm_read_ordered_begin.cold","mca_sharedfp_sm_read_ordered_end","mca_sharedfp_sm_request_position","mca_sharedfp_sm_seek","mca_sharedfp_sm_write","mca_sharedfp_sm_write_ordered","mca_sharedfp_sm_write_ordered.cold","mca_sharedfp_sm_write_ordered_begin","mca_sharedfp_sm_write_ordered_begin.cold","mca_sharedfp_sm_write_ordered_end","mca_topo_base_cart_coords","mca_topo_base_cart_create","mca_topo_base_cart_get","mca_topo_base_cart_map","mca_topo_base_cart_rank","mca_topo_base_cart_shift","mca_topo_base_cart_sub","mca_topo_base_cartdim_get","mca_topo_base_close","mca_topo_base_comm_cart_2_2_0_construct","mca_topo_base_comm_cart_2_2_0_destruct","mca_topo_base_comm_dist_graph_2_2_0_construct","mca_topo_base_comm_dist_graph_2_2_0_destruct","mca_topo_base_comm_graph_2_2_0_construct","mca_topo_base_comm_graph_2_2_0_destruct","mca_topo_base_comm_select","mca_topo_base_dist_graph_create","mca_topo_base_dist_graph_create_adjacent","mca_topo_base_dist_graph_distribute","mca_topo_base_dist_graph_neighbors","mca_topo_base_dist_graph_neighbors_count","mca_topo_base_find_available","mca_topo_base_graph_create","mca_topo_base_graph_get","mca_topo_base_graph_map","mca_topo_base_graph_neighbors","mca_topo_base_graph_neighbors_count","mca_topo_base_graphdims_get","mca_topo_base_group_select","mca_topo_base_lazy_init","mca_topo_base_module_construct","mca_topo_base_module_destruct","mca_topo_base_neighbor_count","mca_topo_base_open","mca_topo_basic_query","mca_topo_treematch_component_register","mca_topo_treematch_dist_graph_create","mca_topo_treematch_dist_graph_create.cold","mca_topo_treematch_query","mca_vprotocol_base_close","mca_vprotocol_base_open","mca_vprotocol_base_parasite","mca_vprotocol_base_request_parasite","mca_vprotocol_base_select","mca_vprotocol_base_set_include_list","mca_vprotocol_pessimist_add_comm","mca_vprotocol_pessimist_add_procs","mca_vprotocol_pessimist_component_close","mca_vprotocol_pessimist_component_finalize","mca_vprotocol_pessimist_component_init","mca_vprotocol_pessimist_component_open","mca_vprotocol_pessimist_component_register","mca_vprotocol_pessimist_del_comm","mca_vprotocol_pessimist_del_procs","mca_vprotocol_pessimist_dump","mca_vprotocol_pessimist_enable","mca_vprotocol_pessimist_iprobe","mca_vprotocol_pessimist_irecv","mca_vprotocol_pessimist_isend","mca_vprotocol_pessimist_isend.cold","mca_vprotocol_pessimist_probe","mca_vprotocol_pessimist_recv","mca_vprotocol_pessimist_request_free","mca_vprotocol_pessimist_send","mca_vprotocol_pessimist_send.cold","mca_vprotocol_pessimist_start","mca_vprotocol_pessimist_test","mca_vprotocol_pessimist_test_all","mca_vprotocol_pessimist_test_any","mca_vprotocol_pessimist_test_some","mca_vprotocol_pessimist_wait_any","mca_vprotocol_pessimist_wait_some","model_callback","module_constructor","module_constructor_1_0_0","mpi_aint_add_f90","mpi_aint_add_f90_","mpi_aint_add_f90__","mpi_aint_diff_f90","mpi_aint_diff_f90_","mpi_aint_diff_f90__","mpi_comm_dup_fn","mpi_comm_dup_fn_","mpi_comm_dup_fn__","mpi_comm_null_copy_fn","mpi_comm_null_copy_fn_","mpi_comm_null_copy_fn__","mpi_comm_null_delete_fn","mpi_comm_null_delete_fn_","mpi_comm_null_delete_fn__","mpi_conversion_fn_null","mpi_conversion_fn_null_","mpi_conversion_fn_null__","mpi_conversion_fn_null_f","mpi_dup_fn","mpi_dup_fn_","mpi_dup_fn__","mpi_null_copy_fn","mpi_null_copy_fn_","mpi_null_copy_fn__","mpi_null_delete_fn","mpi_null_delete_fn_","mpi_null_delete_fn__","mpi_type_dup_fn","mpi_type_dup_fn_","mpi_type_dup_fn__","mpi_type_null_copy_fn","mpi_type_null_copy_fn_","mpi_type_null_copy_fn__","mpi_type_null_delete_fn","mpi_type_null_delete_fn_","mpi_type_null_delete_fn__","mpi_win_dup_fn","mpi_win_dup_fn_","mpi_win_dup_fn__","mpi_win_null_copy_fn","mpi_win_null_copy_fn_","mpi_win_null_copy_fn__","mpi_win_null_delete_fn","mpi_win_null_delete_fn_","mpi_win_null_delete_fn__","mpi_wtick_f90","mpi_wtick_f90_","mpi_wtick_f90__","mpi_wtime_f90","mpi_wtime_f90_","mpi_wtime_f90__","msg_down","msg_down.cold","msg_up","mycompar","myfn","nb_leaves","nb_lines","nbc_allgather_init","nbc_allgather_inter_init","nbc_allgatherv_init","nbc_allgatherv_inter_init","nbc_allreduce_init","nbc_allreduce_init.cold","nbc_allreduce_inter_init","nbc_alltoall_init","nbc_alltoall_inter_init","nbc_alltoallv_init","nbc_alltoallv_inter_init","nbc_alltoallw_init","nbc_alltoallw_inter_init","nbc_barrier_init","nbc_barrier_inter_init","nbc_bcast_init","nbc_bcast_inter_init","nbc_exscan_init","nbc_gather_init","nbc_gather_inter_init","nbc_gatherv_init","nbc_gatherv_inter_init","nbc_neighbor_allgather_init","nbc_neighbor_allgatherv_init","nbc_neighbor_alltoall_init","nbc_neighbor_alltoallv_init","nbc_neighbor_alltoallw_init","nbc_reduce_init","nbc_reduce_inter_init","nbc_reduce_scatter_block_init","nbc_reduce_scatter_block_inter_init","nbc_reduce_scatter_init","nbc_reduce_scatter_inter_init","nbc_req_constructor","nbc_scan_init","nbc_scatter_init","nbc_scatter_inter_init","nbc_scatterv_init","nbc_scatterv_inter_init","nbc_schedule_constructor","nbc_schedule_destructor","next_bucket_elem","node_height","node_mheight","node_pathlen","ompi_attr_copy_all","ompi_attr_create_keyval","ompi_attr_create_keyval_aint","ompi_attr_create_keyval_fint","ompi_attr_create_keyval_impl","ompi_attr_create_predefined_keyvals","ompi_attr_delete","ompi_attr_delete_all","ompi_attr_delete_impl","ompi_attr_delete_predefined_keyvals_for_wm","ompi_attr_free_keyval","ompi_attr_free_predefined","ompi_attr_get_aint","ompi_attr_get_aint.cold","ompi_attr_get_c","ompi_attr_get_c.cold","ompi_attr_get_fint","ompi_attr_get_fint.cold","ompi_attr_get_ref","ompi_attr_put_ref","ompi_attr_set_aint","ompi_attr_set_c","ompi_attr_set_fint","ompi_attr_set_int","ompi_attr_set_predefined_keyvals_for_wm","ompi_attribute_keyval_construct","ompi_attribute_keyval_destruct","ompi_coll_adapt_bcast","ompi_coll_adapt_comm_query","ompi_coll_adapt_ibcast","ompi_coll_adapt_ibcast_fini","ompi_coll_adapt_ibcast_register","ompi_coll_adapt_init_query","ompi_coll_adapt_ireduce","ompi_coll_adapt_ireduce_fini","ompi_coll_adapt_ireduce_register","ompi_coll_adapt_module_cached_topology","ompi_coll_adapt_reduce","ompi_coll_adapt_request_free","ompi_coll_base_agree_noft","ompi_coll_base_allgather_intra_basic_linear","ompi_coll_base_allgather_intra_bruck","ompi_coll_base_allgather_intra_neighborexchange","ompi_coll_base_allgather_intra_recursivedoubling","ompi_coll_base_allgather_intra_ring","ompi_coll_base_allgather_intra_sparbit","ompi_coll_base_allgather_intra_two_procs","ompi_coll_base_allgatherv_intra_basic_default","ompi_coll_base_allgatherv_intra_bruck","ompi_coll_base_allgatherv_intra_neighborexchange","ompi_coll_base_allgatherv_intra_ring","ompi_coll_base_allgatherv_intra_sparbit","ompi_coll_base_allgatherv_intra_two_procs","ompi_coll_base_allreduce_intra_basic_linear","ompi_coll_base_allreduce_intra_nonoverlapping","ompi_coll_base_allreduce_intra_recursivedoubling","ompi_coll_base_allreduce_intra_redscat_allgather","ompi_coll_base_allreduce_intra_ring","ompi_coll_base_allreduce_intra_ring_segmented","ompi_coll_base_alltoall_intra_basic_linear","ompi_coll_base_alltoall_intra_bruck","ompi_coll_base_alltoall_intra_linear_sync","ompi_coll_base_alltoall_intra_pairwise","ompi_coll_base_alltoall_intra_two_procs","ompi_coll_base_alltoallv_intra_basic_linear","ompi_coll_base_alltoallv_intra_pairwise","ompi_coll_base_barrier_intra_basic_linear","ompi_coll_base_barrier_intra_bruck","ompi_coll_base_barrier_intra_doublering","ompi_coll_base_barrier_intra_recursivedoubling","ompi_coll_base_barrier_intra_tree","ompi_coll_base_barrier_intra_two_procs","ompi_coll_base_bcast_intra_basic_linear","ompi_coll_base_bcast_intra_binomial","ompi_coll_base_bcast_intra_bintree","ompi_coll_base_bcast_intra_chain","ompi_coll_base_bcast_intra_generic","ompi_coll_base_bcast_intra_knomial","ompi_coll_base_bcast_intra_pipeline","ompi_coll_base_bcast_intra_scatter_allgather","ompi_coll_base_bcast_intra_scatter_allgather_ring","ompi_coll_base_bcast_intra_split_bintree","ompi_coll_base_comm_get_reqs","ompi_coll_base_exscan_intra_linear","ompi_coll_base_exscan_intra_recursivedoubling","ompi_coll_base_file_getnext_long","ompi_coll_base_file_getnext_size_t","ompi_coll_base_file_getnext_string","ompi_coll_base_file_peek_next_char_is","ompi_coll_base_file_peek_next_char_isdigit","ompi_coll_base_gather_intra_basic_linear","ompi_coll_base_gather_intra_binomial","ompi_coll_base_gather_intra_linear_sync","ompi_coll_base_iagree_noft","ompi_coll_base_reduce_generic","ompi_coll_base_reduce_intra_basic_linear","ompi_coll_base_reduce_intra_binary","ompi_coll_base_reduce_intra_binomial","ompi_coll_base_reduce_intra_chain","ompi_coll_base_reduce_intra_in_order_binary","ompi_coll_base_reduce_intra_pipeline","ompi_coll_base_reduce_intra_redscat_gather","ompi_coll_base_reduce_scatter_block_basic_linear","ompi_coll_base_reduce_scatter_block_intra_butterfly","ompi_coll_base_reduce_scatter_block_intra_recursivedoubling","ompi_coll_base_reduce_scatter_block_intra_recursivehalving","ompi_coll_base_reduce_scatter_intra_basic_recursivehalving","ompi_coll_base_reduce_scatter_intra_butterfly","ompi_coll_base_reduce_scatter_intra_nonoverlapping","ompi_coll_base_reduce_scatter_intra_ring","ompi_coll_base_retain_datatypes","ompi_coll_base_retain_datatypes_w","ompi_coll_base_retain_op","ompi_coll_base_scan_intra_linear","ompi_coll_base_scan_intra_recursivedoubling","ompi_coll_base_scatter_intra_basic_linear","ompi_coll_base_scatter_intra_binomial","ompi_coll_base_scatter_intra_linear_nb","ompi_coll_base_sendrecv_actual","ompi_coll_base_topo_build_bmtree","ompi_coll_base_topo_build_chain","ompi_coll_base_topo_build_in_order_bintree","ompi_coll_base_topo_build_in_order_bmtree","ompi_coll_base_topo_build_kmtree","ompi_coll_base_topo_build_tree","ompi_coll_base_topo_destroy_tree","ompi_coll_base_topo_dump_tree","ompi_coll_han_reorder_gather","ompi_coll_han_request_free","ompi_coll_libnbc_allgather_init","ompi_coll_libnbc_allgather_inter_init","ompi_coll_libnbc_allgatherv_init","ompi_coll_libnbc_allgatherv_inter_init","ompi_coll_libnbc_allreduce_init","ompi_coll_libnbc_allreduce_inter_init","ompi_coll_libnbc_alltoall_init","ompi_coll_libnbc_alltoall_inter_init","ompi_coll_libnbc_alltoallv_init","ompi_coll_libnbc_alltoallv_inter_init","ompi_coll_libnbc_alltoallw_init","ompi_coll_libnbc_alltoallw_inter_init","ompi_coll_libnbc_barrier_init","ompi_coll_libnbc_barrier_inter_init","ompi_coll_libnbc_bcast_init","ompi_coll_libnbc_bcast_inter_init","ompi_coll_libnbc_dict_destroy","ompi_coll_libnbc_dict_itor_destroy","ompi_coll_libnbc_dict_long_cmp","ompi_coll_libnbc_dict_ptr_cmp","ompi_coll_libnbc_dict_str_cmp","ompi_coll_libnbc_dict_uint_cmp","ompi_coll_libnbc_dict_ulong_cmp","ompi_coll_libnbc_exscan_init","ompi_coll_libnbc_gather_init","ompi_coll_libnbc_gather_inter_init","ompi_coll_libnbc_gatherv_init","ompi_coll_libnbc_gatherv_inter_init","ompi_coll_libnbc_hb_dict_itor_new","ompi_coll_libnbc_hb_dict_new","ompi_coll_libnbc_hb_itor_cdata","ompi_coll_libnbc_hb_itor_data","ompi_coll_libnbc_hb_itor_destroy","ompi_coll_libnbc_hb_itor_first","ompi_coll_libnbc_hb_itor_invalidate","ompi_coll_libnbc_hb_itor_key","ompi_coll_libnbc_hb_itor_last","ompi_coll_libnbc_hb_itor_new","ompi_coll_libnbc_hb_itor_next","ompi_coll_libnbc_hb_itor_nextn","ompi_coll_libnbc_hb_itor_prev","ompi_coll_libnbc_hb_itor_prevn","ompi_coll_libnbc_hb_itor_set_data","ompi_coll_libnbc_hb_itor_valid","ompi_coll_libnbc_hb_tree_count","ompi_coll_libnbc_hb_tree_destroy","ompi_coll_libnbc_hb_tree_empty","ompi_coll_libnbc_hb_tree_height","ompi_coll_libnbc_hb_tree_insert","ompi_coll_libnbc_hb_tree_max","ompi_coll_libnbc_hb_tree_mheight","ompi_coll_libnbc_hb_tree_min","ompi_coll_libnbc_hb_tree_new","ompi_coll_libnbc_hb_tree_pathlen","ompi_coll_libnbc_hb_tree_probe","ompi_coll_libnbc_hb_tree_remove","ompi_coll_libnbc_hb_tree_search","ompi_coll_libnbc_hb_tree_walk","ompi_coll_libnbc_iallgather","ompi_coll_libnbc_iallgather_inter","ompi_coll_libnbc_iallgatherv","ompi_coll_libnbc_iallgatherv_inter","ompi_coll_libnbc_iallreduce","ompi_coll_libnbc_iallreduce_inter","ompi_coll_libnbc_ialltoall","ompi_coll_libnbc_ialltoall_inter","ompi_coll_libnbc_ialltoallv","ompi_coll_libnbc_ialltoallv_inter","ompi_coll_libnbc_ialltoallw","ompi_coll_libnbc_ialltoallw_inter","ompi_coll_libnbc_ibarrier","ompi_coll_libnbc_ibarrier_inter","ompi_coll_libnbc_ibcast","ompi_coll_libnbc_ibcast_inter","ompi_coll_libnbc_iexscan","ompi_coll_libnbc_igather","ompi_coll_libnbc_igather_inter","ompi_coll_libnbc_igatherv","ompi_coll_libnbc_igatherv_inter","ompi_coll_libnbc_ineighbor_allgather","ompi_coll_libnbc_ineighbor_allgatherv","ompi_coll_libnbc_ineighbor_alltoall","ompi_coll_libnbc_ineighbor_alltoallv","ompi_coll_libnbc_ineighbor_alltoallw","ompi_coll_libnbc_ireduce","ompi_coll_libnbc_ireduce_inter","ompi_coll_libnbc_ireduce_scatter","ompi_coll_libnbc_ireduce_scatter_block","ompi_coll_libnbc_ireduce_scatter_block_inter","ompi_coll_libnbc_ireduce_scatter_inter","ompi_coll_libnbc_iscan","ompi_coll_libnbc_iscatter","ompi_coll_libnbc_iscatter_inter","ompi_coll_libnbc_iscatterv","ompi_coll_libnbc_iscatterv_inter","ompi_coll_libnbc_neighbor_allgather_init","ompi_coll_libnbc_neighbor_allgatherv_init","ompi_coll_libnbc_neighbor_alltoall_init","ompi_coll_libnbc_neighbor_alltoallv_init","ompi_coll_libnbc_neighbor_alltoallw_init","ompi_coll_libnbc_progress","ompi_coll_libnbc_reduce_init","ompi_coll_libnbc_reduce_inter_init","ompi_coll_libnbc_reduce_scatter_block_init","ompi_coll_libnbc_reduce_scatter_block_inter_init","ompi_coll_libnbc_reduce_scatter_init","ompi_coll_libnbc_reduce_scatter_inter_init","ompi_coll_libnbc_scan_init","ompi_coll_libnbc_scatter_init","ompi_coll_libnbc_scatter_inter_init","ompi_coll_libnbc_scatterv_init","ompi_coll_libnbc_scatterv_inter_init","ompi_coll_sm_lazy_enable","ompi_coll_tuned_allgather_intra_check_forced_init","ompi_coll_tuned_allgather_intra_dec_dynamic","ompi_coll_tuned_allgather_intra_dec_fixed","ompi_coll_tuned_allgather_intra_do_this","ompi_coll_tuned_allgatherv_intra_check_forced_init","ompi_coll_tuned_allgatherv_intra_dec_dynamic","ompi_coll_tuned_allgatherv_intra_dec_fixed","ompi_coll_tuned_allgatherv_intra_do_this","ompi_coll_tuned_allreduce_intra_check_forced_init","ompi_coll_tuned_allreduce_intra_dec_dynamic","ompi_coll_tuned_allreduce_intra_dec_fixed","ompi_coll_tuned_allreduce_intra_do_this","ompi_coll_tuned_alltoall_intra_check_forced_init","ompi_coll_tuned_alltoall_intra_dec_dynamic","ompi_coll_tuned_alltoall_intra_dec_fixed","ompi_coll_tuned_alltoall_intra_do_this","ompi_coll_tuned_alltoallv_intra_check_forced_init","ompi_coll_tuned_alltoallv_intra_dec_dynamic","ompi_coll_tuned_alltoallv_intra_dec_fixed","ompi_coll_tuned_alltoallv_intra_do_this","ompi_coll_tuned_barrier_intra_check_forced_init","ompi_coll_tuned_barrier_intra_dec_dynamic","ompi_coll_tuned_barrier_intra_dec_fixed","ompi_coll_tuned_barrier_intra_do_this","ompi_coll_tuned_bcast_intra_check_forced_init","ompi_coll_tuned_bcast_intra_dec_dynamic","ompi_coll_tuned_bcast_intra_dec_fixed","ompi_coll_tuned_bcast_intra_do_this","ompi_coll_tuned_comm_query","ompi_coll_tuned_dump_alg_rule","ompi_coll_tuned_dump_all_rules","ompi_coll_tuned_dump_com_rule","ompi_coll_tuned_dump_msg_rule","ompi_coll_tuned_exscan_intra_check_forced_init","ompi_coll_tuned_exscan_intra_dec_dynamic","ompi_coll_tuned_exscan_intra_do_this","ompi_coll_tuned_forced_getvalues.isra.0","ompi_coll_tuned_free_all_rules","ompi_coll_tuned_free_coms_in_alg_rule","ompi_coll_tuned_free_msg_rules_in_com_rule","ompi_coll_tuned_gather_intra_check_forced_init","ompi_coll_tuned_gather_intra_dec_dynamic","ompi_coll_tuned_gather_intra_dec_fixed","ompi_coll_tuned_gather_intra_do_this","ompi_coll_tuned_get_com_rule_ptr","ompi_coll_tuned_get_target_method_params","ompi_coll_tuned_init_query","ompi_coll_tuned_mk_alg_rules","ompi_coll_tuned_mk_com_rules","ompi_coll_tuned_mk_msg_rules","ompi_coll_tuned_read_rules_config_file","ompi_coll_tuned_reduce_intra_check_forced_init","ompi_coll_tuned_reduce_intra_dec_dynamic","ompi_coll_tuned_reduce_intra_dec_fixed","ompi_coll_tuned_reduce_intra_do_this","ompi_coll_tuned_reduce_scatter_block_intra_check_forced_init","ompi_coll_tuned_reduce_scatter_block_intra_dec_dynamic","ompi_coll_tuned_reduce_scatter_block_intra_dec_fixed","ompi_coll_tuned_reduce_scatter_block_intra_do_this","ompi_coll_tuned_reduce_scatter_intra_check_forced_init","ompi_coll_tuned_reduce_scatter_intra_dec_dynamic","ompi_coll_tuned_reduce_scatter_intra_dec_fixed","ompi_coll_tuned_reduce_scatter_intra_do_this","ompi_coll_tuned_scan_intra_check_forced_init","ompi_coll_tuned_scan_intra_dec_dynamic","ompi_coll_tuned_scan_intra_do_this","ompi_coll_tuned_scatter_intra_check_forced_init","ompi_coll_tuned_scatter_intra_dec_dynamic","ompi_coll_tuned_scatter_intra_dec_fixed","ompi_coll_tuned_scatter_intra_do_this","ompi_comm_ack_failed_internal","ompi_comm_activate","ompi_comm_activate_nb","ompi_comm_activate_nb_complete","ompi_comm_allgather_emulate_intra","ompi_comm_allreduce_bridged_reduce_complete","ompi_comm_allreduce_bridged_xchng_complete","ompi_comm_allreduce_context_construct","ompi_comm_allreduce_context_destruct","ompi_comm_allreduce_getnextcid","ompi_comm_allreduce_group_broadcast","ompi_comm_allreduce_group_nb","ompi_comm_allreduce_group_recv_complete","ompi_comm_allreduce_inter_bcast","ompi_comm_allreduce_inter_leader_exchange","ompi_comm_allreduce_inter_leader_reduce","ompi_comm_allreduce_inter_nb","ompi_comm_allreduce_intra_bridge_nb","ompi_comm_allreduce_intra_nb","ompi_comm_allreduce_intra_pmix_nb","ompi_comm_allreduce_pmix_reduce_complete","ompi_comm_assert_subscribe","ompi_comm_checkcid","ompi_comm_cid_init","ompi_comm_compare","ompi_comm_construct","ompi_comm_create","ompi_comm_create_from_group","ompi_comm_create_group","ompi_comm_create_w_info","ompi_comm_destruct","ompi_comm_determine_first","ompi_comm_determine_first_auto","ompi_comm_dump","ompi_comm_dup","ompi_comm_dup_fn_f","ompi_comm_dup_with_info","ompi_comm_enable","ompi_comm_failure_ack_internal","ompi_comm_failure_detector_finalize","ompi_comm_failure_detector_init","ompi_comm_failure_detector_register_params","ompi_comm_failure_detector_start","ompi_comm_failure_get_acked_internal","ompi_comm_failure_propagate","ompi_comm_failure_propagator_finalize","ompi_comm_failure_propagator_init","ompi_comm_failure_propagator_local","ompi_comm_failure_propagator_register_params","ompi_comm_finalize","ompi_comm_free","ompi_comm_free.localalias","ompi_comm_ft_allreduce_agree_completion","ompi_comm_ft_allreduce_inter_nb","ompi_comm_ft_allreduce_intra_nb","ompi_comm_ft_allreduce_intra_pmix_nb","ompi_comm_get_failed_internal","ompi_comm_get_remote_cid_from_pmix","ompi_comm_get_rprocs","ompi_comm_group","ompi_comm_idup","ompi_comm_idup_getcid","ompi_comm_idup_with_info","ompi_comm_idup_with_info_activate","ompi_comm_idup_with_info_finish","ompi_comm_init","ompi_comm_init_mpi3","ompi_comm_is_proc_active","ompi_comm_ishrink_check_activate","ompi_comm_ishrink_check_agree","ompi_comm_ishrink_check_cid","ompi_comm_ishrink_check_setrank","ompi_comm_ishrink_internal","ompi_comm_nextcid","ompi_comm_nextcid_check_flag","ompi_comm_nextcid_nb","ompi_comm_null_copy_fn_f","ompi_comm_null_delete_fn_f","ompi_comm_print_cid","ompi_comm_rbcast_bmg","ompi_comm_rbcast_bml_recv_cb","ompi_comm_rbcast_finalize","ompi_comm_rbcast_init","ompi_comm_rbcast_n2","ompi_comm_rbcast_null","ompi_comm_rbcast_register_cb_type","ompi_comm_rbcast_register_params","ompi_comm_rbcast_send_msg","ompi_comm_rbcast_unregister_cb_type","ompi_comm_request_cancel","ompi_comm_request_construct","ompi_comm_request_destruct","ompi_comm_request_fini","ompi_comm_request_free","ompi_comm_request_get","ompi_comm_request_init","ompi_comm_request_progress","ompi_comm_request_progress.cold","ompi_comm_request_return","ompi_comm_request_schedule_append","ompi_comm_request_schedule_append_w_flags","ompi_comm_request_start","ompi_comm_revoke_finalize","ompi_comm_revoke_init","ompi_comm_revoke_internal","ompi_comm_revoke_local","ompi_comm_set","ompi_comm_set_active_poll","ompi_comm_set_allow_overtake","ompi_comm_set_exact_length","ompi_comm_set_lazy_barrier","ompi_comm_set_name","ompi_comm_set_nb","ompi_comm_set_no_any_source","ompi_comm_set_no_any_tag","ompi_comm_set_rank_failed","ompi_comm_shrink_internal","ompi_comm_split","ompi_comm_split_type","ompi_comm_split_type_core","ompi_comm_split_type_get_part.constprop.0","ompi_comm_split_verify","ompi_comm_split_with_info","ompi_comm_start_detector","ompi_datatype_copy_args","ompi_datatype_create","ompi_datatype_create_contiguous","ompi_datatype_create_darray","ompi_datatype_create_from_packed_description","ompi_datatype_create_hindexed","ompi_datatype_create_hindexed_block","ompi_datatype_create_hvector","ompi_datatype_create_indexed","ompi_datatype_create_indexed_block","ompi_datatype_create_struct","ompi_datatype_create_subarray","ompi_datatype_create_vector","ompi_datatype_default_convertors_fini","ompi_datatype_default_convertors_init","ompi_datatype_destroy","ompi_datatype_dump","ompi_datatype_duplicate","ompi_datatype_finalize","ompi_datatype_get_args","ompi_datatype_get_elements","ompi_datatype_get_pack_description","ompi_datatype_get_single_predefined_type_from_args","ompi_datatype_get_single_predefined_type_from_args.localalias","ompi_datatype_init","ompi_datatype_init.cold","ompi_datatype_match_size","ompi_datatype_match_size.cold","ompi_datatype_pack_description_length","ompi_datatype_pack_external","ompi_datatype_pack_external_size","ompi_datatype_print_args","ompi_datatype_release_args","ompi_datatype_set_args","ompi_datatype_sndrcv","ompi_datatype_unpack_external","ompi_debugger_setup_dlls","ompi_dpm_close_port","ompi_dpm_connect_accept","ompi_dpm_disconnect","ompi_dpm_dyn_finalize","ompi_dpm_dyn_init","ompi_dpm_init","ompi_dpm_mark_dyncomm","ompi_dpm_open_port","ompi_dpm_spawn","ompi_dup_fn_f","ompi_errcode_get_mpi_code.part.0","ompi_errcode_get_mpi_code.part.0.cold","ompi_errcode_intern_construct","ompi_errcode_intern_destruct","ompi_errcode_intern_finalize","ompi_errcode_intern_init","ompi_errhandler_callback","ompi_errhandler_construct","ompi_errhandler_create","ompi_errhandler_destruct","ompi_errhandler_event_cb","ompi_errhandler_finalize","ompi_errhandler_free","ompi_errhandler_init","ompi_errhandler_invoke","ompi_errhandler_proc_failed_internal","ompi_errhandler_registration_callback","ompi_errhandler_request_invoke","ompi_errhandler_request_invoke.cold","ompi_fcoll_base_coll_allgather_array","ompi_fcoll_base_coll_allgatherv_array","ompi_fcoll_base_coll_bcast_array","ompi_fcoll_base_coll_gather_array","ompi_fcoll_base_coll_gatherv_array","ompi_fcoll_base_coll_scatterv_array","ompi_fcoll_base_sort_iovec","ompi_file_close","ompi_file_finalize","ompi_file_init","ompi_file_open","ompi_fortran_argv_blank_f2c","ompi_fortran_argv_count_f2c","ompi_fortran_multiple_argvs_f2c","ompi_fortran_string_c2f","ompi_fortran_string_f2c","ompi_grequest_cancel","ompi_grequest_complete","ompi_grequest_construct","ompi_grequest_destruct","ompi_grequest_free","ompi_grequest_invoke_query","ompi_grequest_start","ompi_group_allocate","ompi_group_allocate_bmap","ompi_group_allocate_plist_w_procs","ompi_group_allocate_sporadic","ompi_group_allocate_strided","ompi_group_calc_bmap","ompi_group_calc_plist","ompi_group_calc_sporadic","ompi_group_calc_strided","ompi_group_compare","ompi_group_construct","ompi_group_count_local_peers","ompi_group_decrement_proc_count","ompi_group_dense_overlap","ompi_group_destruct","ompi_group_difference","ompi_group_div_ceil","ompi_group_dump","ompi_group_excl","ompi_group_finalize","ompi_group_flatten","ompi_group_free","ompi_group_from_pset","ompi_group_have_remote_peers","ompi_group_incl","ompi_group_incl_bmap","ompi_group_incl_plist","ompi_group_incl_spor","ompi_group_incl_strided","ompi_group_increment_proc_count","ompi_group_init","ompi_group_intersection","ompi_group_minloc","ompi_group_overlap","ompi_group_range_excl","ompi_group_range_incl","ompi_group_to_proc_name_array","ompi_group_translate_ranks","ompi_group_translate_ranks_bmap","ompi_group_translate_ranks_bmap_reverse","ompi_group_translate_ranks_sporadic","ompi_group_translate_ranks_sporadic_reverse","ompi_group_translate_ranks_strided","ompi_group_translate_ranks_strided_reverse","ompi_group_union","ompi_hook_base_close","ompi_hook_base_deregister_callbacks","ompi_hook_base_mpi_finalize_bottom","ompi_hook_base_mpi_finalize_top","ompi_hook_base_mpi_finalized_bottom","ompi_hook_base_mpi_finalized_top","ompi_hook_base_mpi_init_bottom","ompi_hook_base_mpi_init_error","ompi_hook_base_mpi_init_thread_bottom","ompi_hook_base_mpi_init_thread_top","ompi_hook_base_mpi_init_top","ompi_hook_base_mpi_init_top_post_opal","ompi_hook_base_mpi_initialized_bottom","ompi_hook_base_mpi_initialized_top","ompi_hook_base_open","ompi_hook_base_register","ompi_hook_base_register_callbacks","ompi_hook_comm_method_component_close","ompi_hook_comm_method_component_open","ompi_hook_comm_method_component_register","ompi_hook_comm_method_mpi_finalize_top","ompi_hook_comm_method_mpi_init_bottom","ompi_info_allocate","ompi_info_close_components","ompi_info_delete","ompi_info_dup","ompi_info_free","ompi_info_get","ompi_info_get_bool","ompi_info_get_nkeys","ompi_info_get_nthkey","ompi_info_get_value_enum","ompi_info_get_valuelen","ompi_info_register_framework_params","ompi_info_register_types","ompi_info_set","ompi_info_set_value_enum","ompi_info_show_ompi_version","ompi_init_preconnect_mpi","ompi_initial_errhandler_init","ompi_instance_construct","ompi_instance_destruct","ompi_instance_get_nth_pset","ompi_instance_get_num_psets","ompi_instance_get_num_psets_complete","ompi_instance_get_pset_info","ompi_instance_group_pmix_pset","ompi_instance_group_shared","ompi_instance_print_error.part.0","ompi_instance_refresh_pmix_psets","ompi_intercomm_create","ompi_intercomm_create_from_groups","ompi_interlib_declare","ompi_io_ompio_generate_current_file_view","ompi_io_ompio_generate_current_file_view.cold","ompi_io_ompio_sort_offlen","ompi_isendrecv_complete_func","ompi_isendrecv_context_constructor","ompi_isendrecv_context_destructor","ompi_isendrecv_replace_complete_func","ompi_message_constructor","ompi_message_finalize","ompi_message_init","ompi_mirror_perm","ompi_mpi_abort","ompi_mpi_dynamics_disable","ompi_mpi_dynamics_finalize","ompi_mpi_dynamics_is_enabled","ompi_mpi_errclass_add","ompi_mpi_errcode_add","ompi_mpi_errcode_construct","ompi_mpi_errcode_destruct","ompi_mpi_errcode_finalize","ompi_mpi_errcode_init","ompi_mpi_errnum_add_string","ompi_mpi_errors_abort_comm_handler","ompi_mpi_errors_abort_file_handler","ompi_mpi_errors_abort_win_handler","ompi_mpi_errors_are_fatal_comm_handler","ompi_mpi_errors_are_fatal_file_handler","ompi_mpi_errors_are_fatal_instance_handler","ompi_mpi_errors_are_fatal_win_handler","ompi_mpi_errors_return_comm_handler","ompi_mpi_errors_return_file_handler","ompi_mpi_errors_return_instance_handler","ompi_mpi_errors_return_win_handler","ompi_mpi_finalize","ompi_mpi_init","ompi_mpi_instance_cleanup_pml","ompi_mpi_instance_finalize","ompi_mpi_instance_finalize_common","ompi_mpi_instance_init","ompi_mpi_instance_init_common","ompi_mpi_instance_release","ompi_mpi_instance_retain","ompi_mpi_register_params","ompi_mpi_thread_level","ompi_mpiext_fini","ompi_mpiext_init","ompi_mpiinfo_finalize","ompi_mpiinfo_init","ompi_mpiinfo_init_env","ompi_mpit_lock","ompi_mpit_unlock","ompi_mtl_base_close","ompi_mtl_base_select","ompi_null_copy_fn_f","ompi_null_delete_fn_f","ompi_op_avx_2buff_add_double_avx","ompi_op_avx_2buff_add_double_avx2","ompi_op_avx_2buff_add_double_avx512","ompi_op_avx_2buff_add_float_avx","ompi_op_avx_2buff_add_float_avx2","ompi_op_avx_2buff_add_float_avx512","ompi_op_avx_2buff_band_int16_t_avx","ompi_op_avx_2buff_band_int16_t_avx2","ompi_op_avx_2buff_band_int16_t_avx512","ompi_op_avx_2buff_band_int32_t_avx","ompi_op_avx_2buff_band_int32_t_avx2","ompi_op_avx_2buff_band_int32_t_avx512","ompi_op_avx_2buff_band_int64_t_avx","ompi_op_avx_2buff_band_int64_t_avx2","ompi_op_avx_2buff_band_int64_t_avx512","ompi_op_avx_2buff_band_int8_t_avx","ompi_op_avx_2buff_band_int8_t_avx2","ompi_op_avx_2buff_band_int8_t_avx512","ompi_op_avx_2buff_band_uint16_t_avx","ompi_op_avx_2buff_band_uint16_t_avx2","ompi_op_avx_2buff_band_uint16_t_avx512","ompi_op_avx_2buff_band_uint32_t_avx","ompi_op_avx_2buff_band_uint32_t_avx2","ompi_op_avx_2buff_band_uint32_t_avx512","ompi_op_avx_2buff_band_uint64_t_avx","ompi_op_avx_2buff_band_uint64_t_avx2","ompi_op_avx_2buff_band_uint64_t_avx512","ompi_op_avx_2buff_band_uint8_t_avx","ompi_op_avx_2buff_band_uint8_t_avx2","ompi_op_avx_2buff_band_uint8_t_avx512","ompi_op_avx_2buff_bor_int16_t_avx","ompi_op_avx_2buff_bor_int16_t_avx2","ompi_op_avx_2buff_bor_int16_t_avx512","ompi_op_avx_2buff_bor_int32_t_avx","ompi_op_avx_2buff_bor_int32_t_avx2","ompi_op_avx_2buff_bor_int32_t_avx512","ompi_op_avx_2buff_bor_int64_t_avx","ompi_op_avx_2buff_bor_int64_t_avx2","ompi_op_avx_2buff_bor_int64_t_avx512","ompi_op_avx_2buff_bor_int8_t_avx","ompi_op_avx_2buff_bor_int8_t_avx2","ompi_op_avx_2buff_bor_int8_t_avx512","ompi_op_avx_2buff_bor_uint16_t_avx","ompi_op_avx_2buff_bor_uint16_t_avx2","ompi_op_avx_2buff_bor_uint16_t_avx512","ompi_op_avx_2buff_bor_uint32_t_avx","ompi_op_avx_2buff_bor_uint32_t_avx2","ompi_op_avx_2buff_bor_uint32_t_avx512","ompi_op_avx_2buff_bor_uint64_t_avx","ompi_op_avx_2buff_bor_uint64_t_avx2","ompi_op_avx_2buff_bor_uint64_t_avx512","ompi_op_avx_2buff_bor_uint8_t_avx","ompi_op_avx_2buff_bor_uint8_t_avx2","ompi_op_avx_2buff_bor_uint8_t_avx512","ompi_op_avx_2buff_bxor_int16_t_avx","ompi_op_avx_2buff_bxor_int16_t_avx2","ompi_op_avx_2buff_bxor_int16_t_avx512","ompi_op_avx_2buff_bxor_int32_t_avx","ompi_op_avx_2buff_bxor_int32_t_avx2","ompi_op_avx_2buff_bxor_int32_t_avx512","ompi_op_avx_2buff_bxor_int64_t_avx","ompi_op_avx_2buff_bxor_int64_t_avx2","ompi_op_avx_2buff_bxor_int64_t_avx512","ompi_op_avx_2buff_bxor_int8_t_avx","ompi_op_avx_2buff_bxor_int8_t_avx2","ompi_op_avx_2buff_bxor_int8_t_avx512","ompi_op_avx_2buff_bxor_uint16_t_avx","ompi_op_avx_2buff_bxor_uint16_t_avx2","ompi_op_avx_2buff_bxor_uint16_t_avx512","ompi_op_avx_2buff_bxor_uint32_t_avx","ompi_op_avx_2buff_bxor_uint32_t_avx2","ompi_op_avx_2buff_bxor_uint32_t_avx512","ompi_op_avx_2buff_bxor_uint64_t_avx","ompi_op_avx_2buff_bxor_uint64_t_avx2","ompi_op_avx_2buff_bxor_uint64_t_avx512","ompi_op_avx_2buff_bxor_uint8_t_avx","ompi_op_avx_2buff_bxor_uint8_t_avx2","ompi_op_avx_2buff_bxor_uint8_t_avx512","ompi_op_avx_2buff_max_double_avx","ompi_op_avx_2buff_max_double_avx2","ompi_op_avx_2buff_max_double_avx512","ompi_op_avx_2buff_max_float_avx","ompi_op_avx_2buff_max_float_avx2","ompi_op_avx_2buff_max_float_avx512","ompi_op_avx_2buff_max_int16_t_avx","ompi_op_avx_2buff_max_int16_t_avx2","ompi_op_avx_2buff_max_int16_t_avx512","ompi_op_avx_2buff_max_int32_t_avx","ompi_op_avx_2buff_max_int32_t_avx2","ompi_op_avx_2buff_max_int32_t_avx512","ompi_op_avx_2buff_max_int64_t_avx512","ompi_op_avx_2buff_max_int8_t_avx","ompi_op_avx_2buff_max_int8_t_avx2","ompi_op_avx_2buff_max_int8_t_avx512","ompi_op_avx_2buff_max_uint16_t_avx","ompi_op_avx_2buff_max_uint16_t_avx2","ompi_op_avx_2buff_max_uint16_t_avx512","ompi_op_avx_2buff_max_uint32_t_avx","ompi_op_avx_2buff_max_uint32_t_avx2","ompi_op_avx_2buff_max_uint32_t_avx512","ompi_op_avx_2buff_max_uint64_t_avx512","ompi_op_avx_2buff_max_uint8_t_avx","ompi_op_avx_2buff_max_uint8_t_avx2","ompi_op_avx_2buff_max_uint8_t_avx512","ompi_op_avx_2buff_min_double_avx","ompi_op_avx_2buff_min_double_avx2","ompi_op_avx_2buff_min_double_avx512","ompi_op_avx_2buff_min_float_avx","ompi_op_avx_2buff_min_float_avx2","ompi_op_avx_2buff_min_float_avx512","ompi_op_avx_2buff_min_int16_t_avx","ompi_op_avx_2buff_min_int16_t_avx2","ompi_op_avx_2buff_min_int16_t_avx512","ompi_op_avx_2buff_min_int32_t_avx","ompi_op_avx_2buff_min_int32_t_avx2","ompi_op_avx_2buff_min_int32_t_avx512","ompi_op_avx_2buff_min_int64_t_avx512","ompi_op_avx_2buff_min_int8_t_avx","ompi_op_avx_2buff_min_int8_t_avx2","ompi_op_avx_2buff_min_int8_t_avx512","ompi_op_avx_2buff_min_uint16_t_avx","ompi_op_avx_2buff_min_uint16_t_avx2","ompi_op_avx_2buff_min_uint16_t_avx512","ompi_op_avx_2buff_min_uint32_t_avx","ompi_op_avx_2buff_min_uint32_t_avx2","ompi_op_avx_2buff_min_uint32_t_avx512","ompi_op_avx_2buff_min_uint64_t_avx512","ompi_op_avx_2buff_min_uint8_t_avx","ompi_op_avx_2buff_min_uint8_t_avx2","ompi_op_avx_2buff_min_uint8_t_avx512","ompi_op_avx_2buff_mul_double_avx","ompi_op_avx_2buff_mul_double_avx2","ompi_op_avx_2buff_mul_double_avx512","ompi_op_avx_2buff_mul_float_avx","ompi_op_avx_2buff_mul_float_avx2","ompi_op_avx_2buff_mul_float_avx512","ompi_op_avx_2buff_prod_int16_t_avx","ompi_op_avx_2buff_prod_int16_t_avx2","ompi_op_avx_2buff_prod_int16_t_avx512","ompi_op_avx_2buff_prod_int32_t_avx","ompi_op_avx_2buff_prod_int32_t_avx2","ompi_op_avx_2buff_prod_int32_t_avx512","ompi_op_avx_2buff_prod_int64_t_avx512","ompi_op_avx_2buff_prod_int8_t_avx","ompi_op_avx_2buff_prod_int8_t_avx2","ompi_op_avx_2buff_prod_int8_t_avx512","ompi_op_avx_2buff_prod_uint16_t_avx","ompi_op_avx_2buff_prod_uint16_t_avx2","ompi_op_avx_2buff_prod_uint16_t_avx512","ompi_op_avx_2buff_prod_uint32_t_avx","ompi_op_avx_2buff_prod_uint32_t_avx2","ompi_op_avx_2buff_prod_uint32_t_avx512","ompi_op_avx_2buff_prod_uint64_t_avx512","ompi_op_avx_2buff_prod_uint8_t_avx","ompi_op_avx_2buff_prod_uint8_t_avx2","ompi_op_avx_2buff_prod_uint8_t_avx512","ompi_op_avx_2buff_sum_int16_t_avx","ompi_op_avx_2buff_sum_int16_t_avx2","ompi_op_avx_2buff_sum_int16_t_avx512","ompi_op_avx_2buff_sum_int32_t_avx","ompi_op_avx_2buff_sum_int32_t_avx2","ompi_op_avx_2buff_sum_int32_t_avx512","ompi_op_avx_2buff_sum_int64_t_avx","ompi_op_avx_2buff_sum_int64_t_avx2","ompi_op_avx_2buff_sum_int64_t_avx512","ompi_op_avx_2buff_sum_int8_t_avx","ompi_op_avx_2buff_sum_int8_t_avx2","ompi_op_avx_2buff_sum_int8_t_avx512","ompi_op_avx_2buff_sum_uint16_t_avx","ompi_op_avx_2buff_sum_uint16_t_avx2","ompi_op_avx_2buff_sum_uint16_t_avx512","ompi_op_avx_2buff_sum_uint32_t_avx","ompi_op_avx_2buff_sum_uint32_t_avx2","ompi_op_avx_2buff_sum_uint32_t_avx512","ompi_op_avx_2buff_sum_uint64_t_avx","ompi_op_avx_2buff_sum_uint64_t_avx2","ompi_op_avx_2buff_sum_uint64_t_avx512","ompi_op_avx_2buff_sum_uint8_t_avx","ompi_op_avx_2buff_sum_uint8_t_avx2","ompi_op_avx_2buff_sum_uint8_t_avx512","ompi_op_avx_3buff_add_double_avx","ompi_op_avx_3buff_add_double_avx2","ompi_op_avx_3buff_add_double_avx512","ompi_op_avx_3buff_add_float_avx","ompi_op_avx_3buff_add_float_avx2","ompi_op_avx_3buff_add_float_avx512","ompi_op_avx_3buff_and_int16_t_avx","ompi_op_avx_3buff_and_int16_t_avx2","ompi_op_avx_3buff_and_int16_t_avx512","ompi_op_avx_3buff_and_int32_t_avx","ompi_op_avx_3buff_and_int32_t_avx2","ompi_op_avx_3buff_and_int32_t_avx512","ompi_op_avx_3buff_and_int64_t_avx","ompi_op_avx_3buff_and_int64_t_avx2","ompi_op_avx_3buff_and_int64_t_avx512","ompi_op_avx_3buff_and_int8_t_avx","ompi_op_avx_3buff_and_int8_t_avx2","ompi_op_avx_3buff_and_int8_t_avx512","ompi_op_avx_3buff_and_uint16_t_avx","ompi_op_avx_3buff_and_uint16_t_avx2","ompi_op_avx_3buff_and_uint16_t_avx512","ompi_op_avx_3buff_and_uint32_t_avx","ompi_op_avx_3buff_and_uint32_t_avx2","ompi_op_avx_3buff_and_uint32_t_avx512","ompi_op_avx_3buff_and_uint64_t_avx","ompi_op_avx_3buff_and_uint64_t_avx2","ompi_op_avx_3buff_and_uint64_t_avx512","ompi_op_avx_3buff_and_uint8_t_avx","ompi_op_avx_3buff_and_uint8_t_avx2","ompi_op_avx_3buff_and_uint8_t_avx512","ompi_op_avx_3buff_max_double_avx","ompi_op_avx_3buff_max_double_avx2","ompi_op_avx_3buff_max_double_avx512","ompi_op_avx_3buff_max_float_avx","ompi_op_avx_3buff_max_float_avx2","ompi_op_avx_3buff_max_float_avx512","ompi_op_avx_3buff_max_int16_t_avx","ompi_op_avx_3buff_max_int16_t_avx2","ompi_op_avx_3buff_max_int16_t_avx512","ompi_op_avx_3buff_max_int32_t_avx","ompi_op_avx_3buff_max_int32_t_avx2","ompi_op_avx_3buff_max_int32_t_avx512","ompi_op_avx_3buff_max_int64_t_avx512","ompi_op_avx_3buff_max_int8_t_avx","ompi_op_avx_3buff_max_int8_t_avx2","ompi_op_avx_3buff_max_int8_t_avx512","ompi_op_avx_3buff_max_uint16_t_avx","ompi_op_avx_3buff_max_uint16_t_avx2","ompi_op_avx_3buff_max_uint16_t_avx512","ompi_op_avx_3buff_max_uint32_t_avx","ompi_op_avx_3buff_max_uint32_t_avx2","ompi_op_avx_3buff_max_uint32_t_avx512","ompi_op_avx_3buff_max_uint64_t_avx512","ompi_op_avx_3buff_max_uint8_t_avx","ompi_op_avx_3buff_max_uint8_t_avx2","ompi_op_avx_3buff_max_uint8_t_avx512","ompi_op_avx_3buff_min_double_avx","ompi_op_avx_3buff_min_double_avx2","ompi_op_avx_3buff_min_double_avx512","ompi_op_avx_3buff_min_float_avx","ompi_op_avx_3buff_min_float_avx2","ompi_op_avx_3buff_min_float_avx512","ompi_op_avx_3buff_min_int16_t_avx","ompi_op_avx_3buff_min_int16_t_avx2","ompi_op_avx_3buff_min_int16_t_avx512","ompi_op_avx_3buff_min_int32_t_avx","ompi_op_avx_3buff_min_int32_t_avx2","ompi_op_avx_3buff_min_int32_t_avx512","ompi_op_avx_3buff_min_int64_t_avx512","ompi_op_avx_3buff_min_int8_t_avx","ompi_op_avx_3buff_min_int8_t_avx2","ompi_op_avx_3buff_min_int8_t_avx512","ompi_op_avx_3buff_min_uint16_t_avx","ompi_op_avx_3buff_min_uint16_t_avx2","ompi_op_avx_3buff_min_uint16_t_avx512","ompi_op_avx_3buff_min_uint32_t_avx","ompi_op_avx_3buff_min_uint32_t_avx2","ompi_op_avx_3buff_min_uint32_t_avx512","ompi_op_avx_3buff_min_uint64_t_avx512","ompi_op_avx_3buff_min_uint8_t_avx","ompi_op_avx_3buff_min_uint8_t_avx2","ompi_op_avx_3buff_min_uint8_t_avx512","ompi_op_avx_3buff_mul_double_avx","ompi_op_avx_3buff_mul_double_avx2","ompi_op_avx_3buff_mul_double_avx512","ompi_op_avx_3buff_mul_float_avx","ompi_op_avx_3buff_mul_float_avx2","ompi_op_avx_3buff_mul_float_avx512","ompi_op_avx_3buff_or_int16_t_avx","ompi_op_avx_3buff_or_int16_t_avx2","ompi_op_avx_3buff_or_int16_t_avx512","ompi_op_avx_3buff_or_int32_t_avx","ompi_op_avx_3buff_or_int32_t_avx2","ompi_op_avx_3buff_or_int32_t_avx512","ompi_op_avx_3buff_or_int64_t_avx","ompi_op_avx_3buff_or_int64_t_avx2","ompi_op_avx_3buff_or_int64_t_avx512","ompi_op_avx_3buff_or_int8_t_avx","ompi_op_avx_3buff_or_int8_t_avx2","ompi_op_avx_3buff_or_int8_t_avx512","ompi_op_avx_3buff_or_uint16_t_avx","ompi_op_avx_3buff_or_uint16_t_avx2","ompi_op_avx_3buff_or_uint16_t_avx512","ompi_op_avx_3buff_or_uint32_t_avx","ompi_op_avx_3buff_or_uint32_t_avx2","ompi_op_avx_3buff_or_uint32_t_avx512","ompi_op_avx_3buff_or_uint64_t_avx","ompi_op_avx_3buff_or_uint64_t_avx2","ompi_op_avx_3buff_or_uint64_t_avx512","ompi_op_avx_3buff_or_uint8_t_avx","ompi_op_avx_3buff_or_uint8_t_avx2","ompi_op_avx_3buff_or_uint8_t_avx512","ompi_op_avx_3buff_prod_int16_t_avx","ompi_op_avx_3buff_prod_int16_t_avx2","ompi_op_avx_3buff_prod_int16_t_avx512","ompi_op_avx_3buff_prod_int32_t_avx","ompi_op_avx_3buff_prod_int32_t_avx2","ompi_op_avx_3buff_prod_int32_t_avx512","ompi_op_avx_3buff_prod_int64_t_avx512","ompi_op_avx_3buff_prod_int8_t_avx","ompi_op_avx_3buff_prod_int8_t_avx2","ompi_op_avx_3buff_prod_int8_t_avx512","ompi_op_avx_3buff_prod_uint16_t_avx","ompi_op_avx_3buff_prod_uint16_t_avx2","ompi_op_avx_3buff_prod_uint16_t_avx512","ompi_op_avx_3buff_prod_uint32_t_avx","ompi_op_avx_3buff_prod_uint32_t_avx2","ompi_op_avx_3buff_prod_uint32_t_avx512","ompi_op_avx_3buff_prod_uint64_t_avx512","ompi_op_avx_3buff_prod_uint8_t_avx","ompi_op_avx_3buff_prod_uint8_t_avx2","ompi_op_avx_3buff_prod_uint8_t_avx512","ompi_op_avx_3buff_sum_int16_t_avx","ompi_op_avx_3buff_sum_int16_t_avx2","ompi_op_avx_3buff_sum_int16_t_avx512","ompi_op_avx_3buff_sum_int32_t_avx","ompi_op_avx_3buff_sum_int32_t_avx2","ompi_op_avx_3buff_sum_int32_t_avx512","ompi_op_avx_3buff_sum_int64_t_avx","ompi_op_avx_3buff_sum_int64_t_avx2","ompi_op_avx_3buff_sum_int64_t_avx512","ompi_op_avx_3buff_sum_int8_t_avx","ompi_op_avx_3buff_sum_int8_t_avx2","ompi_op_avx_3buff_sum_int8_t_avx512","ompi_op_avx_3buff_sum_uint16_t_avx","ompi_op_avx_3buff_sum_uint16_t_avx2","ompi_op_avx_3buff_sum_uint16_t_avx512","ompi_op_avx_3buff_sum_uint32_t_avx","ompi_op_avx_3buff_sum_uint32_t_avx2","ompi_op_avx_3buff_sum_uint32_t_avx512","ompi_op_avx_3buff_sum_uint64_t_avx","ompi_op_avx_3buff_sum_uint64_t_avx2","ompi_op_avx_3buff_sum_uint64_t_avx512","ompi_op_avx_3buff_sum_uint8_t_avx","ompi_op_avx_3buff_sum_uint8_t_avx2","ompi_op_avx_3buff_sum_uint8_t_avx512","ompi_op_avx_3buff_xor_int16_t_avx","ompi_op_avx_3buff_xor_int16_t_avx2","ompi_op_avx_3buff_xor_int16_t_avx512","ompi_op_avx_3buff_xor_int32_t_avx","ompi_op_avx_3buff_xor_int32_t_avx2","ompi_op_avx_3buff_xor_int32_t_avx512","ompi_op_avx_3buff_xor_int64_t_avx","ompi_op_avx_3buff_xor_int64_t_avx2","ompi_op_avx_3buff_xor_int64_t_avx512","ompi_op_avx_3buff_xor_int8_t_avx","ompi_op_avx_3buff_xor_int8_t_avx2","ompi_op_avx_3buff_xor_int8_t_avx512","ompi_op_avx_3buff_xor_uint16_t_avx","ompi_op_avx_3buff_xor_uint16_t_avx2","ompi_op_avx_3buff_xor_uint16_t_avx512","ompi_op_avx_3buff_xor_uint32_t_avx","ompi_op_avx_3buff_xor_uint32_t_avx2","ompi_op_avx_3buff_xor_uint32_t_avx512","ompi_op_avx_3buff_xor_uint64_t_avx","ompi_op_avx_3buff_xor_uint64_t_avx2","ompi_op_avx_3buff_xor_uint64_t_avx512","ompi_op_avx_3buff_xor_uint8_t_avx","ompi_op_avx_3buff_xor_uint8_t_avx2","ompi_op_avx_3buff_xor_uint8_t_avx512","ompi_op_base_2buff_band_byte","ompi_op_base_2buff_band_fortran_integer","ompi_op_base_2buff_band_fortran_integer1","ompi_op_base_2buff_band_fortran_integer2","ompi_op_base_2buff_band_fortran_integer4","ompi_op_base_2buff_band_fortran_integer8","ompi_op_base_2buff_band_int16_t","ompi_op_base_2buff_band_int32_t","ompi_op_base_2buff_band_int64_t","ompi_op_base_2buff_band_int8_t","ompi_op_base_2buff_band_long","ompi_op_base_2buff_band_uint16_t","ompi_op_base_2buff_band_uint32_t","ompi_op_base_2buff_band_uint64_t","ompi_op_base_2buff_band_uint8_t","ompi_op_base_2buff_band_unsigned_long","ompi_op_base_2buff_bor_byte","ompi_op_base_2buff_bor_fortran_integer","ompi_op_base_2buff_bor_fortran_integer1","ompi_op_base_2buff_bor_fortran_integer2","ompi_op_base_2buff_bor_fortran_integer4","ompi_op_base_2buff_bor_fortran_integer8","ompi_op_base_2buff_bor_int16_t","ompi_op_base_2buff_bor_int32_t","ompi_op_base_2buff_bor_int64_t","ompi_op_base_2buff_bor_int8_t","ompi_op_base_2buff_bor_long","ompi_op_base_2buff_bor_uint16_t","ompi_op_base_2buff_bor_uint32_t","ompi_op_base_2buff_bor_uint64_t","ompi_op_base_2buff_bor_uint8_t","ompi_op_base_2buff_bor_unsigned_long","ompi_op_base_2buff_bxor_byte","ompi_op_base_2buff_bxor_fortran_integer","ompi_op_base_2buff_bxor_fortran_integer1","ompi_op_base_2buff_bxor_fortran_integer2","ompi_op_base_2buff_bxor_fortran_integer4","ompi_op_base_2buff_bxor_fortran_integer8","ompi_op_base_2buff_bxor_int16_t","ompi_op_base_2buff_bxor_int32_t","ompi_op_base_2buff_bxor_int64_t","ompi_op_base_2buff_bxor_int8_t","ompi_op_base_2buff_bxor_long","ompi_op_base_2buff_bxor_uint16_t","ompi_op_base_2buff_bxor_uint32_t","ompi_op_base_2buff_bxor_uint64_t","ompi_op_base_2buff_bxor_uint8_t","ompi_op_base_2buff_bxor_unsigned_long","ompi_op_base_2buff_land_bool","ompi_op_base_2buff_land_fortran_logical","ompi_op_base_2buff_land_int16_t","ompi_op_base_2buff_land_int32_t","ompi_op_base_2buff_land_int64_t","ompi_op_base_2buff_land_int8_t","ompi_op_base_2buff_land_long","ompi_op_base_2buff_land_uint16_t","ompi_op_base_2buff_land_uint32_t","ompi_op_base_2buff_land_uint64_t","ompi_op_base_2buff_land_uint8_t","ompi_op_base_2buff_land_unsigned_long","ompi_op_base_2buff_lor_bool","ompi_op_base_2buff_lor_fortran_logical","ompi_op_base_2buff_lor_int16_t","ompi_op_base_2buff_lor_int32_t","ompi_op_base_2buff_lor_int64_t","ompi_op_base_2buff_lor_int8_t","ompi_op_base_2buff_lor_long","ompi_op_base_2buff_lor_uint16_t","ompi_op_base_2buff_lor_uint32_t","ompi_op_base_2buff_lor_uint64_t","ompi_op_base_2buff_lor_uint8_t","ompi_op_base_2buff_lor_unsigned_long","ompi_op_base_2buff_lxor_bool","ompi_op_base_2buff_lxor_fortran_logical","ompi_op_base_2buff_lxor_int16_t","ompi_op_base_2buff_lxor_int32_t","ompi_op_base_2buff_lxor_int64_t","ompi_op_base_2buff_lxor_int8_t","ompi_op_base_2buff_lxor_long","ompi_op_base_2buff_lxor_uint16_t","ompi_op_base_2buff_lxor_uint32_t","ompi_op_base_2buff_lxor_uint64_t","ompi_op_base_2buff_lxor_uint8_t","ompi_op_base_2buff_lxor_unsigned_long","ompi_op_base_2buff_max_double","ompi_op_base_2buff_max_float","ompi_op_base_2buff_max_fortran_double_precision","ompi_op_base_2buff_max_fortran_integer","ompi_op_base_2buff_max_fortran_integer1","ompi_op_base_2buff_max_fortran_integer2","ompi_op_base_2buff_max_fortran_integer4","ompi_op_base_2buff_max_fortran_integer8","ompi_op_base_2buff_max_fortran_real","ompi_op_base_2buff_max_fortran_real16","ompi_op_base_2buff_max_fortran_real4","ompi_op_base_2buff_max_fortran_real8","ompi_op_base_2buff_max_int16_t","ompi_op_base_2buff_max_int32_t","ompi_op_base_2buff_max_int64_t","ompi_op_base_2buff_max_int8_t","ompi_op_base_2buff_max_long","ompi_op_base_2buff_max_long_double","ompi_op_base_2buff_max_uint16_t","ompi_op_base_2buff_max_uint32_t","ompi_op_base_2buff_max_uint64_t","ompi_op_base_2buff_max_uint8_t","ompi_op_base_2buff_max_unsigned_long","ompi_op_base_2buff_maxloc_2double_precision","ompi_op_base_2buff_maxloc_2int","ompi_op_base_2buff_maxloc_2integer","ompi_op_base_2buff_maxloc_2real","ompi_op_base_2buff_maxloc_double_int","ompi_op_base_2buff_maxloc_float_int","ompi_op_base_2buff_maxloc_long_double_int","ompi_op_base_2buff_maxloc_long_int","ompi_op_base_2buff_maxloc_short_int","ompi_op_base_2buff_min_double","ompi_op_base_2buff_min_float","ompi_op_base_2buff_min_fortran_double_precision","ompi_op_base_2buff_min_fortran_integer","ompi_op_base_2buff_min_fortran_integer1","ompi_op_base_2buff_min_fortran_integer2","ompi_op_base_2buff_min_fortran_integer4","ompi_op_base_2buff_min_fortran_integer8","ompi_op_base_2buff_min_fortran_real","ompi_op_base_2buff_min_fortran_real16","ompi_op_base_2buff_min_fortran_real4","ompi_op_base_2buff_min_fortran_real8","ompi_op_base_2buff_min_int16_t","ompi_op_base_2buff_min_int32_t","ompi_op_base_2buff_min_int64_t","ompi_op_base_2buff_min_int8_t","ompi_op_base_2buff_min_long","ompi_op_base_2buff_min_long_double","ompi_op_base_2buff_min_uint16_t","ompi_op_base_2buff_min_uint32_t","ompi_op_base_2buff_min_uint64_t","ompi_op_base_2buff_min_uint8_t","ompi_op_base_2buff_min_unsigned_long","ompi_op_base_2buff_minloc_2double_precision","ompi_op_base_2buff_minloc_2int","ompi_op_base_2buff_minloc_2integer","ompi_op_base_2buff_minloc_2real","ompi_op_base_2buff_minloc_double_int","ompi_op_base_2buff_minloc_float_int","ompi_op_base_2buff_minloc_long_double_int","ompi_op_base_2buff_minloc_long_int","ompi_op_base_2buff_minloc_short_int","ompi_op_base_2buff_prod_c_double_complex","ompi_op_base_2buff_prod_c_float_complex","ompi_op_base_2buff_prod_c_long_double_complex","ompi_op_base_2buff_prod_double","ompi_op_base_2buff_prod_float","ompi_op_base_2buff_prod_fortran_double_precision","ompi_op_base_2buff_prod_fortran_integer","ompi_op_base_2buff_prod_fortran_integer1","ompi_op_base_2buff_prod_fortran_integer2","ompi_op_base_2buff_prod_fortran_integer4","ompi_op_base_2buff_prod_fortran_integer8","ompi_op_base_2buff_prod_fortran_real","ompi_op_base_2buff_prod_fortran_real16","ompi_op_base_2buff_prod_fortran_real4","ompi_op_base_2buff_prod_fortran_real8","ompi_op_base_2buff_prod_int16_t","ompi_op_base_2buff_prod_int32_t","ompi_op_base_2buff_prod_int64_t","ompi_op_base_2buff_prod_int8_t","ompi_op_base_2buff_prod_long","ompi_op_base_2buff_prod_long_double","ompi_op_base_2buff_prod_uint16_t","ompi_op_base_2buff_prod_uint32_t","ompi_op_base_2buff_prod_uint64_t","ompi_op_base_2buff_prod_uint8_t","ompi_op_base_2buff_prod_unsigned_long","ompi_op_base_2buff_sum_c_double_complex","ompi_op_base_2buff_sum_c_float_complex","ompi_op_base_2buff_sum_c_long_double_complex","ompi_op_base_2buff_sum_double","ompi_op_base_2buff_sum_float","ompi_op_base_2buff_sum_fortran_double_precision","ompi_op_base_2buff_sum_fortran_integer","ompi_op_base_2buff_sum_fortran_integer1","ompi_op_base_2buff_sum_fortran_integer2","ompi_op_base_2buff_sum_fortran_integer4","ompi_op_base_2buff_sum_fortran_integer8","ompi_op_base_2buff_sum_fortran_real","ompi_op_base_2buff_sum_fortran_real16","ompi_op_base_2buff_sum_fortran_real4","ompi_op_base_2buff_sum_fortran_real8","ompi_op_base_2buff_sum_int16_t","ompi_op_base_2buff_sum_int32_t","ompi_op_base_2buff_sum_int64_t","ompi_op_base_2buff_sum_int8_t","ompi_op_base_2buff_sum_long","ompi_op_base_2buff_sum_long_double","ompi_op_base_2buff_sum_uint16_t","ompi_op_base_2buff_sum_uint32_t","ompi_op_base_2buff_sum_uint64_t","ompi_op_base_2buff_sum_uint8_t","ompi_op_base_2buff_sum_unsigned_long","ompi_op_base_3buff_band_byte","ompi_op_base_3buff_band_fortran_integer","ompi_op_base_3buff_band_fortran_integer1","ompi_op_base_3buff_band_fortran_integer2","ompi_op_base_3buff_band_fortran_integer4","ompi_op_base_3buff_band_fortran_integer8","ompi_op_base_3buff_band_int16_t","ompi_op_base_3buff_band_int32_t","ompi_op_base_3buff_band_int64_t","ompi_op_base_3buff_band_int8_t","ompi_op_base_3buff_band_long","ompi_op_base_3buff_band_uint16_t","ompi_op_base_3buff_band_uint32_t","ompi_op_base_3buff_band_uint64_t","ompi_op_base_3buff_band_uint8_t","ompi_op_base_3buff_band_unsigned_long","ompi_op_base_3buff_bor_byte","ompi_op_base_3buff_bor_fortran_integer","ompi_op_base_3buff_bor_fortran_integer1","ompi_op_base_3buff_bor_fortran_integer2","ompi_op_base_3buff_bor_fortran_integer4","ompi_op_base_3buff_bor_fortran_integer8","ompi_op_base_3buff_bor_int16_t","ompi_op_base_3buff_bor_int32_t","ompi_op_base_3buff_bor_int64_t","ompi_op_base_3buff_bor_int8_t","ompi_op_base_3buff_bor_long","ompi_op_base_3buff_bor_uint16_t","ompi_op_base_3buff_bor_uint32_t","ompi_op_base_3buff_bor_uint64_t","ompi_op_base_3buff_bor_uint8_t","ompi_op_base_3buff_bor_unsigned_long","ompi_op_base_3buff_bxor_byte","ompi_op_base_3buff_bxor_fortran_integer","ompi_op_base_3buff_bxor_fortran_integer1","ompi_op_base_3buff_bxor_fortran_integer2","ompi_op_base_3buff_bxor_fortran_integer4","ompi_op_base_3buff_bxor_fortran_integer8","ompi_op_base_3buff_bxor_int16_t","ompi_op_base_3buff_bxor_int32_t","ompi_op_base_3buff_bxor_int64_t","ompi_op_base_3buff_bxor_int8_t","ompi_op_base_3buff_bxor_long","ompi_op_base_3buff_bxor_uint16_t","ompi_op_base_3buff_bxor_uint32_t","ompi_op_base_3buff_bxor_uint64_t","ompi_op_base_3buff_bxor_uint8_t","ompi_op_base_3buff_bxor_unsigned_long","ompi_op_base_3buff_land_bool","ompi_op_base_3buff_land_fortran_logical","ompi_op_base_3buff_land_int16_t","ompi_op_base_3buff_land_int32_t","ompi_op_base_3buff_land_int64_t","ompi_op_base_3buff_land_int8_t","ompi_op_base_3buff_land_long","ompi_op_base_3buff_land_uint16_t","ompi_op_base_3buff_land_uint32_t","ompi_op_base_3buff_land_uint64_t","ompi_op_base_3buff_land_uint8_t","ompi_op_base_3buff_land_unsigned_long","ompi_op_base_3buff_lor_bool","ompi_op_base_3buff_lor_fortran_logical","ompi_op_base_3buff_lor_int16_t","ompi_op_base_3buff_lor_int32_t","ompi_op_base_3buff_lor_int64_t","ompi_op_base_3buff_lor_int8_t","ompi_op_base_3buff_lor_long","ompi_op_base_3buff_lor_uint16_t","ompi_op_base_3buff_lor_uint32_t","ompi_op_base_3buff_lor_uint64_t","ompi_op_base_3buff_lor_uint8_t","ompi_op_base_3buff_lor_unsigned_long","ompi_op_base_3buff_lxor_bool","ompi_op_base_3buff_lxor_fortran_logical","ompi_op_base_3buff_lxor_int16_t","ompi_op_base_3buff_lxor_int32_t","ompi_op_base_3buff_lxor_int64_t","ompi_op_base_3buff_lxor_int8_t","ompi_op_base_3buff_lxor_long","ompi_op_base_3buff_lxor_uint16_t","ompi_op_base_3buff_lxor_uint32_t","ompi_op_base_3buff_lxor_uint64_t","ompi_op_base_3buff_lxor_uint8_t","ompi_op_base_3buff_lxor_unsigned_long","ompi_op_base_3buff_max_double","ompi_op_base_3buff_max_float","ompi_op_base_3buff_max_fortran_double_precision","ompi_op_base_3buff_max_fortran_integer","ompi_op_base_3buff_max_fortran_integer1","ompi_op_base_3buff_max_fortran_integer2","ompi_op_base_3buff_max_fortran_integer4","ompi_op_base_3buff_max_fortran_integer8","ompi_op_base_3buff_max_fortran_real","ompi_op_base_3buff_max_fortran_real16","ompi_op_base_3buff_max_fortran_real4","ompi_op_base_3buff_max_fortran_real8","ompi_op_base_3buff_max_int16_t","ompi_op_base_3buff_max_int32_t","ompi_op_base_3buff_max_int64_t","ompi_op_base_3buff_max_int8_t","ompi_op_base_3buff_max_long","ompi_op_base_3buff_max_long_double","ompi_op_base_3buff_max_uint16_t","ompi_op_base_3buff_max_uint32_t","ompi_op_base_3buff_max_uint64_t","ompi_op_base_3buff_max_uint8_t","ompi_op_base_3buff_max_unsigned_long","ompi_op_base_3buff_maxloc_2double_precision","ompi_op_base_3buff_maxloc_2int","ompi_op_base_3buff_maxloc_2integer","ompi_op_base_3buff_maxloc_2real","ompi_op_base_3buff_maxloc_double_int","ompi_op_base_3buff_maxloc_float_int","ompi_op_base_3buff_maxloc_long_double_int","ompi_op_base_3buff_maxloc_long_int","ompi_op_base_3buff_maxloc_short_int","ompi_op_base_3buff_min_double","ompi_op_base_3buff_min_float","ompi_op_base_3buff_min_fortran_double_precision","ompi_op_base_3buff_min_fortran_integer","ompi_op_base_3buff_min_fortran_integer1","ompi_op_base_3buff_min_fortran_integer2","ompi_op_base_3buff_min_fortran_integer4","ompi_op_base_3buff_min_fortran_integer8","ompi_op_base_3buff_min_fortran_real","ompi_op_base_3buff_min_fortran_real16","ompi_op_base_3buff_min_fortran_real4","ompi_op_base_3buff_min_fortran_real8","ompi_op_base_3buff_min_int16_t","ompi_op_base_3buff_min_int32_t","ompi_op_base_3buff_min_int64_t","ompi_op_base_3buff_min_int8_t","ompi_op_base_3buff_min_long","ompi_op_base_3buff_min_long_double","ompi_op_base_3buff_min_uint16_t","ompi_op_base_3buff_min_uint32_t","ompi_op_base_3buff_min_uint64_t","ompi_op_base_3buff_min_uint8_t","ompi_op_base_3buff_min_unsigned_long","ompi_op_base_3buff_minloc_2double_precision","ompi_op_base_3buff_minloc_2int","ompi_op_base_3buff_minloc_2integer","ompi_op_base_3buff_minloc_2real","ompi_op_base_3buff_minloc_double_int","ompi_op_base_3buff_minloc_float_int","ompi_op_base_3buff_minloc_long_double_int","ompi_op_base_3buff_minloc_long_int","ompi_op_base_3buff_minloc_short_int","ompi_op_base_3buff_prod_c_double_complex","ompi_op_base_3buff_prod_c_float_complex","ompi_op_base_3buff_prod_c_long_double_complex","ompi_op_base_3buff_prod_double","ompi_op_base_3buff_prod_float","ompi_op_base_3buff_prod_fortran_double_precision","ompi_op_base_3buff_prod_fortran_integer","ompi_op_base_3buff_prod_fortran_integer1","ompi_op_base_3buff_prod_fortran_integer2","ompi_op_base_3buff_prod_fortran_integer4","ompi_op_base_3buff_prod_fortran_integer8","ompi_op_base_3buff_prod_fortran_real","ompi_op_base_3buff_prod_fortran_real16","ompi_op_base_3buff_prod_fortran_real4","ompi_op_base_3buff_prod_fortran_real8","ompi_op_base_3buff_prod_int16_t","ompi_op_base_3buff_prod_int32_t","ompi_op_base_3buff_prod_int64_t","ompi_op_base_3buff_prod_int8_t","ompi_op_base_3buff_prod_long","ompi_op_base_3buff_prod_long_double","ompi_op_base_3buff_prod_uint16_t","ompi_op_base_3buff_prod_uint32_t","ompi_op_base_3buff_prod_uint64_t","ompi_op_base_3buff_prod_uint8_t","ompi_op_base_3buff_prod_unsigned_long","ompi_op_base_3buff_sum_c_double_complex","ompi_op_base_3buff_sum_c_float_complex","ompi_op_base_3buff_sum_c_long_double_complex","ompi_op_base_3buff_sum_double","ompi_op_base_3buff_sum_float","ompi_op_base_3buff_sum_fortran_double_precision","ompi_op_base_3buff_sum_fortran_integer","ompi_op_base_3buff_sum_fortran_integer1","ompi_op_base_3buff_sum_fortran_integer2","ompi_op_base_3buff_sum_fortran_integer4","ompi_op_base_3buff_sum_fortran_integer8","ompi_op_base_3buff_sum_fortran_real","ompi_op_base_3buff_sum_fortran_real16","ompi_op_base_3buff_sum_fortran_real4","ompi_op_base_3buff_sum_fortran_real8","ompi_op_base_3buff_sum_int16_t","ompi_op_base_3buff_sum_int32_t","ompi_op_base_3buff_sum_int64_t","ompi_op_base_3buff_sum_int8_t","ompi_op_base_3buff_sum_long","ompi_op_base_3buff_sum_long_double","ompi_op_base_3buff_sum_uint16_t","ompi_op_base_3buff_sum_uint32_t","ompi_op_base_3buff_sum_uint64_t","ompi_op_base_3buff_sum_uint8_t","ompi_op_base_3buff_sum_unsigned_long","ompi_op_base_find_available","ompi_op_base_op_select","ompi_op_construct","ompi_op_create_user","ompi_op_destruct","ompi_op_finalize","ompi_op_init","ompi_op_reduce:0x103bf0","ompi_op_reduce:0x105a40","ompi_op_reduce:0x109a40","ompi_op_reduce:0x11a690","ompi_op_reduce:0x11d440","ompi_op_reduce:0x128cd0","ompi_op_reduce:0x153a70","ompi_op_reduce:0x15a800","ompi_op_reduce:0x15ce80","ompi_op_reduce:0x15ed30","ompi_op_reduce:0x1642a0","ompi_op_reduce:0x1c2ff0","ompi_op_reduce:0x1ce8e0","ompi_op_reduce:0x1e8750","ompi_op_reduce:0x5eb80","ompi_op_reduce:0xef780","ompi_op_reduce:0xf6ab0","ompi_op_reduce:0xfc2b0","ompi_op_reduce:0xff940","ompi_op_set_java_callback","ompi_osc_base_finalize","ompi_osc_base_find_available","ompi_osc_base_get_primitive_type_info","ompi_osc_base_process_op","ompi_osc_base_select","ompi_osc_base_set_memory_alignment","ompi_osc_base_sndrcv_op","ompi_osc_get_data_blocking","ompi_osc_get_data_complete","ompi_osc_module_add_peer","ompi_osc_monitoring_portals4_accumulate","ompi_osc_monitoring_portals4_attach","ompi_osc_monitoring_portals4_compare_and_swap","ompi_osc_monitoring_portals4_complete","ompi_osc_monitoring_portals4_detach","ompi_osc_monitoring_portals4_fence","ompi_osc_monitoring_portals4_fetch_and_op","ompi_osc_monitoring_portals4_flush","ompi_osc_monitoring_portals4_flush_all","ompi_osc_monitoring_portals4_flush_local","ompi_osc_monitoring_portals4_flush_local_all","ompi_osc_monitoring_portals4_free","ompi_osc_monitoring_portals4_get","ompi_osc_monitoring_portals4_get_accumulate","ompi_osc_monitoring_portals4_lock","ompi_osc_monitoring_portals4_lock_all","ompi_osc_monitoring_portals4_post","ompi_osc_monitoring_portals4_put","ompi_osc_monitoring_portals4_raccumulate","ompi_osc_monitoring_portals4_rget","ompi_osc_monitoring_portals4_rget_accumulate","ompi_osc_monitoring_portals4_rput","ompi_osc_monitoring_portals4_set_template","ompi_osc_monitoring_portals4_start","ompi_osc_monitoring_portals4_sync","ompi_osc_monitoring_portals4_test","ompi_osc_monitoring_portals4_unlock","ompi_osc_monitoring_portals4_unlock_all","ompi_osc_monitoring_portals4_wait","ompi_osc_monitoring_rdma_accumulate","ompi_osc_monitoring_rdma_attach","ompi_osc_monitoring_rdma_compare_and_swap","ompi_osc_monitoring_rdma_complete","ompi_osc_monitoring_rdma_detach","ompi_osc_monitoring_rdma_fence","ompi_osc_monitoring_rdma_fetch_and_op","ompi_osc_monitoring_rdma_flush","ompi_osc_monitoring_rdma_flush_all","ompi_osc_monitoring_rdma_flush_local","ompi_osc_monitoring_rdma_flush_local_all","ompi_osc_monitoring_rdma_free","ompi_osc_monitoring_rdma_get","ompi_osc_monitoring_rdma_get_accumulate","ompi_osc_monitoring_rdma_lock","ompi_osc_monitoring_rdma_lock_all","ompi_osc_monitoring_rdma_post","ompi_osc_monitoring_rdma_put","ompi_osc_monitoring_rdma_raccumulate","ompi_osc_monitoring_rdma_rget","ompi_osc_monitoring_rdma_rget_accumulate","ompi_osc_monitoring_rdma_rput","ompi_osc_monitoring_rdma_set_template","ompi_osc_monitoring_rdma_start","ompi_osc_monitoring_rdma_sync","ompi_osc_monitoring_rdma_test","ompi_osc_monitoring_rdma_unlock","ompi_osc_monitoring_rdma_unlock_all","ompi_osc_monitoring_rdma_wait","ompi_osc_monitoring_sm_accumulate","ompi_osc_monitoring_sm_attach","ompi_osc_monitoring_sm_compare_and_swap","ompi_osc_monitoring_sm_complete","ompi_osc_monitoring_sm_detach","ompi_osc_monitoring_sm_fence","ompi_osc_monitoring_sm_fetch_and_op","ompi_osc_monitoring_sm_flush","ompi_osc_monitoring_sm_flush_all","ompi_osc_monitoring_sm_flush_local","ompi_osc_monitoring_sm_flush_local_all","ompi_osc_monitoring_sm_free","ompi_osc_monitoring_sm_get","ompi_osc_monitoring_sm_get_accumulate","ompi_osc_monitoring_sm_lock","ompi_osc_monitoring_sm_lock_all","ompi_osc_monitoring_sm_post","ompi_osc_monitoring_sm_put","ompi_osc_monitoring_sm_raccumulate","ompi_osc_monitoring_sm_rget","ompi_osc_monitoring_sm_rget_accumulate","ompi_osc_monitoring_sm_rput","ompi_osc_monitoring_sm_set_template","ompi_osc_monitoring_sm_start","ompi_osc_monitoring_sm_sync","ompi_osc_monitoring_sm_test","ompi_osc_monitoring_sm_unlock","ompi_osc_monitoring_sm_unlock_all","ompi_osc_monitoring_sm_wait","ompi_osc_monitoring_ucx_accumulate","ompi_osc_monitoring_ucx_attach","ompi_osc_monitoring_ucx_compare_and_swap","ompi_osc_monitoring_ucx_complete","ompi_osc_monitoring_ucx_detach","ompi_osc_monitoring_ucx_fence","ompi_osc_monitoring_ucx_fetch_and_op","ompi_osc_monitoring_ucx_flush","ompi_osc_monitoring_ucx_flush_all","ompi_osc_monitoring_ucx_flush_local","ompi_osc_monitoring_ucx_flush_local_all","ompi_osc_monitoring_ucx_free","ompi_osc_monitoring_ucx_get","ompi_osc_monitoring_ucx_get_accumulate","ompi_osc_monitoring_ucx_lock","ompi_osc_monitoring_ucx_lock_all","ompi_osc_monitoring_ucx_post","ompi_osc_monitoring_ucx_put","ompi_osc_monitoring_ucx_raccumulate","ompi_osc_monitoring_ucx_rget","ompi_osc_monitoring_ucx_rget_accumulate","ompi_osc_monitoring_ucx_rput","ompi_osc_monitoring_ucx_set_template","ompi_osc_monitoring_ucx_start","ompi_osc_monitoring_ucx_sync","ompi_osc_monitoring_ucx_test","ompi_osc_monitoring_ucx_unlock","ompi_osc_monitoring_ucx_unlock_all","ompi_osc_monitoring_ucx_wait","ompi_osc_rdma_accumulate","ompi_osc_rdma_add_attachment","ompi_osc_rdma_atomic_complete","ompi_osc_rdma_attach","ompi_osc_rdma_btl_op.constprop.0","ompi_osc_rdma_cas_put_complete","ompi_osc_rdma_check_posts","ompi_osc_rdma_compare_and_swap","ompi_osc_rdma_compare_and_swap.cold","ompi_osc_rdma_complete_atomic","ompi_osc_rdma_component_finalize","ompi_osc_rdma_component_init","ompi_osc_rdma_component_query","ompi_osc_rdma_component_register","ompi_osc_rdma_component_select","ompi_osc_rdma_demand_lock_peer","ompi_osc_rdma_detach","ompi_osc_rdma_fence_atomic","ompi_osc_rdma_fetch_and_op","ompi_osc_rdma_find_dynamic_region","ompi_osc_rdma_flush","ompi_osc_rdma_flush_all","ompi_osc_rdma_flush_local","ompi_osc_rdma_flush_local_all","ompi_osc_rdma_frag_alloc","ompi_osc_rdma_frag_alloc.constprop.0:0x1dafc0","ompi_osc_rdma_frag_alloc.constprop.0:0x1dd090","ompi_osc_rdma_frag_alloc.constprop.0:0x1e0770","ompi_osc_rdma_free","ompi_osc_rdma_gacc_amo.constprop.0","ompi_osc_rdma_gacc_master","ompi_osc_rdma_gacc_master_cleanup","ompi_osc_rdma_gacc_master_cleanup.cold","ompi_osc_rdma_get","ompi_osc_rdma_get_accumulate","ompi_osc_rdma_get_complete","ompi_osc_rdma_get_contig","ompi_osc_rdma_get_partial","ompi_osc_rdma_get_peers","ompi_osc_rdma_handle_fini","ompi_osc_rdma_handle_init","ompi_osc_rdma_initialize_region.isra.0","ompi_osc_rdma_lock_all_atomic","ompi_osc_rdma_lock_atomic","ompi_osc_rdma_lock_atomic_internal","ompi_osc_rdma_lock_release_exclusive.constprop.0.isra.0","ompi_osc_rdma_lock_release_exclusive.constprop.0.isra.0.cold","ompi_osc_rdma_master_noncontig","ompi_osc_rdma_new_peer","ompi_osc_rdma_new_peer.cold","ompi_osc_rdma_peer_accumulate_cleanup","ompi_osc_rdma_peer_accumulate_cleanup.cold","ompi_osc_rdma_peer_basic_construct","ompi_osc_rdma_peer_basic_destruct","ompi_osc_rdma_peer_btl_endpoint","ompi_osc_rdma_peer_construct","ompi_osc_rdma_peer_destruct","ompi_osc_rdma_peer_dynamic_construct","ompi_osc_rdma_peer_dynamic_destruct","ompi_osc_rdma_peer_lookup","ompi_osc_rdma_peer_setup","ompi_osc_rdma_pending_op_construct","ompi_osc_rdma_pending_op_destruct","ompi_osc_rdma_post_atomic","ompi_osc_rdma_put","ompi_osc_rdma_put_complete","ompi_osc_rdma_put_complete_flush","ompi_osc_rdma_put_contig","ompi_osc_rdma_pvar_read","ompi_osc_rdma_raccumulate","ompi_osc_rdma_release_peers","ompi_osc_rdma_request_complete:0x1c62b0","ompi_osc_rdma_request_complete:0x1cee10","ompi_osc_rdma_rget","ompi_osc_rdma_rget_accumulate","ompi_osc_rdma_rget_accumulate_internal","ompi_osc_rdma_rget_accumulate_internal.cold","ompi_osc_rdma_rput","ompi_osc_rdma_set_no_lock_info","ompi_osc_rdma_start_atomic","ompi_osc_rdma_sync","ompi_osc_rdma_sync_allocate","ompi_osc_rdma_sync_constructor","ompi_osc_rdma_sync_destructor","ompi_osc_rdma_sync_pscw_peer","ompi_osc_rdma_sync_return","ompi_osc_rdma_test_atomic","ompi_osc_rdma_unlock_all_atomic","ompi_osc_rdma_unlock_all_atomic.cold","ompi_osc_rdma_unlock_atomic","ompi_osc_rdma_unlock_atomic.cold","ompi_osc_rdma_wait_atomic","ompi_osc_sm_accumulate","ompi_osc_sm_attach","ompi_osc_sm_compare_and_swap","ompi_osc_sm_complete","ompi_osc_sm_detach","ompi_osc_sm_fence","ompi_osc_sm_fetch_and_op","ompi_osc_sm_flush","ompi_osc_sm_flush_all","ompi_osc_sm_flush_local","ompi_osc_sm_flush_local_all","ompi_osc_sm_free","ompi_osc_sm_get","ompi_osc_sm_get_accumulate","ompi_osc_sm_get_info","ompi_osc_sm_group_ranks","ompi_osc_sm_lock","ompi_osc_sm_lock_all","ompi_osc_sm_post","ompi_osc_sm_put","ompi_osc_sm_raccumulate","ompi_osc_sm_rget","ompi_osc_sm_rget_accumulate","ompi_osc_sm_rput","ompi_osc_sm_set_info","ompi_osc_sm_shared_query","ompi_osc_sm_start","ompi_osc_sm_sync","ompi_osc_sm_test","ompi_osc_sm_unlock","ompi_osc_sm_unlock_all","ompi_osc_sm_wait","ompi_pmix_print_id","ompi_pmix_print_name","ompi_pmix_snprintf_jobid","ompi_pml_ob1_append_frag_to_ordered_list","ompi_pml_ob1_check_cantmatch_for_match","ompi_pml_v_output_close","ompi_pml_v_output_open","ompi_proc_all","ompi_proc_allocate","ompi_proc_compare_vid","ompi_proc_complete_init","ompi_proc_complete_init_single","ompi_proc_construct","ompi_proc_destruct","ompi_proc_finalize","ompi_proc_find","ompi_proc_find_and_add","ompi_proc_for_name","ompi_proc_get_allocated","ompi_proc_init","ompi_proc_lookup","ompi_proc_pack","ompi_proc_refresh","ompi_proc_self","ompi_proc_unpack","ompi_proc_world","ompi_proc_world_size","ompi_rbcast_bml_send_complete_cb","ompi_report_comm_methods","ompi_request_check_same_instance","ompi_request_construct","ompi_request_default_test","ompi_request_default_test_all","ompi_request_default_test_any","ompi_request_default_test_some","ompi_request_default_wait","ompi_request_default_wait_all","ompi_request_default_wait_any","ompi_request_default_wait_some","ompi_request_destruct","ompi_request_empty_free","ompi_request_finalize","ompi_request_init","ompi_request_is_failed_fn","ompi_request_null_cancel","ompi_request_null_free","ompi_request_persistent_noop_create","ompi_request_persistent_noop_free","ompi_request_wait_completion:0x1f3e20","ompi_request_wait_completion:0x1f56c0","ompi_request_wait_completion:0x1f7c70","ompi_request_wait_completion:0x212b80","ompi_request_wait_completion:0x5d7f0","ompi_rounddown","ompi_rte_abort","ompi_rte_abort_peers","ompi_rte_breakpoint","ompi_rte_compare_name_fields","ompi_rte_convert_process_name_to_string","ompi_rte_convert_string_to_process_name","ompi_rte_finalize","ompi_rte_init","ompi_rte_wait_for_debugger","ompi_seq_tracker_check_duplicate","ompi_seq_tracker_construct","ompi_seq_tracker_copy","ompi_seq_tracker_destruct","ompi_seq_tracker_insert","ompi_set_group_rank","ompi_show_all_mca_params","ompi_test_fortran_constants","ompi_test_fortran_constants_","ompi_test_fortran_constants__","ompi_test_fortran_constants_f","ompi_type_dup_fn_f","ompi_type_null_copy_fn_f","ompi_type_null_delete_fn_f","ompi_vprotocol_pessimist_delivery_replay","ompi_vprotocol_pessimist_event_logger_connect","ompi_vprotocol_pessimist_event_logger_connect.cold","ompi_vprotocol_pessimist_event_logger_disconnect","ompi_vprotocol_pessimist_matching_replay","ompi_vprotocol_pessimist_sender_based_alloc","ompi_vprotocol_pessimist_sender_based_finalize","ompi_vprotocol_pessimist_sender_based_init","ompi_win_allocate","ompi_win_allocate_shared","ompi_win_construct","ompi_win_create","ompi_win_create_dynamic","ompi_win_destruct","ompi_win_dup_fn_f","ompi_win_finalize","ompi_win_free","ompi_win_get_name","ompi_win_group","ompi_win_init","ompi_win_null_copy_fn_f","ompi_win_null_delete_fn_f","ompi_win_set_name","ompit_opal_to_mpit_error","ompit_var_type_to_datatype","opal_free_list_wait","opal_free_list_wait.constprop.0:0x1f8730","opal_free_list_wait.constprop.0:0x1fbad0","open_component","optimize_arity","partial_aggregate_aff_mat","partial_exhaustive_search","partial_update_val","rankkeycompare","recurs_select_independent_groups","recv_cb:0x1613b0","recv_cb:0x1647d0","recv_request_pml_complete","reduce_inorder","register_component:0x1686b0","register_component:0x175430","register_component:0x17baa0","register_datarep","register_tm_clones","release_objs_callback","release_vecs_callback","request_cancel:0x127800","request_cancel:0x1da890","request_construct:0x127810","request_construct:0x1da8a0","request_free:0x127b50","request_free:0x1da910","request_start","result_request","retreive_size","retreive_size.cold","save_ptr","select_independent_groups","self_register","send_cb:0x160b60","send_cb:0x163f50","send_msg","send_msg.cold","send_request_pml_complete","set_handler_default","set_value","shuffle_init.constprop.0:0x16bb70","shuffle_init.constprop.0:0x16f180","sm_close","sm_module_enable","sm_register:0x108080","sm_register:0x215be0","sync_register","tab_cmp","tgt_to_tm","thread_loop","tm_bucket_grouping","tm_build_affinity_mat","tm_build_synthetic_topology","tm_build_tree_from_topology","tm_calloc","tm_close_verbose_file","tm_complete_obj_weight","tm_compute_mapping","tm_compute_nb_leaves_from_level","tm_create_work","tm_destroy_work","tm_display_arity","tm_display_other_heuristics","tm_display_solution","tm_display_tab","tm_display_topology","tm_enable_oversubscribing","tm_fiboTreeDel","tm_fiboTreeExit","tm_fiboTreeFree","tm_fiboTreeInit","tm_fiboTreeMin","tm_fill_tab","tm_finalize","tm_free","tm_free_affinity_mat","tm_free_solution","tm_free_topology","tm_free_tree","tm_genrand_int31","tm_genrand_int32","tm_genrand_real1","tm_genrand_real2","tm_genrand_real3","tm_genrand_res53","tm_get_exhaustive_search_flag","tm_get_greedy_flag","tm_get_local_topology_with_hwloc","tm_get_local_topology_with_hwloc.cold","tm_get_nb_threads","tm_get_numbering","tm_get_time","tm_get_verbose_level","tm_get_verbose_output","tm_in_tab","tm_init_genrand","tm_intCIV_get","tm_intCIV_init","tm_intCIV_isInitialized","tm_intCIV_set","tm_int_cmp_inc","tm_kPartitioning","tm_kpartition","tm_kpartition.cold","tm_kpartition_build_tree_from_topology","tm_load_aff_mat","tm_load_topology","tm_load_topology.cold","tm_malloc","tm_map_MPIPP","tm_map_Packed","tm_map_RR","tm_map_topology","tm_mem_check","tm_nb_processing_units","tm_new_affinity_mat","tm_open_verbose_file","tm_optimize_topology","tm_print_1D_tab","tm_realloc","tm_set_exhaustive_search_flag","tm_set_greedy_flag","tm_set_max_nb_threads","tm_set_node","tm_set_numbering","tm_set_verbose_level","tm_submit_work","tm_terminate_thread_pool","tm_test_main","tm_time_diff","tm_topology_add_binding_constraints","tm_topology_set_binding_constraints","tm_try_add_edge","tm_update_val","tm_wait_work_completion","treematch_module_constructor","treematch_module_destructor","tuned_close","tuned_module_enable","tuned_open","tuned_register","vprotocol_pessimist_delivery_log","vprotocol_pessimist_request_construct","vprotocol_pessimist_request_no_free","vulcan_register","weighted_degree_dsc","write_init","write_init.constprop.0"],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/openmpi-5.0.7-y6xplmqxukxsuvvwnv2jqvztli5rhevm/lib/libmpi.so.40","include_offsets":false},{"type":2,"name":"ior","functions":["AllocResults","CheckFileSize","CheckForOutliers","CheckRunSettings","CompareBuffers","CountErrors","CreateTest","CurrentTimeString","DUMMY_Close","DUMMY_Create","DUMMY_Delete","DUMMY_Fsync","DUMMY_GetFileSize","DUMMY_Open","DUMMY_Sync","DUMMY_Xfer","DUMMY_access","DUMMY_check_params","DUMMY_getVersion","DUMMY_mkdir","DUMMY_options","DUMMY_rmdir","DUMMY_stat","DUMMY_statfs","DecodeDirective","DelaySecs","DestroyTest","DestroyTests","DisplayFreespace","DisplayOutliers","DistributeHints","DumpBuffer","ExtractHint","FailMessage","FillBuffer","FillIncompressibleBuffer","FreeResults","GetNumNodes","GetNumTasks","GetNumTasksOnNode0","GetOffsetArrayRandom","GetOffsetArraySequential","GetPlatformName","GetTestFileName","GetTimeStamp","HDF5_Access","HDF5_Close","HDF5_Create","HDF5_Delete","HDF5_Fsync","HDF5_GetFileSize","HDF5_GetVersion","HDF5_Open","HDF5_Xfer","HDF5_options","HogMemory","HumanReadable","InitTests","MMAP_Close","MMAP_Create","MMAP_Fsync","MMAP_Open","MMAP_Xfer","MMAP_options","MPIIO_Access","MPIIO_Close","MPIIO_Create","MPIIO_Delete","MPIIO_Fsync","MPIIO_GetFileSize","MPIIO_GetVersion","MPIIO_Open","MPIIO_Xfer","NodeMemoryStringToBytes","POSIX_Close","POSIX_Create","POSIX_Delete","POSIX_Fsync","POSIX_GetFileSize","POSIX_Mknod","POSIX_Open","POSIX_Sync","POSIX_Xfer","POSIX_options","PPDouble","ParseCommandLine","ParseFileName","ParseLine","PrependDir","PrintArrayEnd","PrintArrayNamedStart","PrintArrayStart","PrintEndSection","PrintHeader","PrintIndent","PrintKeyVal","PrintKeyValDouble","PrintKeyValEnd","PrintKeyValInt","PrintKeyValStart","PrintLongSummaryAllTests","PrintLongSummaryHeader","PrintLongSummaryOneOperation","PrintLongSummaryOneTest","PrintNamedArrayStart","PrintNamedSectionStart","PrintNextToken","PrintReducedResult","PrintRemoveTiming","PrintRepeatEnd","PrintRepeatStart","PrintShortSummary","PrintStartSection","PrintTableHeader","PrintTestEnds","PrintTimestamp","QueryNodeMapping","ReadConfigScript","ReadStoneWallingIterations","ReduceIterResults","Regex","RemoveFile","SeedRandGen","SetHints","SetupDataSet","ShowFileSystemSize","ShowHints","ShowSetup","ShowTestEnd","ShowTestStart","StoreStoneWallingIterations","StringToBytes","TestIoSys","TimeDeviation","ValidateTests","WriteOrRead","WriteOrReadSingle","WriteTimes","XferBuffersFree","XferBuffersSetup","__do_global_dtors_aux","aiori_count","aiori_default","aiori_finalize","aiori_get_version","aiori_initialize","aiori_posix_access","aiori_posix_mkdir","aiori_posix_rmdir","aiori_posix_stat","aiori_posix_statfs","aiori_select","aiori_supported_apis","airoi_create_all_module_options","airoi_update_module_options","aligned_buffer_alloc","aligned_buffer_free","bw_ops_values","bw_values","contains_only","createGlobalOptions","decodeDirectiveWrapper","deregister_tm_clones","file_hits_histogram","frame_dummy","init_IOR_Param_t","init_clock","init_or_fini","init_or_fini_internal","ior_main","ior_mmap_file","ior_run","main","malloc_and_touch","mean_of_array_of_doubles","ops_values","option_parse","option_parse_key_value","option_parse_str","option_parse_token","option_print_current","option_print_help","print_current_option_section","print_help_section","print_option_value","print_value","register_tm_clones","safeMalloc","set_o_direct_flag","string_to_bytes","test_time_elapsed","updateParsedOptions"],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/ior-3.3.0-ip47j26fw7xxfftdzjvy2h36phgcuypv/bin/ior","include_offsets":false}] +[{"type":4,"name":"custom1","functions":["openat","read","write","close","fallocate","fdatasync","flock","fsync","ftruncate","lseek","pread64","preadv","preadv2","pwrite64","pwritev","pwritev2","readahead","readv","writev","open","openat2"],"bpf_path":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c","start_event_id":100000,"process_header":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h","event_type":2},{"type":0,"name":"sys","functions":["access","chdir","close","close_range","copy_file_range","creat","dup","dup2","dup3","eventfd2","exit","exit_group","faccessat","faccessat2","fadvise64","fadvise64_64","fallocate","fanotify_init","fanotify_mark","fchdir","fchmod","fchmodat","fchmodat2","fchown","fchownat","fcntl","fdatasync","fgetxattr","flistxattr","flock","fremovexattr","fsetxattr","fstat","fstatfs","fstatfs64","fsync","ftruncate","getcwd","getdents","getxattr","inotify_add_watch","inotify_init","inotify_init1","inotify_rm_watch","io_cancel","io_destroy","io_setup","io_submit","io_uring_enter","io_uring_register","io_uring_setup","lgetxattr","link","linkat","listxattr","llistxattr","llseek","lremovexattr","lseek","lsetxattr","lstat","madvise","mbind","migrate_pages","mincore","mkdir","mkdirat","mknod","mknodat","mlock","mlockall","mmap_pgoff","move_pages","mprotect","mremap","msync","munlock","munlockall","munmap","newfstat","newlstat","newstat","open","openat","openat2","pidfd_open","pipe","pread64","preadv","preadv2","process_madvise","process_mrelease","process_vm_readv","process_vm_writev","pwrite64","pwritev","pwritev2","read","readlink","readlinkat","readv","remap_file_pages","removexattr","rename","renameat","rmdir","sendfile64","setxattr","stat","statfs","statfs64","statx","symlink","symlinkat","sync","sync_file_range","sync_file_range2","syncfs","sysfs","truncate","unlink","unlinkat","ustat","vfork","write","writev"]},{"type":2,"name":"libc","functions":["__GI___fork","__GI___register_atfork","__GI___vfork","__GI_forkpty","__dyn_pthread_atfork","__fork","__forkpty","__libc_fork","__libc_unwind_link_after_fork","__libc_vfork","__malloc_fork_lock_parent","__malloc_fork_unlock_child","__malloc_fork_unlock_parent","__mq_notify_fork_subprocess","__nss_database_fork_prepare_parent","__nss_database_fork_subprocess","__register_atfork","__run_postfork_handlers","__run_prefork_handlers","__timer_fork_subprocess","__unregister_atfork","__vfork","fork","pthread_atfork@GLIBC_2.2.5","vfork"],"binary_path":"/usr/lib64/libc.so.6","include_offsets":false},{"type":2,"name":"hdf5","functions":["H5AC__broadcast_clean_list_cb","H5AC__check_if_write_permitted","H5AC__copy_candidate_list_to_buffer.constprop.0","H5AC__copy_candidate_list_to_buffer_cb","H5AC__flush_entries","H5AC__log_cleaned_entry","H5AC__log_deleted_entry","H5AC__log_dirtied_entry","H5AC__log_flushed_entry","H5AC__log_inserted_entry","H5AC__log_moved_entry","H5AC__propagate_flushed_and_still_clean_entries_list","H5AC__proxy_entry_add_child_cb","H5AC__proxy_entry_free_icr","H5AC__proxy_entry_image_len","H5AC__proxy_entry_notify","H5AC__proxy_entry_remove_child_cb","H5AC__proxy_entry_serialize","H5AC__receive_haddr_list","H5AC__run_sync_point","H5AC__set_sync_point_done_callback","H5AC__set_write_done_callback","H5AC_add_candidate","H5AC_cache_image_pending","H5AC_cork","H5AC_create","H5AC_create_flush_dependency","H5AC_dest","H5AC_destroy_flush_dependency","H5AC_evict","H5AC_evict_tagged_metadata","H5AC_expunge_entry","H5AC_expunge_tag_type_metadata","H5AC_flush","H5AC_flush_tagged_metadata","H5AC_get_cache_auto_resize_config","H5AC_get_cache_flush_in_progress","H5AC_get_cache_hit_rate","H5AC_get_cache_size","H5AC_get_entry_ring","H5AC_get_entry_status","H5AC_get_mdc_image_info","H5AC_get_tag","H5AC_ignore_tags","H5AC_init","H5AC_insert_entry","H5AC_load_cache_image_on_next_protect","H5AC_mark_entry_clean","H5AC_mark_entry_dirty","H5AC_mark_entry_serialized","H5AC_mark_entry_unserialized","H5AC_move_entry","H5AC_pin_protected_entry","H5AC_prep_for_file_close","H5AC_prep_for_file_flush","H5AC_protect","H5AC_proxy_entry_add_child","H5AC_proxy_entry_add_parent","H5AC_proxy_entry_create","H5AC_proxy_entry_dest","H5AC_proxy_entry_remove_child","H5AC_proxy_entry_remove_parent","H5AC_remove_entry","H5AC_reset_cache_hit_rate_stats","H5AC_resize_entry","H5AC_retag_copied_metadata","H5AC_secure_from_file_flush","H5AC_set_cache_auto_resize_config","H5AC_set_ring","H5AC_stats","H5AC_tag","H5AC_term_package","H5AC_unpin_entry","H5AC_unprotect","H5AC_unsettle_entry_ring","H5AC_unsettle_ring","H5AC_validate_cache_image_config","H5AC_validate_config","H5A__attr_cmp_corder_dec","H5A__attr_cmp_corder_inc","H5A__attr_cmp_name_dec","H5A__attr_cmp_name_inc","H5A__attr_copy_file","H5A__attr_iterate_table","H5A__attr_post_copy_file","H5A__attr_release_table","H5A__close","H5A__close_cb","H5A__compact_build_table","H5A__compact_build_table_cb","H5A__copy","H5A__create","H5A__create_api_common","H5A__create_by_name","H5A__create_by_name_api_common","H5A__delete_by_idx","H5A__delete_by_name","H5A__dense_btree2_corder_compare","H5A__dense_btree2_corder_debug","H5A__dense_btree2_corder_decode","H5A__dense_btree2_corder_encode","H5A__dense_btree2_corder_store","H5A__dense_btree2_name_compare","H5A__dense_btree2_name_debug","H5A__dense_btree2_name_decode","H5A__dense_btree2_name_encode","H5A__dense_btree2_name_store","H5A__dense_build_table","H5A__dense_build_table_cb","H5A__dense_copy_fh_cb","H5A__dense_create","H5A__dense_delete","H5A__dense_delete_bt2_cb","H5A__dense_exists","H5A__dense_fh_name_cmp","H5A__dense_fnd_cb","H5A__dense_insert","H5A__dense_iterate","H5A__dense_iterate_bt2_cb","H5A__dense_open","H5A__dense_post_copy_file_all","H5A__dense_post_copy_file_cb","H5A__dense_remove","H5A__dense_remove_bt2_cb","H5A__dense_remove_by_idx","H5A__dense_remove_by_idx_bt2_cb","H5A__dense_rename","H5A__dense_write","H5A__dense_write_bt2_cb","H5A__dense_write_bt2_cb2","H5A__exists_by_name","H5A__get_ainfo","H5A__get_create_plist","H5A__get_info","H5A__get_name","H5A__get_shared_rc_test","H5A__get_type","H5A__is_shared_test","H5A__iterate","H5A__iterate_old","H5A__open","H5A__open_by_idx","H5A__open_by_name","H5A__open_common:0x6a920","H5A__open_common:0x76bf0","H5A__read","H5A__rename_by_name","H5A__set_version","H5A__shared_free","H5A__write","H5A_get_space","H5A_init","H5A_nameof","H5A_oloc","H5A_term_package","H5A_top_term_package","H5A_type","H5Aclose","H5Aclose_async","H5Acreate1","H5Acreate2","H5Acreate_async","H5Acreate_by_name","H5Acreate_by_name_async","H5Adelete","H5Adelete_by_idx","H5Adelete_by_name","H5Aexists","H5Aexists_async","H5Aexists_by_name","H5Aexists_by_name_async","H5Aget_create_plist","H5Aget_info","H5Aget_info_by_idx","H5Aget_info_by_name","H5Aget_name","H5Aget_name_by_idx","H5Aget_num_attrs","H5Aget_space","H5Aget_storage_size","H5Aget_type","H5Aiterate1","H5Aiterate2","H5Aiterate_by_name","H5Aopen","H5Aopen_async","H5Aopen_by_idx","H5Aopen_by_idx_async","H5Aopen_by_name","H5Aopen_by_name_async","H5Aopen_idx","H5Aopen_name","H5Aread","H5Aread_async","H5Arename","H5Arename_async","H5Arename_by_name","H5Arename_by_name_async","H5Awrite","H5Awrite_async","H5B2__cache_hdr_deserialize","H5B2__cache_hdr_free_icr","H5B2__cache_hdr_get_initial_load_size","H5B2__cache_hdr_image_len","H5B2__cache_hdr_notify","H5B2__cache_hdr_serialize","H5B2__cache_hdr_verify_chksum","H5B2__cache_int_deserialize","H5B2__cache_int_free_icr","H5B2__cache_int_get_initial_load_size","H5B2__cache_int_image_len","H5B2__cache_int_notify","H5B2__cache_int_serialize","H5B2__cache_int_verify_chksum","H5B2__cache_leaf_deserialize","H5B2__cache_leaf_free_icr","H5B2__cache_leaf_get_initial_load_size","H5B2__cache_leaf_image_len","H5B2__cache_leaf_notify","H5B2__cache_leaf_serialize","H5B2__cache_leaf_verify_chksum","H5B2__create_flush_depend","H5B2__create_internal","H5B2__create_leaf","H5B2__delete_node","H5B2__delete_node.localalias","H5B2__destroy_flush_depend","H5B2__get_node_depth_test","H5B2__get_node_info_test","H5B2__get_root_addr_test","H5B2__hdr_alloc","H5B2__hdr_create","H5B2__hdr_debug","H5B2__hdr_decr","H5B2__hdr_delete","H5B2__hdr_dirty","H5B2__hdr_free","H5B2__hdr_fuse_decr","H5B2__hdr_fuse_incr","H5B2__hdr_incr","H5B2__hdr_init","H5B2__hdr_protect","H5B2__hdr_unprotect","H5B2__insert","H5B2__insert_internal","H5B2__insert_internal.localalias","H5B2__insert_leaf","H5B2__int_debug","H5B2__internal_free","H5B2__iterate_node","H5B2__iterate_node.localalias","H5B2__leaf_debug","H5B2__leaf_free","H5B2__locate_record","H5B2__merge2","H5B2__merge3","H5B2__neighbor_internal","H5B2__neighbor_internal.localalias","H5B2__neighbor_leaf","H5B2__node_size","H5B2__node_size.localalias","H5B2__protect_internal","H5B2__protect_leaf","H5B2__redistribute2","H5B2__redistribute3","H5B2__remove_internal","H5B2__remove_internal.localalias","H5B2__remove_internal_by_idx","H5B2__remove_internal_by_idx.localalias","H5B2__remove_leaf","H5B2__remove_leaf_by_idx","H5B2__shadow_internal","H5B2__shadow_leaf","H5B2__split1","H5B2__split_root","H5B2__swap_leaf","H5B2__test2_compare","H5B2__test2_debug","H5B2__test2_decode","H5B2__test2_encode","H5B2__test2_store","H5B2__test_compare","H5B2__test_crt_context","H5B2__test_debug","H5B2__test_decode","H5B2__test_dst_context","H5B2__test_encode","H5B2__test_store","H5B2__update_flush_depend","H5B2__update_internal","H5B2__update_internal.localalias","H5B2__update_leaf","H5B2_close","H5B2_create","H5B2_delete","H5B2_depend","H5B2_find","H5B2_get_addr","H5B2_get_nrec","H5B2_index","H5B2_insert","H5B2_iterate","H5B2_modify","H5B2_neighbor","H5B2_open","H5B2_patch_file","H5B2_remove","H5B2_remove_by_idx","H5B2_size","H5B2_stat_info","H5B2_update","H5B__cache_deserialize","H5B__cache_free_icr","H5B__cache_get_initial_load_size","H5B__cache_image_len","H5B__cache_serialize","H5B__get_info_helper","H5B__insert_helper","H5B__iterate_helper","H5B__node_dest","H5B__remove_helper","H5B__verify_structure","H5B_create","H5B_debug","H5B_delete","H5B_delete.localalias","H5B_find","H5B_find.localalias","H5B_get_info","H5B_insert","H5B_iterate","H5B_remove","H5B_shared_free","H5B_shared_new","H5B_valid","H5CX__pop_common","H5CX_free_state","H5CX_get_actual_selection_io_mode","H5CX_get_bkgr_buf","H5CX_get_bkgr_buf_type","H5CX_get_btree_split_ratios","H5CX_get_coll_metadata_read","H5CX_get_data_transform","H5CX_get_dset_min_ohdr_flag","H5CX_get_dt_conv_cb","H5CX_get_dxpl","H5CX_get_encoding","H5CX_get_err_detect","H5CX_get_ext_file_prefix","H5CX_get_filter_cb","H5CX_get_intermediate_group","H5CX_get_io_xfer_mode","H5CX_get_lapl","H5CX_get_libver_bounds","H5CX_get_max_temp_buf","H5CX_get_modify_write_buf","H5CX_get_mpi_coll_datatypes","H5CX_get_mpi_file_flushing","H5CX_get_mpio_chunk_opt_mode","H5CX_get_mpio_chunk_opt_num","H5CX_get_mpio_chunk_opt_ratio","H5CX_get_mpio_coll_opt","H5CX_get_mpio_global_no_coll_cause","H5CX_get_mpio_local_no_coll_cause","H5CX_get_mpio_rank0_bcast","H5CX_get_nlinks","H5CX_get_no_selection_io_cause","H5CX_get_ohdr_flags","H5CX_get_ring","H5CX_get_selection_io_mode","H5CX_get_tag","H5CX_get_tconv_buf","H5CX_get_vds_prefix","H5CX_get_vec_size","H5CX_get_vlen_alloc_info","H5CX_get_vol_connector_prop","H5CX_get_vol_wrap_ctx","H5CX_init","H5CX_is_def_dxpl","H5CX_pop","H5CX_push","H5CX_push_special","H5CX_pushed","H5CX_restore_state","H5CX_retrieve_state","H5CX_set_actual_selection_io_mode","H5CX_set_apl","H5CX_set_coll_metadata_read","H5CX_set_dcpl","H5CX_set_dxpl","H5CX_set_io_xfer_mode","H5CX_set_lapl","H5CX_set_lcpl","H5CX_set_libver_bounds","H5CX_set_loc","H5CX_set_mpi_coll_datatypes","H5CX_set_mpi_file_flushing","H5CX_set_mpio_actual_chunk_opt","H5CX_set_mpio_actual_io_mode","H5CX_set_mpio_coll_opt","H5CX_set_mpio_global_no_coll_cause","H5CX_set_mpio_local_no_coll_cause","H5CX_set_mpio_rank0_bcast","H5CX_set_nlinks","H5CX_set_no_selection_io_cause","H5CX_set_ring","H5CX_set_tag","H5CX_set_vlen_alloc_info","H5CX_set_vol_connector_prop","H5CX_set_vol_wrap_ctx","H5CX_term_package","H5C__auto_adjust_cache_size","H5C__autoadjust__ageout__remove_all_markers","H5C__autoadjust__ageout__remove_excess_markers","H5C__epoch_marker_deserialize","H5C__epoch_marker_free_icr","H5C__epoch_marker_fsf_size","H5C__epoch_marker_get_final_load_size","H5C__epoch_marker_get_initial_load_size","H5C__epoch_marker_image_len","H5C__epoch_marker_notify","H5C__epoch_marker_pre_serialize","H5C__epoch_marker_serialize","H5C__epoch_marker_verify_chksum","H5C__evict_tagged_entries_cb","H5C__expunge_tag_type_metadata_cb","H5C__flash_increase_cache_size","H5C__flush_invalidate_cache","H5C__flush_ring","H5C__flush_single_entry","H5C__flush_tagged_entries_cb","H5C__generate_cache_image","H5C__generate_image","H5C__get_cache_image_config","H5C__image_entry_cmp","H5C__image_stats","H5C__iter_tagged_entries","H5C__iter_tagged_entries_real","H5C__json_tear_down_logging","H5C__json_write_create_cache_log_msg","H5C__json_write_create_fd_log_msg","H5C__json_write_destroy_cache_log_msg","H5C__json_write_destroy_fd_log_msg","H5C__json_write_evict_cache_log_msg","H5C__json_write_expunge_entry_log_msg","H5C__json_write_flush_cache_log_msg","H5C__json_write_insert_entry_log_msg","H5C__json_write_mark_entry_clean_log_msg","H5C__json_write_mark_entry_dirty_log_msg","H5C__json_write_mark_serialized_entry_log_msg","H5C__json_write_mark_unserialized_entry_log_msg","H5C__json_write_move_entry_log_msg","H5C__json_write_pin_entry_log_msg","H5C__json_write_protect_entry_log_msg","H5C__json_write_remove_entry_log_msg","H5C__json_write_resize_entry_log_msg","H5C__json_write_set_cache_config_log_msg","H5C__json_write_start_log_msg","H5C__json_write_stop_log_msg","H5C__json_write_unpin_entry_log_msg","H5C__json_write_unprotect_entry_log_msg","H5C__load_cache_image","H5C__log_json_set_up","H5C__log_trace_set_up","H5C__make_space_in_cache","H5C__pin_entry_from_client.part.0","H5C__prefetched_entry_deserialize","H5C__prefetched_entry_free_icr","H5C__prefetched_entry_fsf_size","H5C__prefetched_entry_get_final_load_size","H5C__prefetched_entry_get_initial_load_size","H5C__prefetched_entry_image_len","H5C__prefetched_entry_notify","H5C__prefetched_entry_pre_serialize","H5C__prefetched_entry_serialize","H5C__prefetched_entry_verify_chksum","H5C__prep_for_file_close__compute_fd_heights_real","H5C__prep_image_for_file_close","H5C__serialize_cache","H5C__serialize_single_entry","H5C__tag_entry","H5C__trace_tear_down_logging","H5C__trace_write_create_fd_log_msg","H5C__trace_write_destroy_fd_log_msg","H5C__trace_write_expunge_entry_log_msg","H5C__trace_write_flush_cache_log_msg","H5C__trace_write_insert_entry_log_msg","H5C__trace_write_mark_entry_clean_log_msg","H5C__trace_write_mark_entry_dirty_log_msg","H5C__trace_write_mark_serialized_entry_log_msg","H5C__trace_write_mark_unserialized_entry_log_msg","H5C__trace_write_move_entry_log_msg","H5C__trace_write_pin_entry_log_msg","H5C__trace_write_protect_entry_log_msg","H5C__trace_write_remove_entry_log_msg","H5C__trace_write_resize_entry_log_msg","H5C__trace_write_set_cache_config_log_msg","H5C__trace_write_unpin_entry_log_msg","H5C__trace_write_unprotect_entry_log_msg","H5C__unpin_entry_from_client","H5C__untag_entry","H5C__verify_cork_tag_test","H5C__verify_cork_tag_test_cb","H5C__verify_len_eoa.isra.0","H5C_apply_candidate_list","H5C_cache_image_pending","H5C_cache_image_status","H5C_clear_coll_entries","H5C_construct_candidate_list__clean_cache","H5C_construct_candidate_list__min_clean","H5C_cork","H5C_create","H5C_create_flush_dependency","H5C_def_auto_resize_rpt_fcn","H5C_dest","H5C_destroy_flush_dependency","H5C_evict","H5C_evict_tagged_entries","H5C_expunge_entry","H5C_expunge_tag_type_metadata","H5C_flush_cache","H5C_flush_tagged_entries","H5C_flush_to_min_clean","H5C_get_aux_ptr","H5C_get_cache_auto_resize_config","H5C_get_cache_flush_in_progress","H5C_get_cache_hit_rate","H5C_get_cache_size","H5C_get_entry_ring","H5C_get_entry_status","H5C_get_evictions_enabled","H5C_get_ignore_tags","H5C_get_logging_status","H5C_get_mdc_image_info","H5C_get_num_objs_corked","H5C_get_tag","H5C_ignore_tags","H5C_insert_entry","H5C_load_cache_image_on_next_protect","H5C_log_set_up","H5C_log_tear_down","H5C_log_write_create_cache_msg","H5C_log_write_create_fd_msg","H5C_log_write_destroy_cache_msg","H5C_log_write_destroy_fd_msg","H5C_log_write_evict_cache_msg","H5C_log_write_expunge_entry_msg","H5C_log_write_flush_cache_msg","H5C_log_write_insert_entry_msg","H5C_log_write_mark_entry_clean_msg","H5C_log_write_mark_entry_dirty_msg","H5C_log_write_mark_serialized_entry_msg","H5C_log_write_mark_unserialized_entry_msg","H5C_log_write_move_entry_msg","H5C_log_write_pin_entry_msg","H5C_log_write_protect_entry_msg","H5C_log_write_remove_entry_msg","H5C_log_write_resize_entry_msg","H5C_log_write_set_cache_config_msg","H5C_log_write_unpin_entry_msg","H5C_log_write_unprotect_entry_msg","H5C_mark_entries_as_clean","H5C_mark_entry_clean","H5C_mark_entry_dirty","H5C_mark_entry_serialized","H5C_mark_entry_unserialized","H5C_move_entry","H5C_pin_protected_entry","H5C_prep_for_file_close","H5C_protect","H5C_remove_entry","H5C_reset_cache_hit_rate_stats","H5C_resize_entry","H5C_retag_entries","H5C_set_cache_auto_resize_config","H5C_set_cache_image_config","H5C_set_evictions_enabled","H5C_set_prefix","H5C_set_slist_enabled","H5C_start_logging","H5C_stats","H5C_stats__reset","H5C_stop_logging","H5C_unpin_entry","H5C_unprotect","H5C_unsettle_entry_ring","H5C_unsettle_ring","H5C_validate_cache_image_config","H5C_validate_resize_config","H5D__alloc_storage","H5D__append_flush_setup.part.0","H5D__bt2_compare","H5D__bt2_crt_context","H5D__bt2_dst_context","H5D__bt2_filt_debug","H5D__bt2_filt_decode","H5D__bt2_filt_encode","H5D__bt2_found_cb","H5D__bt2_idx_close","H5D__bt2_idx_copy_setup","H5D__bt2_idx_copy_shutdown","H5D__bt2_idx_create","H5D__bt2_idx_delete","H5D__bt2_idx_dest","H5D__bt2_idx_dump","H5D__bt2_idx_get_addr","H5D__bt2_idx_init","H5D__bt2_idx_insert","H5D__bt2_idx_is_open","H5D__bt2_idx_is_space_alloc","H5D__bt2_idx_iterate","H5D__bt2_idx_iterate_cb","H5D__bt2_idx_load_metadata","H5D__bt2_idx_open","H5D__bt2_idx_remove","H5D__bt2_idx_reset","H5D__bt2_idx_size","H5D__bt2_mod_cb","H5D__bt2_remove_cb","H5D__bt2_store","H5D__bt2_unfilt_debug","H5D__bt2_unfilt_decode","H5D__bt2_unfilt_encode","H5D__btree2_idx_depend","H5D__btree_cmp2","H5D__btree_cmp3","H5D__btree_debug_key","H5D__btree_decode_key","H5D__btree_encode_key","H5D__btree_found","H5D__btree_get_shared","H5D__btree_idx_close","H5D__btree_idx_copy_setup","H5D__btree_idx_copy_shutdown","H5D__btree_idx_create","H5D__btree_idx_delete","H5D__btree_idx_dest","H5D__btree_idx_dump","H5D__btree_idx_get_addr","H5D__btree_idx_init","H5D__btree_idx_insert","H5D__btree_idx_is_open","H5D__btree_idx_is_space_alloc","H5D__btree_idx_iterate","H5D__btree_idx_iterate_cb","H5D__btree_idx_load_metadata","H5D__btree_idx_open","H5D__btree_idx_remove","H5D__btree_idx_reset","H5D__btree_idx_size","H5D__btree_insert","H5D__btree_new_node","H5D__btree_remove","H5D__btree_shared_create","H5D__btree_shared_free","H5D__build_file_prefix.isra.0","H5D__cache_dataspace_info","H5D__chunk_addrmap","H5D__chunk_addrmap_cb","H5D__chunk_allocate","H5D__chunk_allocated","H5D__chunk_allocated_cb","H5D__chunk_bh_info","H5D__chunk_cache_evict","H5D__chunk_cache_evict.constprop.0","H5D__chunk_cacheable","H5D__chunk_cmp_coll_fill_info","H5D__chunk_construct","H5D__chunk_copy","H5D__chunk_copy_cb","H5D__chunk_create","H5D__chunk_delete","H5D__chunk_dest","H5D__chunk_direct_read","H5D__chunk_direct_write","H5D__chunk_dump_index","H5D__chunk_dump_index_cb","H5D__chunk_file_alloc","H5D__chunk_flush","H5D__chunk_flush_entry","H5D__chunk_flush_entry.constprop.0","H5D__chunk_format_convert","H5D__chunk_format_convert_cb","H5D__chunk_get_offset_copy","H5D__chunk_index_empty","H5D__chunk_index_empty_cb","H5D__chunk_init","H5D__chunk_io_init","H5D__chunk_io_term","H5D__chunk_is_data_cached","H5D__chunk_is_partial_edge_chunk","H5D__chunk_is_space_alloc","H5D__chunk_iter","H5D__chunk_iter_cb","H5D__chunk_lock.constprop.0","H5D__chunk_lookup","H5D__chunk_mdio_init","H5D__chunk_mem_alloc","H5D__chunk_mem_free","H5D__chunk_mem_realloc","H5D__chunk_mem_xfree","H5D__chunk_prune_by_extent","H5D__chunk_read","H5D__chunk_set_info","H5D__chunk_set_info_real","H5D__chunk_set_sizes","H5D__chunk_unlock.constprop.0","H5D__chunk_update_cache","H5D__chunk_update_old_edge_chunks","H5D__chunk_write","H5D__close_cb","H5D__cmp_chunk_redistribute_info","H5D__cmp_chunk_redistribute_info_orig_owner","H5D__cmp_filtered_collective_io_info_entry","H5D__cmp_piece_addr","H5D__collective_read","H5D__collective_write","H5D__compact_construct","H5D__compact_copy","H5D__compact_dest","H5D__compact_fill","H5D__compact_flush","H5D__compact_init","H5D__compact_io_init","H5D__compact_iovv_memmanage_cb","H5D__compact_is_space_alloc","H5D__compact_readvv","H5D__compact_writevv","H5D__compound_opt_read","H5D__contig_alloc","H5D__contig_check","H5D__contig_construct","H5D__contig_copy","H5D__contig_delete","H5D__contig_fill","H5D__contig_flush","H5D__contig_init","H5D__contig_io_init","H5D__contig_io_term","H5D__contig_is_data_cached","H5D__contig_is_space_alloc","H5D__contig_mdio_init","H5D__contig_read","H5D__contig_readvv","H5D__contig_readvv_cb","H5D__contig_readvv_sieve_cb","H5D__contig_write","H5D__contig_writevv","H5D__contig_writevv_cb","H5D__contig_writevv_sieve_cb","H5D__create","H5D__create_named","H5D__current_cache_size_test","H5D__earray_crt_context","H5D__earray_crt_dbg_context","H5D__earray_debug","H5D__earray_decode","H5D__earray_dst_context","H5D__earray_dst_dbg_context","H5D__earray_encode","H5D__earray_fill","H5D__earray_filt_debug","H5D__earray_filt_decode","H5D__earray_filt_encode","H5D__earray_filt_fill","H5D__earray_idx_close","H5D__earray_idx_copy_setup","H5D__earray_idx_copy_shutdown","H5D__earray_idx_create","H5D__earray_idx_delete","H5D__earray_idx_delete_cb","H5D__earray_idx_depend","H5D__earray_idx_dest","H5D__earray_idx_dump","H5D__earray_idx_get_addr","H5D__earray_idx_init","H5D__earray_idx_insert","H5D__earray_idx_is_open","H5D__earray_idx_is_space_alloc","H5D__earray_idx_iterate","H5D__earray_idx_iterate_cb","H5D__earray_idx_load_metadata","H5D__earray_idx_open","H5D__earray_idx_remove","H5D__earray_idx_reset","H5D__earray_idx_resize","H5D__earray_idx_size","H5D__efl_bh_info","H5D__efl_construct","H5D__efl_init","H5D__efl_io_init","H5D__efl_is_space_alloc","H5D__efl_readvv","H5D__efl_readvv_cb","H5D__efl_writevv","H5D__efl_writevv_cb","H5D__farray_crt_context","H5D__farray_crt_dbg_context","H5D__farray_debug","H5D__farray_decode","H5D__farray_dst_context","H5D__farray_dst_dbg_context","H5D__farray_encode","H5D__farray_fill","H5D__farray_filt_debug","H5D__farray_filt_decode","H5D__farray_filt_encode","H5D__farray_filt_fill","H5D__farray_idx_close","H5D__farray_idx_copy_setup","H5D__farray_idx_copy_shutdown","H5D__farray_idx_create","H5D__farray_idx_delete","H5D__farray_idx_delete_cb","H5D__farray_idx_depend","H5D__farray_idx_dest","H5D__farray_idx_dump","H5D__farray_idx_get_addr","H5D__farray_idx_init","H5D__farray_idx_insert","H5D__farray_idx_is_open","H5D__farray_idx_is_space_alloc","H5D__farray_idx_iterate","H5D__farray_idx_iterate_cb","H5D__farray_idx_load_metadata","H5D__farray_idx_open","H5D__farray_idx_remove","H5D__farray_idx_reset","H5D__farray_idx_size","H5D__fill","H5D__fill_init","H5D__fill_refill_vl","H5D__fill_term","H5D__flush","H5D__flush_all_cb","H5D__flush_real","H5D__flush_sieve_buf","H5D__format_convert","H5D__free_piece_info","H5D__gather_file","H5D__gather_mem","H5D__get_chunk_info","H5D__get_chunk_info_by_coord","H5D__get_chunk_info_by_coord_cb","H5D__get_chunk_info_cb","H5D__get_chunk_storage_size","H5D__get_num_chunks","H5D__get_num_chunks_cb","H5D__get_offset","H5D__get_space","H5D__get_space_status","H5D__get_storage_size","H5D__get_type","H5D__init_storage","H5D__inter_collective_io","H5D__ioinfo_adjust","H5D__layout_compact_dirty_test","H5D__layout_contig_size_test","H5D__layout_idx_type_test","H5D__layout_meta_size","H5D__layout_oh_create","H5D__layout_oh_read","H5D__layout_oh_write","H5D__layout_set_io_ops","H5D__layout_set_latest_indexing","H5D__layout_set_version","H5D__layout_type_test","H5D__layout_version_test","H5D__link_chunk_filtered_collective_io","H5D__link_piece_collective_io.constprop.0","H5D__mark","H5D__mpio_collective_filtered_chunk_read.constprop.0","H5D__mpio_collective_filtered_chunk_reinsert","H5D__mpio_collective_filtered_chunk_update","H5D__mpio_collective_filtered_vec_io","H5D__mpio_get_chunk_alloc_info_types.constprop.0","H5D__mpio_get_no_coll_cause_strings","H5D__mpio_opt_possible","H5D__mpio_redistribute_shared_chunks","H5D__mpio_select_read","H5D__mpio_select_write","H5D__mpio_share_chunk_modification_data.constprop.0","H5D__multi_chunk_collective_io","H5D__multi_chunk_filtered_collective_io.constprop.0","H5D__new","H5D__none_idx_close","H5D__none_idx_copy_setup","H5D__none_idx_create","H5D__none_idx_delete","H5D__none_idx_dump","H5D__none_idx_get_addr","H5D__none_idx_is_open","H5D__none_idx_is_space_alloc","H5D__none_idx_iterate","H5D__none_idx_load_metadata","H5D__none_idx_open","H5D__none_idx_remove","H5D__none_idx_reset","H5D__none_idx_size","H5D__nonexistent_readvv","H5D__nonexistent_readvv_cb","H5D__open_name","H5D__piece_file_cb","H5D__piece_io","H5D__piece_mem_cb","H5D__read","H5D__read_api_common","H5D__read_api_common.constprop.0","H5D__refresh","H5D__scatgath_read","H5D__scatgath_read_select","H5D__scatgath_write","H5D__scatgath_write_select","H5D__scatter_file","H5D__scatter_mem","H5D__select_io","H5D__select_read","H5D__select_write","H5D__set_extent","H5D__single_idx_close","H5D__single_idx_copy_setup","H5D__single_idx_create","H5D__single_idx_delete","H5D__single_idx_dump","H5D__single_idx_get_addr","H5D__single_idx_init","H5D__single_idx_insert","H5D__single_idx_is_open","H5D__single_idx_is_space_alloc","H5D__single_idx_iterate","H5D__single_idx_load_metadata","H5D__single_idx_open","H5D__single_idx_remove","H5D__single_idx_reset","H5D__single_idx_size","H5D__typeinfo_init","H5D__typeinfo_init_phase2","H5D__typeinfo_init_phase3.part.0","H5D__virtual_build_source_name.part.0","H5D__virtual_copy","H5D__virtual_copy_layout","H5D__virtual_copy_parsed_name","H5D__virtual_delete","H5D__virtual_flush","H5D__virtual_hold_source_dset_files","H5D__virtual_init","H5D__virtual_io_init","H5D__virtual_is_data_cached","H5D__virtual_is_space_alloc","H5D__virtual_open_source_dset","H5D__virtual_post_io","H5D__virtual_pre_io.isra.0","H5D__virtual_read","H5D__virtual_read_one","H5D__virtual_refresh_source_dset","H5D__virtual_refresh_source_dsets","H5D__virtual_release_source_dset_files","H5D__virtual_reset_layout","H5D__virtual_set_extent_unlim","H5D__virtual_store_layout","H5D__virtual_str_append","H5D__virtual_write","H5D__virtual_write_one","H5D__vlen_get_buf_size","H5D__vlen_get_buf_size_alloc","H5D__vlen_get_buf_size_cb","H5D__vlen_get_buf_size_gen","H5D__vlen_get_buf_size_gen_cb","H5D__write","H5D__write_api_common","H5D__write_api_common.constprop.0","H5D_btree_debug","H5D_chunk_idx_reset","H5D_close","H5D_close.localalias","H5D_flush_all","H5D_get_access_plist","H5D_get_create_plist","H5D_get_dcpl_id","H5D_init","H5D_mult_refresh_close","H5D_mult_refresh_reopen","H5D_nameof","H5D_oloc","H5D_open","H5D_select_io_mem","H5D_term_package","H5D_top_term_package","H5D_virtual_check_mapping_post","H5D_virtual_check_mapping_pre","H5D_virtual_check_min_dims","H5D_virtual_free_parsed_name","H5D_virtual_parse_source_name","H5D_virtual_update_min_dims","H5Dchunk_iter","H5Dclose","H5Dclose_async","H5Dcreate1","H5Dcreate2","H5Dcreate_anon","H5Dcreate_async","H5Ddebug","H5Dextend","H5Dfill","H5Dflush","H5Dformat_convert","H5Dgather","H5Dget_access_plist","H5Dget_chunk_index_type","H5Dget_chunk_info","H5Dget_chunk_info_by_coord","H5Dget_chunk_storage_size","H5Dget_create_plist","H5Dget_num_chunks","H5Dget_offset","H5Dget_space","H5Dget_space_async","H5Dget_space_status","H5Dget_storage_size","H5Dget_type","H5Diterate","H5Dopen1","H5Dopen2","H5Dopen_async","H5Dread","H5Dread_async","H5Dread_chunk","H5Dread_multi","H5Dread_multi_async","H5Drefresh","H5Dscatter","H5Dset_extent","H5Dset_extent_async","H5Dvlen_get_buf_size","H5Dvlen_reclaim","H5Dwrite","H5Dwrite_async","H5Dwrite_chunk","H5Dwrite_multi","H5Dwrite_multi_async","H5EA__cache_dblk_page_deserialize","H5EA__cache_dblk_page_free_icr","H5EA__cache_dblk_page_get_initial_load_size","H5EA__cache_dblk_page_image_len","H5EA__cache_dblk_page_notify","H5EA__cache_dblk_page_serialize","H5EA__cache_dblk_page_verify_chksum","H5EA__cache_dblock_deserialize","H5EA__cache_dblock_free_icr","H5EA__cache_dblock_fsf_size","H5EA__cache_dblock_get_initial_load_size","H5EA__cache_dblock_image_len","H5EA__cache_dblock_notify","H5EA__cache_dblock_serialize","H5EA__cache_dblock_verify_chksum","H5EA__cache_hdr_deserialize","H5EA__cache_hdr_free_icr","H5EA__cache_hdr_get_initial_load_size","H5EA__cache_hdr_image_len","H5EA__cache_hdr_notify","H5EA__cache_hdr_serialize","H5EA__cache_hdr_verify_chksum","H5EA__cache_iblock_deserialize","H5EA__cache_iblock_free_icr","H5EA__cache_iblock_get_initial_load_size","H5EA__cache_iblock_image_len","H5EA__cache_iblock_notify","H5EA__cache_iblock_serialize","H5EA__cache_iblock_verify_chksum","H5EA__cache_sblock_deserialize","H5EA__cache_sblock_free_icr","H5EA__cache_sblock_get_initial_load_size","H5EA__cache_sblock_image_len","H5EA__cache_sblock_notify","H5EA__cache_sblock_serialize","H5EA__cache_sblock_verify_chksum","H5EA__cmp_cparam_test","H5EA__create_flush_depend","H5EA__dblk_page_alloc","H5EA__dblk_page_create","H5EA__dblk_page_dest","H5EA__dblk_page_protect","H5EA__dblk_page_unprotect","H5EA__dblock_alloc","H5EA__dblock_create","H5EA__dblock_debug","H5EA__dblock_delete","H5EA__dblock_dest","H5EA__dblock_protect","H5EA__dblock_sblk_idx","H5EA__dblock_unprotect","H5EA__destroy_flush_depend","H5EA__get_cparam_test","H5EA__hdr_alloc","H5EA__hdr_alloc_elmts","H5EA__hdr_create","H5EA__hdr_debug","H5EA__hdr_decr","H5EA__hdr_delete","H5EA__hdr_dest","H5EA__hdr_free_elmts","H5EA__hdr_fuse_decr","H5EA__hdr_fuse_incr","H5EA__hdr_incr","H5EA__hdr_init","H5EA__hdr_modified","H5EA__hdr_protect","H5EA__hdr_unprotect","H5EA__iblock_alloc","H5EA__iblock_create","H5EA__iblock_debug","H5EA__iblock_delete","H5EA__iblock_dest","H5EA__iblock_protect","H5EA__iblock_unprotect","H5EA__lookup_elmt.constprop.0.isra.0","H5EA__sblock_alloc","H5EA__sblock_create","H5EA__sblock_debug","H5EA__sblock_delete","H5EA__sblock_dest","H5EA__sblock_protect","H5EA__sblock_unprotect","H5EA__test_crt_context","H5EA__test_crt_dbg_context","H5EA__test_debug","H5EA__test_decode","H5EA__test_dst_context","H5EA__test_dst_dbg_context","H5EA__test_encode","H5EA__test_fill","H5EA_close","H5EA_create","H5EA_delete","H5EA_depend","H5EA_get","H5EA_get_addr","H5EA_get_nelmts","H5EA_get_stats","H5EA_iterate","H5EA_open","H5EA_patch_file","H5EA_set","H5ES__cancel","H5ES__cancel_cb","H5ES__close_cb","H5ES__close_failed_cb","H5ES__create","H5ES__event_completed","H5ES__event_free","H5ES__event_new","H5ES__get_err_info","H5ES__get_err_info_cb","H5ES__get_requests","H5ES__get_requests_cb","H5ES__insert_request","H5ES__list_append","H5ES__list_count","H5ES__list_iterate","H5ES__list_remove","H5ES__op_complete","H5ES__wait","H5ES__wait_cb","H5ES_init","H5ES_insert","H5ES_term_package","H5EScancel","H5ESclose","H5EScreate","H5ESfree_err_info","H5ESget_count","H5ESget_err_count","H5ESget_err_info","H5ESget_err_status","H5ESget_op_counter","H5ESget_requests","H5ESinsert_request","H5ESregister_complete_func","H5ESregister_insert_func","H5ESwait","H5E__append_stack","H5E__clear_entries","H5E__clear_stack","H5E__close_msg","H5E__close_msg_cb","H5E__close_stack","H5E__create_msg","H5E__get_auto","H5E__get_class_name","H5E__get_current_stack","H5E__get_msg","H5E__get_num","H5E__pop","H5E__print","H5E__print2","H5E__push_stack","H5E__register_class","H5E__set_auto","H5E__set_current_stack","H5E__set_default_auto","H5E__unregister_class","H5E__walk","H5E__walk1_cb","H5E__walk2_cb","H5E_clear_stack","H5E_dump_api_stack","H5E_init","H5E_pause_stack","H5E_printf_stack","H5E_resume_stack","H5E_term_package","H5Eappend_stack","H5Eauto_is_v2","H5Eclear1","H5Eclear2","H5Eclose_msg","H5Eclose_stack","H5Ecreate_msg","H5Ecreate_stack","H5Eget_auto1","H5Eget_auto2","H5Eget_class_name","H5Eget_current_stack","H5Eget_major","H5Eget_minor","H5Eget_msg","H5Eget_num","H5Eis_paused","H5Epause_stack","H5Epop","H5Eprint1","H5Eprint2","H5Epush1","H5Epush2","H5Eregister_class","H5Eresume_stack","H5Eset_auto1","H5Eset_auto2","H5Eset_current_stack","H5Eunregister_class","H5Ewalk1","H5Ewalk2","H5FA__cache_dblk_page_deserialize","H5FA__cache_dblk_page_free_icr","H5FA__cache_dblk_page_get_initial_load_size","H5FA__cache_dblk_page_image_len","H5FA__cache_dblk_page_notify","H5FA__cache_dblk_page_serialize","H5FA__cache_dblk_page_verify_chksum","H5FA__cache_dblock_deserialize","H5FA__cache_dblock_free_icr","H5FA__cache_dblock_fsf_size","H5FA__cache_dblock_get_initial_load_size","H5FA__cache_dblock_image_len","H5FA__cache_dblock_notify","H5FA__cache_dblock_serialize","H5FA__cache_dblock_verify_chksum","H5FA__cache_hdr_deserialize","H5FA__cache_hdr_free_icr","H5FA__cache_hdr_get_initial_load_size","H5FA__cache_hdr_image_len","H5FA__cache_hdr_notify","H5FA__cache_hdr_serialize","H5FA__cache_hdr_verify_chksum","H5FA__cmp_cparam_test","H5FA__create_flush_depend","H5FA__dblk_page_alloc","H5FA__dblk_page_create","H5FA__dblk_page_dest","H5FA__dblk_page_protect","H5FA__dblk_page_unprotect","H5FA__dblock_alloc","H5FA__dblock_create","H5FA__dblock_debug","H5FA__dblock_delete","H5FA__dblock_dest","H5FA__dblock_protect","H5FA__dblock_unprotect","H5FA__destroy_flush_depend","H5FA__get_cparam_test","H5FA__hdr_alloc","H5FA__hdr_create","H5FA__hdr_debug","H5FA__hdr_decr","H5FA__hdr_delete","H5FA__hdr_dest","H5FA__hdr_fuse_decr","H5FA__hdr_fuse_incr","H5FA__hdr_incr","H5FA__hdr_init","H5FA__hdr_modified","H5FA__hdr_protect","H5FA__hdr_unprotect","H5FA__test_crt_context","H5FA__test_crt_dbg_context","H5FA__test_debug","H5FA__test_decode","H5FA__test_dst_context","H5FA__test_encode","H5FA__test_fill","H5FA_close","H5FA_create","H5FA_delete","H5FA_depend","H5FA_get","H5FA_get_addr","H5FA_get_nelmts","H5FA_get_stats","H5FA_iterate","H5FA_open","H5FA_patch_file","H5FA_set","H5FD__alloc_real","H5FD__copy_plist","H5FD__core_close","H5FD__core_cmp","H5FD__core_delete","H5FD__core_fapl_get","H5FD__core_flush","H5FD__core_flush.part.0","H5FD__core_get_eoa","H5FD__core_get_eof","H5FD__core_get_handle","H5FD__core_lock","H5FD__core_open","H5FD__core_query","H5FD__core_read","H5FD__core_set_eoa","H5FD__core_term","H5FD__core_truncate","H5FD__core_unlock","H5FD__core_write","H5FD__core_write_to_bstore","H5FD__extend","H5FD__family_close","H5FD__family_cmp","H5FD__family_delete","H5FD__family_fapl_copy","H5FD__family_fapl_free","H5FD__family_fapl_get","H5FD__family_flush","H5FD__family_get_default_config","H5FD__family_get_default_printf_filename","H5FD__family_get_eoa","H5FD__family_get_eof","H5FD__family_get_handle","H5FD__family_lock","H5FD__family_open","H5FD__family_query","H5FD__family_read","H5FD__family_sb_decode","H5FD__family_sb_encode","H5FD__family_sb_size","H5FD__family_set_eoa","H5FD__family_term","H5FD__family_truncate","H5FD__family_unlock","H5FD__family_write","H5FD__free_cls","H5FD__free_real","H5FD__get_driver_cb","H5FD__log_alloc","H5FD__log_close","H5FD__log_cmp","H5FD__log_delete","H5FD__log_fapl_copy","H5FD__log_fapl_free","H5FD__log_fapl_get","H5FD__log_free","H5FD__log_get_eoa","H5FD__log_get_eof","H5FD__log_get_handle","H5FD__log_lock","H5FD__log_open","H5FD__log_query","H5FD__log_read","H5FD__log_set_eoa","H5FD__log_term","H5FD__log_truncate","H5FD__log_unlock","H5FD__log_write","H5FD__mpio_close","H5FD__mpio_ctl","H5FD__mpio_delete","H5FD__mpio_flush","H5FD__mpio_get_eoa","H5FD__mpio_get_eof","H5FD__mpio_get_handle","H5FD__mpio_open","H5FD__mpio_query","H5FD__mpio_read","H5FD__mpio_read_selection","H5FD__mpio_read_vector","H5FD__mpio_set_eoa","H5FD__mpio_term","H5FD__mpio_truncate","H5FD__mpio_vector_build_types.constprop.0","H5FD__mpio_write","H5FD__mpio_write_selection","H5FD__mpio_write_vector","H5FD__onion_archival_index_find","H5FD__onion_archival_index_is_valid","H5FD__onion_archival_index_list_sort_cmp","H5FD__onion_close","H5FD__onion_ctl","H5FD__onion_get_eoa","H5FD__onion_get_eof","H5FD__onion_header_decode","H5FD__onion_header_encode","H5FD__onion_history_decode","H5FD__onion_history_encode","H5FD__onion_ingest_header","H5FD__onion_ingest_history","H5FD__onion_ingest_revision_record","H5FD__onion_merge_revision_index_into_archival_index","H5FD__onion_open","H5FD__onion_read","H5FD__onion_revision_index_destroy","H5FD__onion_revision_index_find","H5FD__onion_revision_index_init","H5FD__onion_revision_index_insert","H5FD__onion_revision_record_decode","H5FD__onion_revision_record_encode","H5FD__onion_sb_decode","H5FD__onion_sb_encode","H5FD__onion_sb_size","H5FD__onion_set_eoa","H5FD__onion_term","H5FD__onion_write","H5FD__onion_write_final_history","H5FD__onion_write_header","H5FD__onion_write_history","H5FD__read_selection_translate","H5FD__sec2_close","H5FD__sec2_cmp","H5FD__sec2_ctl","H5FD__sec2_delete","H5FD__sec2_get_eoa","H5FD__sec2_get_eof","H5FD__sec2_get_handle","H5FD__sec2_lock","H5FD__sec2_open","H5FD__sec2_query","H5FD__sec2_read","H5FD__sec2_set_eoa","H5FD__sec2_term","H5FD__sec2_truncate","H5FD__sec2_unlock","H5FD__sec2_write","H5FD__selection_build_types.constprop.0","H5FD__sort_io_req_real.constprop.0","H5FD__splitter_alloc","H5FD__splitter_close","H5FD__splitter_cmp","H5FD__splitter_ctl","H5FD__splitter_delete","H5FD__splitter_fapl_copy","H5FD__splitter_fapl_free","H5FD__splitter_fapl_get","H5FD__splitter_flush","H5FD__splitter_free","H5FD__splitter_get_default_wo_path.constprop.0","H5FD__splitter_get_eoa","H5FD__splitter_get_eof","H5FD__splitter_get_handle","H5FD__splitter_get_type_map","H5FD__splitter_lock","H5FD__splitter_log_error.part.0.isra.0","H5FD__splitter_open","H5FD__splitter_populate_config","H5FD__splitter_query","H5FD__splitter_read","H5FD__splitter_sb_decode","H5FD__splitter_sb_encode","H5FD__splitter_sb_size","H5FD__splitter_set_eoa","H5FD__splitter_term","H5FD__splitter_truncate","H5FD__splitter_unlock","H5FD__splitter_write","H5FD__srt_tmp_cmp","H5FD__supports_swmr_test","H5FD__write_selection_translate","H5FD_alloc","H5FD_check_plugin_load","H5FD_close","H5FD_cmp","H5FD_core_init","H5FD_ctl","H5FD_delete","H5FD_driver_query","H5FD_family_init","H5FD_fapl_get","H5FD_flush","H5FD_free","H5FD_free_driver_info","H5FD_get_base_addr","H5FD_get_class","H5FD_get_class.localalias","H5FD_get_driver_id_by_name","H5FD_get_driver_id_by_value","H5FD_get_eoa","H5FD_get_eof","H5FD_get_feature_flags","H5FD_get_fileno","H5FD_get_fs_type_map","H5FD_get_maxaddr","H5FD_get_mpio_atomicity","H5FD_get_vfd_handle","H5FD_init","H5FD_is_driver_registered_by_name","H5FD_is_driver_registered_by_value","H5FD_locate_signature","H5FD_lock","H5FD_log_init","H5FD_mpi_MPIOff_to_haddr","H5FD_mpi_get_comm","H5FD_mpi_get_file_sync_required","H5FD_mpi_get_info","H5FD_mpi_get_rank","H5FD_mpi_get_size","H5FD_mpi_haddr_to_MPIOff","H5FD_mpio_init","H5FD_multi_alloc","H5FD_multi_close","H5FD_multi_cmp","H5FD_multi_ctl","H5FD_multi_delete","H5FD_multi_fapl_copy","H5FD_multi_fapl_free","H5FD_multi_fapl_get","H5FD_multi_flush","H5FD_multi_free","H5FD_multi_get_eoa","H5FD_multi_get_eof","H5FD_multi_get_handle","H5FD_multi_get_type_map","H5FD_multi_init","H5FD_multi_lock","H5FD_multi_open","H5FD_multi_populate_config","H5FD_multi_query","H5FD_multi_read","H5FD_multi_sb_decode","H5FD_multi_sb_decode.part.0","H5FD_multi_sb_encode","H5FD_multi_sb_size","H5FD_multi_set_eoa","H5FD_multi_term","H5FD_multi_truncate","H5FD_multi_unlock","H5FD_multi_write","H5FD_onion_init","H5FD_open","H5FD_read","H5FD_read_from_selection","H5FD_read_selection","H5FD_read_selection_id","H5FD_read_vector","H5FD_read_vector_from_selection","H5FD_register","H5FD_register_driver_by_name","H5FD_register_driver_by_value","H5FD_sb_encode","H5FD_sb_load","H5FD_sb_size","H5FD_sec2_init","H5FD_set_base_addr","H5FD_set_eoa","H5FD_set_feature_flags","H5FD_set_mpio_atomicity","H5FD_set_paged_aggr","H5FD_sort_selection_io_req","H5FD_sort_vector_io_req","H5FD_split_populate_config.constprop.0","H5FD_splitter_init","H5FD_stdio_alloc","H5FD_stdio_close","H5FD_stdio_cmp","H5FD_stdio_delete","H5FD_stdio_flush","H5FD_stdio_get_eoa","H5FD_stdio_get_eof","H5FD_stdio_get_handle","H5FD_stdio_init","H5FD_stdio_lock","H5FD_stdio_open","H5FD_stdio_query","H5FD_stdio_read","H5FD_stdio_set_eoa","H5FD_stdio_term","H5FD_stdio_truncate","H5FD_stdio_unlock","H5FD_stdio_write","H5FD_term_package","H5FD_truncate","H5FD_try_extend","H5FD_unlock","H5FD_write","H5FD_write_from_selection","H5FD_write_selection","H5FD_write_selection_id","H5FD_write_vector","H5FD_write_vector_from_selection","H5FDalloc","H5FDclose","H5FDcmp","H5FDctl","H5FDdelete","H5FDdriver_query","H5FDflush","H5FDfree","H5FDget_eoa","H5FDget_eof","H5FDget_vfd_handle","H5FDis_driver_registered_by_name","H5FDis_driver_registered_by_value","H5FDlock","H5FDonion_get_revision_count","H5FDopen","H5FDperform_init","H5FDquery","H5FDread","H5FDread_from_selection","H5FDread_selection","H5FDread_vector","H5FDread_vector_from_selection","H5FDregister","H5FDset_eoa","H5FDtruncate","H5FDunlock","H5FDunregister","H5FDwrite","H5FDwrite_from_selection","H5FDwrite_selection","H5FDwrite_vector","H5FDwrite_vector_from_selection","H5FL__blk_create_list.part.0","H5FL__blk_gc_list","H5FL_arr_calloc","H5FL_arr_free","H5FL_arr_malloc","H5FL_arr_realloc","H5FL_blk_calloc","H5FL_blk_free","H5FL_blk_free_block_avail","H5FL_blk_malloc","H5FL_blk_realloc","H5FL_fac_calloc","H5FL_fac_free","H5FL_fac_init","H5FL_fac_malloc","H5FL_fac_term","H5FL_garbage_coll","H5FL_get_free_list_sizes","H5FL_reg_calloc","H5FL_reg_free","H5FL_reg_malloc","H5FL_seq_calloc","H5FL_seq_free","H5FL_seq_malloc","H5FL_seq_realloc","H5FL_set_free_list_limits","H5FL_term_package","H5FO_create","H5FO_delete","H5FO_dest","H5FO_insert","H5FO_mark","H5FO_marked","H5FO_opened","H5FO_top_count","H5FO_top_create","H5FO_top_decr","H5FO_top_dest","H5FO_top_incr","H5FS__cache_hdr_deserialize","H5FS__cache_hdr_free_icr","H5FS__cache_hdr_get_initial_load_size","H5FS__cache_hdr_image_len","H5FS__cache_hdr_notify","H5FS__cache_hdr_pre_serialize","H5FS__cache_hdr_serialize","H5FS__cache_hdr_verify_chksum","H5FS__cache_sinfo_deserialize","H5FS__cache_sinfo_free_icr","H5FS__cache_sinfo_get_initial_load_size","H5FS__cache_sinfo_image_len","H5FS__cache_sinfo_notify","H5FS__cache_sinfo_pre_serialize","H5FS__cache_sinfo_serialize","H5FS__cache_sinfo_verify_chksum","H5FS__cmp_cparam_test","H5FS__create_flush_depend","H5FS__decr","H5FS__destroy_flush_depend","H5FS__dirty","H5FS__get_cparam_test","H5FS__hdr_dest","H5FS__incr","H5FS__iterate_node_cb","H5FS__iterate_sect_cb","H5FS__new","H5FS__sect_init_cls.part.0","H5FS__sect_link","H5FS__sect_merge","H5FS__sect_node_new.part.0","H5FS__sect_remove_real","H5FS__sect_unlink_rest","H5FS__sinfo_dest","H5FS__sinfo_free_node_cb","H5FS__sinfo_free_sect_cb","H5FS__sinfo_lock","H5FS__sinfo_new","H5FS__sinfo_serialize_node_cb","H5FS__sinfo_serialize_sect_cb","H5FS__sinfo_unlock","H5FS__size_node_decr.isra.0","H5FS_alloc_hdr","H5FS_alloc_sect","H5FS_close","H5FS_create","H5FS_debug","H5FS_delete","H5FS_free","H5FS_get_sect_count","H5FS_open","H5FS_sect_add","H5FS_sect_change_class","H5FS_sect_debug","H5FS_sect_find","H5FS_sect_iterate","H5FS_sect_remove","H5FS_sect_stats","H5FS_sect_try_extend","H5FS_sect_try_merge","H5FS_sect_try_shrink_eoa","H5FS_sects_debug","H5FS_size","H5FS_stat_info","H5FS_vfd_alloc_hdr_and_section_info_if_needed","H5F_Kvalue","H5F__accum_adjust","H5F__accum_flush","H5F__accum_free","H5F__accum_read","H5F__accum_reset","H5F__accum_write","H5F__alloc","H5F__build_actual_name","H5F__build_name","H5F__cache_drvrinfo_deserialize","H5F__cache_drvrinfo_free_icr","H5F__cache_drvrinfo_get_final_load_size","H5F__cache_drvrinfo_get_initial_load_size","H5F__cache_drvrinfo_image_len","H5F__cache_drvrinfo_serialize","H5F__cache_superblock_deserialize","H5F__cache_superblock_free_icr","H5F__cache_superblock_get_final_load_size","H5F__cache_superblock_get_initial_load_size","H5F__cache_superblock_image_len","H5F__cache_superblock_serialize","H5F__cache_superblock_verify_chksum","H5F__check_cached_stab_test","H5F__close","H5F__close_cb","H5F__close_mounts","H5F__create_api_common","H5F__delete","H5F__dest","H5F__efc_create","H5F__efc_destroy","H5F__efc_max_nfiles","H5F__efc_open","H5F__efc_open_file","H5F__efc_release","H5F__efc_release_real","H5F__efc_try_close","H5F__efc_try_close_tag1.isra.0","H5F__efc_try_close_tag2.isra.0","H5F__evict_cache_entries","H5F__flush","H5F__flush_api_common","H5F__flush_mounts_recurse","H5F__flush_phase2","H5F__format_convert","H5F__free","H5F__get_all_count_cb","H5F__get_all_ids_cb","H5F__get_cont_info","H5F__get_file_image","H5F__get_info","H5F__get_max_eof_eoa","H5F__get_maxaddr_test","H5F__get_mpi_atomicity","H5F__get_objects_cb","H5F__get_sbe_addr_test","H5F__get_sohm_mesg_count_test","H5F__is_hdf5","H5F__mount_count_ids","H5F__mount_count_ids_recurse","H5F__new","H5F__open_api_common","H5F__parse_file_lock_env_var","H5F__post_open","H5F__post_open_api_common","H5F__reopen","H5F__reopen_api_common","H5F__reparse_file_lock_variable_test","H5F__same_file_test","H5F__set_base_addr","H5F__set_eoa","H5F__set_libver_bounds","H5F__set_mpi_atomicity","H5F__set_paged_aggr","H5F__sfile_add","H5F__sfile_remove","H5F__sfile_search","H5F__start_swmr_write","H5F__super_ext_close","H5F__super_ext_create","H5F__super_ext_open","H5F__super_ext_remove_msg","H5F__super_ext_write_msg","H5F__super_free","H5F__super_init","H5F__super_read","H5F__super_size","H5F__superblock_prefix_decode","H5F__try_extend","H5F__update_super_ext_driver_msg","H5F_addr_decode","H5F_addr_decode_len","H5F_addr_encode","H5F_addr_encode_len","H5F_block_read","H5F_block_write","H5F_coll_md_read","H5F_cwfs_add","H5F_cwfs_advance_heap","H5F_cwfs_find_free_heap","H5F_cwfs_remove_heap","H5F_debug","H5F_decr_nopen_objs","H5F_efc_close","H5F_eoa_dirty","H5F_fake_alloc","H5F_fake_free","H5F_file_id_exists","H5F_flush_mounts","H5F_flush_tagged_metadata","H5F_gc_ref","H5F_get_access_plist","H5F_get_actual_name","H5F_get_alignment","H5F_get_base_addr","H5F_get_checksums","H5F_get_coll_metadata_reads","H5F_get_driver_id","H5F_get_eoa","H5F_get_evict_on_close","H5F_get_extpath","H5F_get_fc_degree","H5F_get_fcpl","H5F_get_file_id","H5F_get_fileno","H5F_get_high_bound","H5F_get_id","H5F_get_intent","H5F_get_low_bound","H5F_get_metadata_read_retry_info","H5F_get_min_dset_ohdr","H5F_get_nmounts","H5F_get_nopen_objs","H5F_get_nrefs","H5F_get_null_fsm_addr","H5F_get_obj_count","H5F_get_obj_ids","H5F_get_open_name","H5F_get_parent","H5F_get_pgend_meta_thres","H5F_get_point_of_no_return","H5F_get_read_attempts","H5F_get_rfic_flags","H5F_get_shared","H5F_get_sohm_addr","H5F_get_sohm_nindexes","H5F_get_sohm_vers","H5F_get_threshold","H5F_get_use_file_locking","H5F_get_vfd_handle","H5F_get_vol_cls","H5F_get_vol_obj","H5F_grp_btree_shared","H5F_has_feature","H5F_has_vector_select_io","H5F_incr_nopen_objs","H5F_init","H5F_is_mount","H5F_is_tmp_addr","H5F_mdc_log_location","H5F_mount","H5F_mpi_get_comm","H5F_mpi_get_file_block_type","H5F_mpi_get_info","H5F_mpi_get_rank","H5F_mpi_get_size","H5F_mpi_retrieve_comm","H5F_object_flush_cb","H5F_open","H5F_prefix_open_file","H5F_rdcc_nbytes","H5F_rdcc_nslots","H5F_rdcc_w0","H5F_same_shared","H5F_set_coll_metadata_reads","H5F_set_grp_btree_shared","H5F_set_min_dset_ohdr","H5F_set_retries","H5F_set_sohm_addr","H5F_set_sohm_nindexes","H5F_set_sohm_vers","H5F_set_store_msg_crt_idx","H5F_sfile_assert_num","H5F_shared_block_read","H5F_shared_block_write","H5F_shared_coll_md_read","H5F_shared_get_coll_metadata_reads","H5F_shared_get_eoa","H5F_shared_get_file_driver","H5F_shared_get_intent","H5F_shared_get_mpi_file_sync_required","H5F_shared_has_feature","H5F_shared_mpi_get_size","H5F_shared_select_read","H5F_shared_select_write","H5F_shared_vector_read","H5F_shared_vector_write","H5F_sieve_buf_size","H5F_sizeof_addr","H5F_sizeof_size","H5F_start_mdc_log_on_access","H5F_store_msg_crt_idx","H5F_super_dirty","H5F_sym_leaf_k","H5F_term_package","H5F_track_metadata_read_retries","H5F_traverse_mount","H5F_try_close","H5F_try_close.localalias","H5F_unmount","H5F_use_mdc_logging","H5F_use_tmp_space","H5Fclear_elink_file_cache","H5Fclose","H5Fclose_async","H5Fcreate","H5Fcreate_async","H5Fdelete","H5Fflush","H5Fflush_async","H5Fformat_convert","H5Fget_access_plist","H5Fget_create_plist","H5Fget_dset_no_attrs_hint","H5Fget_eoa","H5Fget_file_image","H5Fget_fileno","H5Fget_filesize","H5Fget_free_sections","H5Fget_freespace","H5Fget_info1","H5Fget_info2","H5Fget_intent","H5Fget_mdc_config","H5Fget_mdc_hit_rate","H5Fget_mdc_image_info","H5Fget_mdc_logging_status","H5Fget_mdc_size","H5Fget_metadata_read_retry_info","H5Fget_mpi_atomicity","H5Fget_name","H5Fget_obj_count","H5Fget_obj_ids","H5Fget_page_buffering_stats","H5Fget_vfd_handle","H5Fincrement_filesize","H5Fis_accessible","H5Fis_hdf5","H5Fmount","H5Fopen","H5Fopen_async","H5Freopen","H5Freopen_async","H5Freset_mdc_hit_rate_stats","H5Freset_page_buffering_stats","H5Fset_dset_no_attrs_hint","H5Fset_latest_format","H5Fset_libver_bounds","H5Fset_mdc_config","H5Fset_mpi_atomicity","H5Fstart_mdc_logging","H5Fstart_swmr_write","H5Fstop_mdc_logging","H5Funmount","H5G__cache_node_deserialize","H5G__cache_node_free_icr","H5G__cache_node_get_initial_load_size","H5G__cache_node_image_len","H5G__cache_node_serialize","H5G__close_cb","H5G__common_path","H5G__compact_build_table_cb","H5G__compact_get_name_by_idx","H5G__compact_insert","H5G__compact_iterate","H5G__compact_lookup","H5G__compact_lookup_by_idx","H5G__compact_lookup_cb","H5G__compact_remove","H5G__compact_remove_by_idx","H5G__compact_remove_common_cb","H5G__component","H5G__create","H5G__create_named","H5G__dense_btree2_corder_compare","H5G__dense_btree2_corder_debug","H5G__dense_btree2_corder_decode","H5G__dense_btree2_corder_encode","H5G__dense_btree2_corder_store","H5G__dense_btree2_name_compare","H5G__dense_btree2_name_debug","H5G__dense_btree2_name_decode","H5G__dense_btree2_name_encode","H5G__dense_btree2_name_store","H5G__dense_build_table","H5G__dense_build_table_cb","H5G__dense_create","H5G__dense_delete","H5G__dense_fh_name_cmp","H5G__dense_get_name_by_idx","H5G__dense_get_name_by_idx_bt2_cb","H5G__dense_get_name_by_idx_fh_cb","H5G__dense_insert","H5G__dense_iterate","H5G__dense_iterate_bt2_cb","H5G__dense_iterate_fh_cb","H5G__dense_lookup","H5G__dense_lookup_by_idx","H5G__dense_lookup_by_idx_bt2_cb","H5G__dense_lookup_by_idx_fh_cb","H5G__dense_lookup_cb","H5G__dense_remove","H5G__dense_remove_bt2_cb","H5G__dense_remove_by_idx","H5G__dense_remove_by_idx_bt2_cb","H5G__dense_remove_by_idx_fh_cb","H5G__dense_remove_fh_cb","H5G__ent_copy","H5G__ent_debug","H5G__ent_decode_vec","H5G__ent_encode_vec","H5G__ent_reset","H5G__ent_to_link","H5G__free_visit_visited","H5G__get_info_by_idx","H5G__get_info_by_name","H5G__get_name_by_addr_cb","H5G__get_objinfo","H5G__get_objinfo_cb","H5G__has_links_test","H5G__has_stab_test","H5G__is_empty_test","H5G__is_new_dense_test","H5G__iterate_cb","H5G__lheap_size_test","H5G__link_cmp_corder_dec","H5G__link_cmp_corder_inc","H5G__link_cmp_name_dec","H5G__link_cmp_name_inc","H5G__link_iterate_table","H5G__link_name_replace","H5G__link_release_table","H5G__link_sort_table","H5G__link_to_ent","H5G__link_to_loc","H5G__loc_addr","H5G__loc_addr_cb","H5G__loc_exists_cb","H5G__loc_find_by_idx_cb","H5G__loc_find_cb","H5G__loc_get_comment_cb","H5G__loc_info_cb","H5G__loc_insert","H5G__loc_native_info_cb","H5G__loc_set_comment_cb","H5G__name_init","H5G__name_replace_cb","H5G__new_dense_info_test","H5G__node_build_table","H5G__node_by_idx","H5G__node_cmp2","H5G__node_cmp3","H5G__node_copy","H5G__node_create","H5G__node_debug_key","H5G__node_decode_key","H5G__node_encode_key","H5G__node_found","H5G__node_free","H5G__node_get_shared","H5G__node_init","H5G__node_insert","H5G__node_iterate","H5G__node_iterate_size","H5G__node_remove","H5G__node_sumup","H5G__obj_compact_to_dense_cb","H5G__obj_create","H5G__obj_create_real","H5G__obj_get_linfo","H5G__obj_info","H5G__obj_iterate","H5G__obj_lookup","H5G__obj_remove_update_linfo","H5G__obj_stab_to_new_cb","H5G__open_name","H5G__stab_bh_size","H5G__stab_count","H5G__stab_create","H5G__stab_create_components","H5G__stab_delete","H5G__stab_get_name_by_idx","H5G__stab_get_name_by_idx_cb","H5G__stab_insert","H5G__stab_insert_real","H5G__stab_iterate","H5G__stab_lookup","H5G__stab_lookup_by_idx","H5G__stab_lookup_by_idx_cb","H5G__stab_lookup_cb","H5G__stab_remove","H5G__stab_remove_by_idx","H5G__stab_valid","H5G__traverse_real","H5G__traverse_slink_cb","H5G__traverse_special","H5G__user_path_test","H5G__verify_cached_stab_test","H5G__verify_cached_stabs_test","H5G__verify_cached_stabs_test_cb","H5G__visit_cb","H5G_build_fullpath_refstr_str","H5G_close","H5G_ent_decode","H5G_ent_encode","H5G_fileof","H5G_get_create_plist","H5G_get_gcpl_id","H5G_get_name","H5G_get_name_by_addr","H5G_get_shared_count","H5G_init","H5G_iterate","H5G_link_to_info","H5G_loc","H5G_loc_copy","H5G_loc_exists","H5G_loc_find","H5G_loc_find_by_idx","H5G_loc_free","H5G_loc_get_comment","H5G_loc_info","H5G_loc_native_info","H5G_loc_real","H5G_loc_reset","H5G_loc_set_comment","H5G_map_obj_type","H5G_mkroot","H5G_mount","H5G_mounted","H5G_name_copy","H5G_name_free","H5G_name_replace","H5G_name_reset","H5G_name_set","H5G_nameof","H5G_node_close","H5G_node_debug","H5G_normalize","H5G_obj_get_name_by_idx","H5G_obj_insert","H5G_obj_insert.localalias","H5G_obj_lookup_by_idx","H5G_obj_remove","H5G_obj_remove_by_idx","H5G_oloc","H5G_open","H5G_root_free","H5G_root_loc","H5G_rootof","H5G_term_package","H5G_top_term_package","H5G_traverse","H5G_unmount","H5G_visit","H5Gclose","H5Gclose_async","H5Gcreate1","H5Gcreate2","H5Gcreate_anon","H5Gcreate_async","H5Gflush","H5Gget_comment","H5Gget_create_plist","H5Gget_info","H5Gget_info_async","H5Gget_info_by_idx","H5Gget_info_by_idx_async","H5Gget_info_by_name","H5Gget_info_by_name_async","H5Gget_linkval","H5Gget_num_objs","H5Gget_objinfo","H5Gget_objname_by_idx","H5Gget_objtype_by_idx","H5Giterate","H5Glink","H5Glink2","H5Gmove","H5Gmove2","H5Gopen1","H5Gopen2","H5Gopen_async","H5Grefresh","H5Gset_comment","H5Gunlink","H5HF__cache_dblock_deserialize","H5HF__cache_dblock_free_icr","H5HF__cache_dblock_fsf_size","H5HF__cache_dblock_get_initial_load_size","H5HF__cache_dblock_image_len","H5HF__cache_dblock_notify","H5HF__cache_dblock_pre_serialize","H5HF__cache_dblock_serialize","H5HF__cache_dblock_verify_chksum","H5HF__cache_hdr_deserialize","H5HF__cache_hdr_free_icr","H5HF__cache_hdr_get_final_load_size","H5HF__cache_hdr_get_initial_load_size","H5HF__cache_hdr_image_len","H5HF__cache_hdr_pre_serialize","H5HF__cache_hdr_serialize","H5HF__cache_hdr_verify_chksum","H5HF__cache_iblock_deserialize","H5HF__cache_iblock_free_icr","H5HF__cache_iblock_get_initial_load_size","H5HF__cache_iblock_image_len","H5HF__cache_iblock_notify","H5HF__cache_iblock_pre_serialize","H5HF__cache_iblock_serialize","H5HF__cache_iblock_verify_chksum","H5HF__dtable_dest","H5HF__dtable_init","H5HF__dtable_lookup","H5HF__dtable_size_to_row","H5HF__dtable_size_to_rows","H5HF__dtable_span_size","H5HF__hdr_adj_free","H5HF__hdr_adjust_heap","H5HF__hdr_alloc","H5HF__hdr_create","H5HF__hdr_decr","H5HF__hdr_delete","H5HF__hdr_dirty","H5HF__hdr_empty","H5HF__hdr_finish_init","H5HF__hdr_finish_init_phase1","H5HF__hdr_finish_init_phase2","H5HF__hdr_free","H5HF__hdr_fuse_decr","H5HF__hdr_fuse_incr","H5HF__hdr_inc_alloc","H5HF__hdr_inc_iter","H5HF__hdr_incr","H5HF__hdr_protect","H5HF__hdr_reset_iter","H5HF__hdr_reverse_iter","H5HF__hdr_skip_blocks","H5HF__hdr_start_iter","H5HF__hdr_update_iter","H5HF__huge_bt2_crt_context","H5HF__huge_bt2_dir_compare","H5HF__huge_bt2_dir_debug","H5HF__huge_bt2_dir_decode","H5HF__huge_bt2_dir_encode","H5HF__huge_bt2_dir_remove","H5HF__huge_bt2_dir_store","H5HF__huge_bt2_dst_context","H5HF__huge_bt2_filt_dir_compare","H5HF__huge_bt2_filt_dir_debug","H5HF__huge_bt2_filt_dir_decode","H5HF__huge_bt2_filt_dir_encode","H5HF__huge_bt2_filt_dir_found","H5HF__huge_bt2_filt_dir_remove","H5HF__huge_bt2_filt_dir_store","H5HF__huge_bt2_filt_indir_compare","H5HF__huge_bt2_filt_indir_debug","H5HF__huge_bt2_filt_indir_decode","H5HF__huge_bt2_filt_indir_encode","H5HF__huge_bt2_filt_indir_found","H5HF__huge_bt2_filt_indir_remove","H5HF__huge_bt2_filt_indir_store","H5HF__huge_bt2_indir_compare","H5HF__huge_bt2_indir_debug","H5HF__huge_bt2_indir_decode","H5HF__huge_bt2_indir_encode","H5HF__huge_bt2_indir_found","H5HF__huge_bt2_indir_remove","H5HF__huge_bt2_indir_store","H5HF__huge_delete","H5HF__huge_get_obj_len","H5HF__huge_get_obj_off","H5HF__huge_init","H5HF__huge_insert","H5HF__huge_op","H5HF__huge_op_real","H5HF__huge_read","H5HF__huge_remove","H5HF__huge_term","H5HF__huge_write","H5HF__iblock_decr","H5HF__iblock_dirty","H5HF__iblock_incr","H5HF__man_dblock_create","H5HF__man_dblock_delete","H5HF__man_dblock_dest","H5HF__man_dblock_destroy","H5HF__man_dblock_locate","H5HF__man_dblock_new","H5HF__man_dblock_protect","H5HF__man_get_obj_len","H5HF__man_get_obj_off","H5HF__man_iblock_alloc_row","H5HF__man_iblock_attach","H5HF__man_iblock_create","H5HF__man_iblock_delete","H5HF__man_iblock_delete.localalias","H5HF__man_iblock_dest","H5HF__man_iblock_detach","H5HF__man_iblock_detach.localalias","H5HF__man_iblock_entry_addr","H5HF__man_iblock_parent_info","H5HF__man_iblock_protect","H5HF__man_iblock_root_create","H5HF__man_iblock_root_double","H5HF__man_iblock_size","H5HF__man_iblock_size.localalias","H5HF__man_iblock_unprotect","H5HF__man_insert","H5HF__man_iter_curr","H5HF__man_iter_down","H5HF__man_iter_init","H5HF__man_iter_next","H5HF__man_iter_ready","H5HF__man_iter_reset","H5HF__man_iter_set_entry","H5HF__man_iter_start_entry","H5HF__man_iter_start_offset","H5HF__man_iter_up","H5HF__man_op","H5HF__man_op_real","H5HF__man_read","H5HF__man_remove","H5HF__man_write","H5HF__op_read","H5HF__op_write","H5HF__sect_indirect_add","H5HF__sect_indirect_decr","H5HF__sect_indirect_first","H5HF__sect_indirect_free","H5HF__sect_indirect_init_cls","H5HF__sect_indirect_init_rows","H5HF__sect_indirect_new","H5HF__sect_indirect_reduce","H5HF__sect_indirect_revive","H5HF__sect_indirect_serialize","H5HF__sect_indirect_shrink","H5HF__sect_indirect_term_cls","H5HF__sect_indirect_valid.isra.0","H5HF__sect_row_can_merge","H5HF__sect_row_can_shrink","H5HF__sect_row_debug","H5HF__sect_row_deserialize","H5HF__sect_row_first.part.0","H5HF__sect_row_free","H5HF__sect_row_get_iblock","H5HF__sect_row_init_cls","H5HF__sect_row_merge","H5HF__sect_row_reduce","H5HF__sect_row_revive","H5HF__sect_row_serialize","H5HF__sect_row_shrink","H5HF__sect_row_term_cls","H5HF__sect_row_valid","H5HF__sect_single_add","H5HF__sect_single_can_merge","H5HF__sect_single_can_shrink","H5HF__sect_single_dblock_info","H5HF__sect_single_deserialize","H5HF__sect_single_free","H5HF__sect_single_full_dblock","H5HF__sect_single_merge","H5HF__sect_single_new","H5HF__sect_single_reduce","H5HF__sect_single_revive","H5HF__sect_single_shrink","H5HF__sect_single_valid","H5HF__space_add","H5HF__space_close","H5HF__space_create_root","H5HF__space_create_root_cb","H5HF__space_delete","H5HF__space_find","H5HF__space_remove","H5HF__space_revert_root","H5HF__space_revert_root_cb","H5HF__space_sect_change_class","H5HF__space_size","H5HF__space_start","H5HF__tiny_get_obj_len","H5HF__tiny_init","H5HF__tiny_insert","H5HF__tiny_op","H5HF__tiny_read","H5HF__tiny_remove","H5HF_close","H5HF_cmp_cparam_test","H5HF_create","H5HF_dblock_debug","H5HF_dblock_debug_cb","H5HF_delete","H5HF_get_cparam_test","H5HF_get_dblock_free_test","H5HF_get_dblock_size_test","H5HF_get_dtable_max_drows_test","H5HF_get_dtable_width_test","H5HF_get_heap_addr","H5HF_get_huge_info_test","H5HF_get_iblock_max_drows_test","H5HF_get_id_len","H5HF_get_id_off_test","H5HF_get_id_type_test","H5HF_get_max_root_rows","H5HF_get_obj_len","H5HF_get_obj_off","H5HF_get_tiny_info_test","H5HF_hdr_debug","H5HF_hdr_print","H5HF_iblock_debug","H5HF_iblock_print","H5HF_iblock_print.localalias","H5HF_id_print","H5HF_insert","H5HF_op","H5HF_open","H5HF_read","H5HF_remove","H5HF_sects_debug","H5HF_sects_debug_cb","H5HF_size","H5HF_stat_info","H5HF_write","H5HG__cache_heap_deserialize","H5HG__cache_heap_free_icr","H5HG__cache_heap_get_final_load_size","H5HG__cache_heap_get_initial_load_size","H5HG__cache_heap_image_len","H5HG__cache_heap_serialize","H5HG__free","H5HG__protect","H5HG_debug","H5HG_extend","H5HG_get_addr","H5HG_get_free_size","H5HG_get_obj_size","H5HG_get_size","H5HG_insert","H5HG_link","H5HG_read","H5HG_remove","H5HL__cache_datablock_deserialize","H5HL__cache_datablock_free_icr","H5HL__cache_datablock_get_initial_load_size","H5HL__cache_datablock_image_len","H5HL__cache_datablock_notify","H5HL__cache_datablock_serialize","H5HL__cache_prefix_deserialize","H5HL__cache_prefix_free_icr","H5HL__cache_prefix_get_final_load_size","H5HL__cache_prefix_get_initial_load_size","H5HL__cache_prefix_image_len","H5HL__cache_prefix_serialize","H5HL__dblk_dest","H5HL__dblk_new","H5HL__dblk_realloc","H5HL__dec_rc","H5HL__dest","H5HL__fl_deserialize","H5HL__fl_serialize","H5HL__hdr_deserialize","H5HL__inc_rc","H5HL__minimize_heap_space","H5HL__new","H5HL__prfx_dest","H5HL__prfx_new","H5HL_create","H5HL_debug","H5HL_delete","H5HL_get_size","H5HL_heap_get_size","H5HL_heapsize","H5HL_insert","H5HL_offset_into","H5HL_protect","H5HL_remove","H5HL_unprotect","H5I__destroy_type","H5I__find_id","H5I__get_name_test","H5I__get_type_ref","H5I__inc_type_ref","H5I__iterate_pub_cb","H5I__register","H5I__remove_common","H5I__remove_verify","H5I__search_cb","H5I_clear_type","H5I_dec_app_ref","H5I_dec_app_ref_always_close","H5I_dec_app_ref_always_close_async","H5I_dec_app_ref_async","H5I_dec_ref","H5I_dec_type_ref","H5I_dump_ids_for_type","H5I_find_id","H5I_get_ref","H5I_get_type","H5I_inc_ref","H5I_is_file_object","H5I_iterate","H5I_nmembers","H5I_object","H5I_object_verify","H5I_register","H5I_register_type","H5I_register_using_existing_id","H5I_remove","H5I_subst","H5I_term_package","H5Iclear_type","H5Idec_ref","H5Idec_type_ref","H5Idestroy_type","H5Iget_file_id","H5Iget_name","H5Iget_ref","H5Iget_type","H5Iget_type_ref","H5Iinc_ref","H5Iinc_type_ref","H5Iis_valid","H5Iiterate","H5Inmembers","H5Iobject_verify","H5Iregister","H5Iregister_future","H5Iregister_type","H5Iremove_verify","H5Isearch","H5Itype_exists","H5L__create_hard","H5L__create_hard_api_common","H5L__create_real","H5L__create_soft","H5L__create_soft_api_common","H5L__create_ud","H5L__delete","H5L__delete_by_idx","H5L__delete_by_idx_cb","H5L__delete_cb","H5L__exists","H5L__exists_final_cb","H5L__exists_inter_cb","H5L__extern_query","H5L__extern_traverse","H5L__get_info_by_idx","H5L__get_info_by_idx_cb","H5L__get_info_cb","H5L__get_name_by_idx","H5L__get_name_by_idx_cb","H5L__get_val","H5L__get_val_by_idx","H5L__get_val_by_idx_cb","H5L__get_val_cb","H5L__iterate2_shim","H5L__link_cb","H5L__link_copy_file","H5L__move","H5L__move_cb","H5L__move_dest_cb","H5L_exists_tolerant","H5L_find_class","H5L_get_info","H5L_get_ocrt_info","H5L_init","H5L_is_registered","H5L_iterate","H5L_link","H5L_link_object","H5L_register","H5L_register_external","H5L_term_package","H5L_unregister","H5Lcopy","H5Lcreate_external","H5Lcreate_hard","H5Lcreate_hard_async","H5Lcreate_soft","H5Lcreate_soft_async","H5Lcreate_ud","H5Ldelete","H5Ldelete_async","H5Ldelete_by_idx","H5Ldelete_by_idx_async","H5Lexists","H5Lexists_async","H5Lget_info1","H5Lget_info2","H5Lget_info_by_idx1","H5Lget_info_by_idx2","H5Lget_name_by_idx","H5Lget_val","H5Lget_val_by_idx","H5Lis_registered","H5Literate1","H5Literate2","H5Literate_async","H5Literate_by_name1","H5Literate_by_name2","H5Lmove","H5Lregister","H5Lunpack_elink_val","H5Lunregister","H5Lvisit1","H5Lvisit2","H5Lvisit_by_name1","H5Lvisit_by_name2","H5MF__add_sect","H5MF__aggr_absorb","H5MF__aggr_alloc","H5MF__aggr_can_absorb","H5MF__aggr_query","H5MF__aggr_try_extend","H5MF__aggrs_try_shrink_eoa","H5MF__alloc_to_fs_type","H5MF__close_delete_fstype","H5MF__close_shrink_eoa","H5MF__find_sect","H5MF__fsm_is_self_referential","H5MF__fsm_type_is_self_referential","H5MF__open_fstype","H5MF__sect_deserialize","H5MF__sect_free","H5MF__sect_large_can_merge","H5MF__sect_large_can_shrink","H5MF__sect_large_merge","H5MF__sect_large_shrink","H5MF__sect_new","H5MF__sect_simple_can_merge","H5MF__sect_simple_can_shrink","H5MF__sect_simple_merge","H5MF__sect_simple_shrink","H5MF__sect_small_add","H5MF__sect_small_can_merge","H5MF__sect_small_merge","H5MF__sect_split","H5MF__sect_valid","H5MF__sects_cb","H5MF__sects_debug_cb","H5MF__start_fstype","H5MF_aggr_vfd_alloc","H5MF_alloc","H5MF_alloc_tmp","H5MF_close","H5MF_free_aggrs","H5MF_get_free_sections","H5MF_get_freespace","H5MF_init_merge_flags","H5MF_sects_debug","H5MF_settle_meta_data_fsm","H5MF_settle_raw_data_fsm","H5MF_try_close","H5MF_try_extend","H5MF_try_shrink","H5MF_xfree","H5MM_realloc","H5MM_strdup","H5MM_strndup","H5MM_xfree","H5MM_xfree_const","H5MM_xstrdup","H5M__close_cb","H5M_init","H5M_term_package","H5M_top_term_package","H5O__add_gap.constprop.0","H5O__ainfo_copy","H5O__ainfo_copy_file","H5O__ainfo_debug","H5O__ainfo_decode","H5O__ainfo_delete","H5O__ainfo_encode","H5O__ainfo_free","H5O__ainfo_post_copy_file","H5O__ainfo_pre_copy_file","H5O__ainfo_size","H5O__alloc","H5O__alloc_chunk","H5O__alloc_find_best_null","H5O__alloc_msgs","H5O__alloc_null","H5O__are_mdc_flushes_disabled","H5O__attr_bh_info","H5O__attr_copy","H5O__attr_count_real","H5O__attr_create","H5O__attr_delete","H5O__attr_dense_info_test","H5O__attr_exists","H5O__attr_exists_cb","H5O__attr_find_opened_attr","H5O__attr_free","H5O__attr_get_crt_index","H5O__attr_iterate","H5O__attr_link","H5O__attr_open_by_idx","H5O__attr_open_by_idx_cb","H5O__attr_open_by_name","H5O__attr_open_cb","H5O__attr_pre_copy_file","H5O__attr_remove","H5O__attr_remove_by_idx","H5O__attr_remove_cb","H5O__attr_remove_update","H5O__attr_rename","H5O__attr_rename_chk_cb","H5O__attr_rename_mod_cb","H5O__attr_reset","H5O__attr_set_crt_index","H5O__attr_shared_copy_file","H5O__attr_shared_debug","H5O__attr_shared_decode","H5O__attr_shared_delete","H5O__attr_shared_encode","H5O__attr_shared_link","H5O__attr_shared_post_copy_file","H5O__attr_shared_size","H5O__attr_to_dense_cb","H5O__attr_update_shared","H5O__attr_write","H5O__attr_write_cb","H5O__btreek_copy","H5O__btreek_debug","H5O__btreek_decode","H5O__btreek_encode","H5O__btreek_size","H5O__cache_chk_deserialize","H5O__cache_chk_free_icr","H5O__cache_chk_get_initial_load_size","H5O__cache_chk_image_len","H5O__cache_chk_notify","H5O__cache_chk_serialize","H5O__cache_chk_verify_chksum","H5O__cache_deserialize","H5O__cache_free_icr","H5O__cache_get_final_load_size","H5O__cache_get_initial_load_size","H5O__cache_image_len","H5O__cache_notify","H5O__cache_serialize","H5O__cache_verify_chksum","H5O__check_msg_marked_test","H5O__chunk_add","H5O__chunk_delete","H5O__chunk_deserialize","H5O__chunk_dest","H5O__chunk_protect","H5O__chunk_resize","H5O__chunk_serialize","H5O__chunk_unprotect","H5O__chunk_update_idx","H5O__condense_header","H5O__cont_debug","H5O__cont_decode","H5O__cont_delete","H5O__cont_encode","H5O__cont_free","H5O__cont_size","H5O__copy","H5O__copy_api_common","H5O__copy_comm_dt_cmp","H5O__copy_free_addrmap_cb","H5O__copy_free_comm_dt_cb","H5O__copy_header_real","H5O__copy_obj_by_ref","H5O__copy_search_comm_dt_attr_cb","H5O__copy_search_comm_dt_cb","H5O__copy_search_comm_dt_check","H5O__debug_real","H5O__dec_rc","H5O__delete_mesg","H5O__disable_mdc_flushes","H5O__drvinfo_copy","H5O__drvinfo_debug","H5O__drvinfo_decode","H5O__drvinfo_encode","H5O__drvinfo_reset","H5O__drvinfo_size","H5O__dset_bh_info","H5O__dset_create","H5O__dset_flush","H5O__dset_free_copy_file_udata","H5O__dset_get_copy_file_udata","H5O__dset_get_oloc","H5O__dset_isa","H5O__dset_open","H5O__dtype_can_share","H5O__dtype_copy","H5O__dtype_create","H5O__dtype_debug.isra.0","H5O__dtype_decode_helper","H5O__dtype_encode_helper","H5O__dtype_encode_helper.cold","H5O__dtype_free","H5O__dtype_get_oloc","H5O__dtype_isa","H5O__dtype_open","H5O__dtype_pre_copy_file","H5O__dtype_reset","H5O__dtype_set_share","H5O__dtype_shared_copy_file","H5O__dtype_shared_debug","H5O__dtype_shared_decode","H5O__dtype_shared_delete","H5O__dtype_shared_encode","H5O__dtype_shared_link","H5O__dtype_shared_post_copy_file","H5O__dtype_shared_size","H5O__dtype_size.isra.0","H5O__efl_copy","H5O__efl_copy_file","H5O__efl_debug","H5O__efl_decode","H5O__efl_encode","H5O__efl_reset","H5O__efl_size","H5O__eliminate_gap","H5O__enable_mdc_flushes","H5O__expunge_chunks_test","H5O__fill_copy","H5O__fill_debug.constprop.0","H5O__fill_free","H5O__fill_new_shared_copy_file","H5O__fill_new_shared_debug","H5O__fill_new_shared_decode","H5O__fill_new_shared_delete","H5O__fill_new_shared_encode","H5O__fill_new_shared_link","H5O__fill_new_shared_post_copy_file","H5O__fill_new_shared_size","H5O__fill_pre_copy_file","H5O__fill_reset","H5O__fill_shared_copy_file","H5O__fill_shared_debug","H5O__fill_shared_decode","H5O__fill_shared_delete","H5O__fill_shared_encode","H5O__fill_shared_link","H5O__fill_shared_post_copy_file","H5O__fill_shared_size","H5O__flush_msgs","H5O__free","H5O__free_visit_visited","H5O__fsinfo_copy","H5O__fsinfo_debug","H5O__fsinfo_decode","H5O__fsinfo_encode","H5O__fsinfo_free","H5O__fsinfo_size","H5O__get_hdr_info_real","H5O__get_info_old","H5O__get_rc_test","H5O__ginfo_copy","H5O__ginfo_debug","H5O__ginfo_decode","H5O__ginfo_encode","H5O__ginfo_free","H5O__ginfo_size","H5O__group_bh_info","H5O__group_create","H5O__group_free_copy_file_udata","H5O__group_get_copy_file_udata","H5O__group_get_oloc","H5O__group_isa","H5O__group_open","H5O__inc_rc","H5O__is_attr_dense_test","H5O__is_attr_empty_test","H5O__iterate1_adapter","H5O__layout_copy","H5O__layout_copy_file","H5O__layout_debug","H5O__layout_decode","H5O__layout_delete","H5O__layout_encode","H5O__layout_free","H5O__layout_pre_copy_file","H5O__layout_reset","H5O__layout_reset.part.0","H5O__layout_size","H5O__linfo_copy","H5O__linfo_copy.part.0","H5O__linfo_copy_file","H5O__linfo_debug","H5O__linfo_decode","H5O__linfo_delete","H5O__linfo_encode","H5O__linfo_free","H5O__linfo_post_copy_file","H5O__linfo_post_copy_file_cb","H5O__linfo_size","H5O__link_copy","H5O__link_copy_file","H5O__link_debug","H5O__link_decode","H5O__link_encode","H5O__link_free","H5O__link_oh","H5O__link_post_copy_file","H5O__link_pre_copy_file","H5O__link_reset","H5O__link_size","H5O__mdci_copy","H5O__mdci_debug","H5O__mdci_decode","H5O__mdci_delete","H5O__mdci_encode","H5O__mdci_free","H5O__mdci_size","H5O__msg_alloc","H5O__msg_append_real","H5O__msg_copy_file","H5O__msg_count_real","H5O__msg_free_mesg","H5O__msg_get_chunkno_test","H5O__msg_iterate_real","H5O__msg_move_to_new_chunk_test","H5O__msg_remove_cb","H5O__msg_remove_real","H5O__msg_write_real","H5O__mtime_copy","H5O__mtime_debug","H5O__mtime_decode","H5O__mtime_encode","H5O__mtime_free","H5O__mtime_new_decode","H5O__mtime_new_encode","H5O__mtime_new_size","H5O__mtime_size","H5O__name_copy","H5O__name_debug","H5O__name_decode","H5O__name_encode","H5O__name_reset","H5O__name_size","H5O__num_attrs_test","H5O__obj_class","H5O__obj_class_real","H5O__open_by_addr","H5O__open_by_idx","H5O__pline_copy","H5O__pline_free","H5O__pline_pre_copy_file","H5O__pline_reset","H5O__pline_shared_copy_file","H5O__pline_shared_debug","H5O__pline_shared_decode","H5O__pline_shared_delete","H5O__pline_shared_encode","H5O__pline_shared_link","H5O__pline_shared_post_copy_file","H5O__pline_shared_size","H5O__prefix_deserialize","H5O__refcount_copy","H5O__refcount_debug","H5O__refcount_decode","H5O__refcount_encode","H5O__refcount_free","H5O__refcount_pre_copy_file","H5O__refcount_size","H5O__release_mesg","H5O__remove_empty_chunks","H5O__sdspace_copy","H5O__sdspace_free","H5O__sdspace_pre_copy_file","H5O__sdspace_reset","H5O__sdspace_shared_copy_file","H5O__sdspace_shared_debug","H5O__sdspace_shared_decode","H5O__sdspace_shared_delete","H5O__sdspace_shared_encode","H5O__sdspace_shared_link","H5O__sdspace_shared_post_copy_file","H5O__sdspace_shared_size","H5O__shared_copy_file","H5O__shared_debug","H5O__shared_decode","H5O__shared_delete","H5O__shared_encode","H5O__shared_link","H5O__shared_post_copy_file","H5O__shared_size","H5O__shmesg_copy","H5O__shmesg_debug","H5O__shmesg_decode","H5O__shmesg_encode","H5O__shmesg_size","H5O__stab_copy","H5O__stab_copy_file","H5O__stab_debug","H5O__stab_decode","H5O__stab_delete","H5O__stab_encode","H5O__stab_free","H5O__stab_post_copy_file","H5O__stab_size","H5O__unknown_free","H5O__visit","H5O__visit_cb","H5O_apply_ohdr","H5O_attr_iterate_real","H5O_close","H5O_copy_expand_ref","H5O_copy_header_map","H5O_create","H5O_create_ohdr","H5O_debug","H5O_debug_id","H5O_dec_rc_by_loc","H5O_delete","H5O_efl_total_size","H5O_fill_convert","H5O_fill_reset_dyn","H5O_fill_set_version","H5O_flush","H5O_flush_common","H5O_fsinfo_check_version","H5O_fsinfo_set_version","H5O_get_create_plist","H5O_get_hdr_info","H5O_get_info","H5O_get_loc","H5O_get_native_info","H5O_get_nlinks","H5O_get_oh_addr","H5O_get_oh_flags","H5O_get_oh_mtime","H5O_get_oh_version","H5O_get_proxy","H5O_get_rc_and_type","H5O_has_chksum","H5O_init","H5O_link","H5O_link_delete","H5O_loc_copy","H5O_loc_copy_deep","H5O_loc_copy_shallow","H5O_loc_free","H5O_loc_hold_file","H5O_loc_reset","H5O_msg_append_oh","H5O_msg_can_share","H5O_msg_can_share_in_ohdr","H5O_msg_copy","H5O_msg_count","H5O_msg_create","H5O_msg_decode","H5O_msg_delete","H5O_msg_encode","H5O_msg_exists","H5O_msg_exists_oh","H5O_msg_flush","H5O_msg_free","H5O_msg_free_real","H5O_msg_get_crt_index","H5O_msg_get_flags","H5O_msg_is_shared","H5O_msg_iterate","H5O_msg_raw_size","H5O_msg_read","H5O_msg_read_oh","H5O_msg_remove","H5O_msg_remove_op","H5O_msg_reset","H5O_msg_reset_share","H5O_msg_set_share","H5O_msg_size_f","H5O_msg_size_oh","H5O_msg_write","H5O_msg_write_oh","H5O_obj_create","H5O_obj_type","H5O_open","H5O_open_by_loc","H5O_open_name","H5O_pin","H5O_pline_set_version","H5O_protect","H5O_refresh_metadata","H5O_refresh_metadata_reopen","H5O_set_shared","H5O_touch","H5O_touch_oh","H5O_unpin","H5O_unprotect","H5Oare_mdc_flushes_disabled","H5Oclose","H5Oclose_async","H5Ocopy","H5Ocopy_async","H5Odecr_refcount","H5Odisable_mdc_flushes","H5Oenable_mdc_flushes","H5Oexists_by_name","H5Oflush","H5Oflush_async","H5Oget_comment","H5Oget_comment_by_name","H5Oget_info1","H5Oget_info2","H5Oget_info3","H5Oget_info_by_idx1","H5Oget_info_by_idx2","H5Oget_info_by_idx3","H5Oget_info_by_name1","H5Oget_info_by_name2","H5Oget_info_by_name3","H5Oget_info_by_name_async","H5Oget_native_info","H5Oget_native_info_by_idx","H5Oget_native_info_by_name","H5Oincr_refcount","H5Olink","H5Oopen","H5Oopen_async","H5Oopen_by_addr","H5Oopen_by_idx","H5Oopen_by_idx_async","H5Oopen_by_token","H5Orefresh","H5Orefresh_async","H5Oset_comment","H5Oset_comment_by_name","H5Otoken_cmp","H5Otoken_from_str","H5Otoken_to_str","H5Ovisit1","H5Ovisit2","H5Ovisit3","H5Ovisit_by_name1","H5Ovisit_by_name2","H5Ovisit_by_name3","H5PB__dest_cb","H5PB__flush_cb","H5PB__make_space","H5PB_add_new_page","H5PB_create","H5PB_dest","H5PB_enabled","H5PB_flush","H5PB_get_stats","H5PB_print_stats","H5PB_read","H5PB_remove_entry","H5PB_reset_stats","H5PB_update_entry","H5PB_write","H5PL__add_plugin","H5PL__append_path","H5PL__close","H5PL__close_path_table","H5PL__close_plugin_cache","H5PL__create_path_table","H5PL__create_plugin_cache","H5PL__find_plugin_in_cache","H5PL__find_plugin_in_path_table","H5PL__get_num_paths","H5PL__get_path","H5PL__get_plugin_control_mask","H5PL__insert_at","H5PL__insert_path","H5PL__open","H5PL__path_table_iterate","H5PL__prepend_path","H5PL__remove_path","H5PL__replace_path","H5PL__set_plugin_control_mask","H5PL_init","H5PL_iterate","H5PL_load","H5PL_term_package","H5PLappend","H5PLget","H5PLget_loading_state","H5PLinsert","H5PLprepend","H5PLremove","H5PLreplace","H5PLset_loading_state","H5PLsize","H5P__access_class","H5P__access_class.localalias","H5P__add_prop","H5P__class_get","H5P__class_set","H5P__close_class","H5P__close_class_cb","H5P__close_list_cb","H5P__cmp_class","H5P__cmp_plist","H5P__cmp_plist_cb","H5P__cmp_prop.part.0","H5P__copy_merge_comm_dt_list","H5P__copy_pclass","H5P__copy_prop_pclass","H5P__copy_prop_plist","H5P__create_class","H5P__create_prop","H5P__dacc_reg_prop","H5P__dacc_vds_view_dec","H5P__dacc_vds_view_enc","H5P__dapl_efile_pref_close","H5P__dapl_efile_pref_cmp","H5P__dapl_efile_pref_copy","H5P__dapl_efile_pref_dec","H5P__dapl_efile_pref_del","H5P__dapl_efile_pref_enc","H5P__dapl_efile_pref_get","H5P__dapl_efile_pref_set","H5P__dapl_vds_file_pref_close","H5P__dapl_vds_file_pref_cmp","H5P__dapl_vds_file_pref_copy","H5P__dapl_vds_file_pref_dec","H5P__dapl_vds_file_pref_del","H5P__dapl_vds_file_pref_enc","H5P__dapl_vds_file_pref_get","H5P__dapl_vds_file_pref_set","H5P__dcrt_ext_file_list_close","H5P__dcrt_ext_file_list_cmp","H5P__dcrt_ext_file_list_copy","H5P__dcrt_ext_file_list_dec","H5P__dcrt_ext_file_list_del","H5P__dcrt_ext_file_list_enc","H5P__dcrt_ext_file_list_get","H5P__dcrt_ext_file_list_set","H5P__dcrt_fill_value_close","H5P__dcrt_fill_value_copy","H5P__dcrt_fill_value_dec","H5P__dcrt_fill_value_del","H5P__dcrt_fill_value_enc","H5P__dcrt_fill_value_get","H5P__dcrt_fill_value_set","H5P__dcrt_layout_close","H5P__dcrt_layout_cmp","H5P__dcrt_layout_copy","H5P__dcrt_layout_dec","H5P__dcrt_layout_del","H5P__dcrt_layout_enc","H5P__dcrt_layout_get","H5P__dcrt_layout_set","H5P__dcrt_reg_prop","H5P__decode","H5P__decode_bool","H5P__decode_chunk_cache_nbytes","H5P__decode_chunk_cache_nslots","H5P__decode_coll_md_read_flag_t","H5P__decode_double","H5P__decode_hsize_t","H5P__decode_size_t","H5P__decode_uint64_t","H5P__decode_uint8_t","H5P__decode_unsigned","H5P__do_prop_cb1","H5P__dup_prop","H5P__dxfr_bkgr_buf_type_dec","H5P__dxfr_bkgr_buf_type_enc","H5P__dxfr_btree_split_ratio_dec","H5P__dxfr_btree_split_ratio_enc","H5P__dxfr_dset_io_hyp_sel_close","H5P__dxfr_dset_io_hyp_sel_cmp","H5P__dxfr_dset_io_hyp_sel_copy","H5P__dxfr_edc_dec","H5P__dxfr_edc_enc","H5P__dxfr_io_xfer_mode_dec","H5P__dxfr_io_xfer_mode_enc","H5P__dxfr_modify_write_buf_dec","H5P__dxfr_modify_write_buf_enc","H5P__dxfr_mpio_chunk_opt_hard_dec","H5P__dxfr_mpio_chunk_opt_hard_enc","H5P__dxfr_mpio_collective_opt_dec","H5P__dxfr_mpio_collective_opt_enc","H5P__dxfr_reg_prop","H5P__dxfr_selection_io_mode_dec","H5P__dxfr_selection_io_mode_enc","H5P__dxfr_xform_close","H5P__dxfr_xform_cmp","H5P__dxfr_xform_copy","H5P__dxfr_xform_dec","H5P__dxfr_xform_del","H5P__dxfr_xform_enc","H5P__dxfr_xform_get","H5P__dxfr_xform_set","H5P__encode","H5P__encode_bool","H5P__encode_cb","H5P__encode_chunk_cache_nbytes","H5P__encode_chunk_cache_nslots","H5P__encode_coll_md_read_flag_t","H5P__encode_double","H5P__encode_hsize_t","H5P__encode_size_t","H5P__encode_uint64_t","H5P__encode_uint8_t","H5P__encode_unsigned","H5P__exist_pclass","H5P__facc_cache_config_cmp","H5P__facc_cache_config_dec","H5P__facc_cache_config_enc","H5P__facc_cache_image_config_cmp","H5P__facc_cache_image_config_dec","H5P__facc_cache_image_config_enc","H5P__facc_fclose_degree_dec","H5P__facc_fclose_degree_enc","H5P__facc_file_driver_close","H5P__facc_file_driver_cmp","H5P__facc_file_driver_copy","H5P__facc_file_driver_create","H5P__facc_file_driver_del","H5P__facc_file_driver_get","H5P__facc_file_driver_set","H5P__facc_file_image_info_close","H5P__facc_file_image_info_cmp","H5P__facc_file_image_info_copy","H5P__facc_file_image_info_del","H5P__facc_file_image_info_get","H5P__facc_file_image_info_set","H5P__facc_libver_type_dec","H5P__facc_libver_type_enc","H5P__facc_mdc_log_location_close","H5P__facc_mdc_log_location_cmp","H5P__facc_mdc_log_location_copy","H5P__facc_mdc_log_location_dec","H5P__facc_mdc_log_location_del","H5P__facc_mdc_log_location_enc","H5P__facc_mpi_comm_close","H5P__facc_mpi_comm_cmp","H5P__facc_mpi_comm_copy","H5P__facc_mpi_comm_del","H5P__facc_mpi_comm_get","H5P__facc_mpi_comm_set","H5P__facc_mpi_info_close","H5P__facc_mpi_info_cmp","H5P__facc_mpi_info_copy","H5P__facc_mpi_info_del","H5P__facc_mpi_info_get","H5P__facc_mpi_info_set","H5P__facc_multi_type_dec","H5P__facc_multi_type_enc","H5P__facc_reg_prop","H5P__facc_set_def_driver","H5P__facc_vol_close","H5P__facc_vol_cmp","H5P__facc_vol_copy","H5P__facc_vol_create","H5P__facc_vol_del","H5P__facc_vol_get","H5P__facc_vol_set","H5P__fcrt_btree_rank_dec","H5P__fcrt_btree_rank_enc","H5P__fcrt_fspace_strategy_dec","H5P__fcrt_fspace_strategy_enc","H5P__fcrt_reg_prop","H5P__fcrt_shmsg_index_minsize_dec","H5P__fcrt_shmsg_index_minsize_enc","H5P__fcrt_shmsg_index_types_dec","H5P__fcrt_shmsg_index_types_enc","H5P__find_prop_plist","H5P__fmnt_reg_prop","H5P__free_del_name_cb","H5P__free_prop_cb","H5P__gcrt_group_info_dec","H5P__gcrt_group_info_enc","H5P__gcrt_link_info_dec","H5P__gcrt_link_info_enc","H5P__gcrt_reg_prop","H5P__get_cb","H5P__get_class_parent","H5P__get_class_path","H5P__get_class_path.localalias","H5P__get_class_path_test","H5P__get_filter","H5P__get_nprops_plist","H5P__get_size_pclass","H5P__get_size_plist","H5P__iterate_cb","H5P__iterate_pclass","H5P__iterate_pclass_cb","H5P__iterate_plist","H5P__iterate_plist_cb","H5P__iterate_plist_pclass_cb","H5P__lacc_elink_fapl_close","H5P__lacc_elink_fapl_cmp","H5P__lacc_elink_fapl_copy","H5P__lacc_elink_fapl_dec","H5P__lacc_elink_fapl_del","H5P__lacc_elink_fapl_enc","H5P__lacc_elink_fapl_get","H5P__lacc_elink_fapl_set","H5P__lacc_elink_pref_close","H5P__lacc_elink_pref_cmp","H5P__lacc_elink_pref_copy","H5P__lacc_elink_pref_dec","H5P__lacc_elink_pref_del","H5P__lacc_elink_pref_enc","H5P__lacc_elink_pref_get","H5P__lacc_elink_pref_set","H5P__lacc_reg_prop","H5P__lcrt_reg_prop","H5P__macc_reg_prop","H5P__mcrt_reg_prop","H5P__new_plist_of_type","H5P__ocpy_merge_comm_dt_list_close","H5P__ocpy_merge_comm_dt_list_cmp","H5P__ocpy_merge_comm_dt_list_copy","H5P__ocpy_merge_comm_dt_list_dec","H5P__ocpy_merge_comm_dt_list_del","H5P__ocpy_merge_comm_dt_list_enc","H5P__ocpy_merge_comm_dt_list_enc.cold","H5P__ocpy_merge_comm_dt_list_get","H5P__ocpy_merge_comm_dt_list_set","H5P__ocpy_reg_prop","H5P__ocrt_pipeline_close","H5P__ocrt_pipeline_cmp","H5P__ocrt_pipeline_copy","H5P__ocrt_pipeline_dec","H5P__ocrt_pipeline_del","H5P__ocrt_pipeline_enc","H5P__ocrt_pipeline_get","H5P__ocrt_pipeline_set","H5P__ocrt_reg_prop","H5P__open_class_path","H5P__open_class_path_cb","H5P__open_class_path_test","H5P__register","H5P__register_real","H5P__set_layout","H5P__strcrt_char_encoding_dec","H5P__strcrt_char_encoding_enc","H5P__strcrt_reg_prop","H5P__unregister","H5P_class_isa","H5P_close","H5P_copy_plist","H5P_create_id","H5P_exist_plist","H5P_fill_value_cmp","H5P_fill_value_defined","H5P_filter_in_pline","H5P_get","H5P_get_class","H5P_get_class_name","H5P_get_fill_value","H5P_get_filter_by_id","H5P_get_nprops_pclass","H5P_get_plist_id","H5P_ignore_cmp","H5P_init_phase1","H5P_init_phase2","H5P_insert","H5P_is_fill_value_defined","H5P_isa_class","H5P_modify_filter","H5P_object_verify","H5P_peek","H5P_peek_driver","H5P_peek_driver_config_str","H5P_peek_driver_info","H5P_poke","H5P_remove","H5P_reset_vol_class","H5P_set","H5P_set_driver","H5P_set_driver_by_name","H5P_set_driver_by_value","H5P_set_vlen_mem_manager","H5P_set_vol","H5P_term_package","H5Padd_merge_committed_dtype_path","H5Pall_filters_avail","H5Pclose","H5Pclose_class","H5Pcopy","H5Pcopy_prop","H5Pcreate","H5Pcreate_class","H5Pdecode","H5Pencode1","H5Pencode2","H5Pequal","H5Pexist","H5Pfill_value_defined","H5Pfree_merge_committed_dtype_paths","H5Pget","H5Pget_actual_selection_io_mode","H5Pget_alignment","H5Pget_all_coll_metadata_ops","H5Pget_alloc_time","H5Pget_append_flush","H5Pget_attr_creation_order","H5Pget_attr_phase_change","H5Pget_btree_ratios","H5Pget_buffer","H5Pget_cache","H5Pget_char_encoding","H5Pget_chunk","H5Pget_chunk_cache","H5Pget_chunk_opts","H5Pget_class","H5Pget_class_name","H5Pget_class_parent","H5Pget_coll_metadata_write","H5Pget_copy_object","H5Pget_core_write_tracking","H5Pget_create_intermediate_group","H5Pget_data_transform","H5Pget_driver","H5Pget_driver_config_str","H5Pget_driver_info","H5Pget_dset_no_attrs_hint","H5Pget_dxpl_mpio","H5Pget_edc_check","H5Pget_efile_prefix","H5Pget_elink_acc_flags","H5Pget_elink_cb","H5Pget_elink_fapl","H5Pget_elink_file_cache_size","H5Pget_elink_prefix","H5Pget_est_link_info","H5Pget_evict_on_close","H5Pget_external","H5Pget_external_count","H5Pget_family_offset","H5Pget_fapl_core","H5Pget_fapl_family","H5Pget_fapl_mpio","H5Pget_fapl_multi","H5Pget_fapl_onion","H5Pget_fapl_splitter","H5Pget_fclose_degree","H5Pget_file_image","H5Pget_file_image_callbacks","H5Pget_file_locking","H5Pget_file_space","H5Pget_file_space_page_size","H5Pget_file_space_strategy","H5Pget_fill_time","H5Pget_fill_value","H5Pget_filter1","H5Pget_filter2","H5Pget_filter_by_id1","H5Pget_filter_by_id2","H5Pget_gc_references","H5Pget_hyper_vector_size","H5Pget_istore_k","H5Pget_layout","H5Pget_libver_bounds","H5Pget_link_creation_order","H5Pget_link_phase_change","H5Pget_local_heap_size_hint","H5Pget_mcdt_search_cb","H5Pget_mdc_config","H5Pget_mdc_image_config","H5Pget_mdc_log_options","H5Pget_meta_block_size","H5Pget_metadata_read_attempts","H5Pget_modify_write_buf","H5Pget_mpi_params","H5Pget_mpio_actual_chunk_opt_mode","H5Pget_mpio_actual_io_mode","H5Pget_mpio_no_collective_cause","H5Pget_multi_type","H5Pget_nfilters","H5Pget_nlinks","H5Pget_no_selection_io_cause","H5Pget_nprops","H5Pget_obj_track_times","H5Pget_object_flush_cb","H5Pget_page_buffer_size","H5Pget_preserve","H5Pget_relax_file_integrity_checks","H5Pget_selection_io","H5Pget_shared_mesg_index","H5Pget_shared_mesg_nindexes","H5Pget_shared_mesg_phase_change","H5Pget_sieve_buf_size","H5Pget_size","H5Pget_sizes","H5Pget_small_data_block_size","H5Pget_sym_k","H5Pget_type_conv_cb","H5Pget_userblock","H5Pget_version","H5Pget_virtual_count","H5Pget_virtual_dsetname","H5Pget_virtual_filename","H5Pget_virtual_prefix","H5Pget_virtual_printf_gap","H5Pget_virtual_srcspace","H5Pget_virtual_view","H5Pget_virtual_vspace","H5Pget_vlen_mem_manager","H5Pget_vol_cap_flags","H5Pget_vol_id","H5Pget_vol_info","H5Pinsert1","H5Pinsert2","H5Pisa_class","H5Piterate","H5Pmodify_filter","H5Pregister1","H5Pregister2","H5Premove","H5Premove_filter","H5Pset","H5Pset_alignment","H5Pset_all_coll_metadata_ops","H5Pset_alloc_time","H5Pset_append_flush","H5Pset_attr_creation_order","H5Pset_attr_phase_change","H5Pset_btree_ratios","H5Pset_buffer","H5Pset_cache","H5Pset_char_encoding","H5Pset_chunk","H5Pset_chunk_cache","H5Pset_chunk_opts","H5Pset_coll_metadata_write","H5Pset_copy_object","H5Pset_core_write_tracking","H5Pset_create_intermediate_group","H5Pset_data_transform","H5Pset_dataset_io_hyperslab_selection","H5Pset_deflate","H5Pset_driver","H5Pset_driver_by_name","H5Pset_driver_by_value","H5Pset_dset_no_attrs_hint","H5Pset_dxpl_mpio","H5Pset_dxpl_mpio_chunk_opt","H5Pset_dxpl_mpio_chunk_opt_num","H5Pset_dxpl_mpio_chunk_opt_ratio","H5Pset_dxpl_mpio_collective_opt","H5Pset_edc_check","H5Pset_efile_prefix","H5Pset_elink_acc_flags","H5Pset_elink_cb","H5Pset_elink_fapl","H5Pset_elink_file_cache_size","H5Pset_elink_prefix","H5Pset_est_link_info","H5Pset_evict_on_close","H5Pset_external","H5Pset_family_offset","H5Pset_fapl_core","H5Pset_fapl_family","H5Pset_fapl_log","H5Pset_fapl_mpio","H5Pset_fapl_multi","H5Pset_fapl_onion","H5Pset_fapl_sec2","H5Pset_fapl_split","H5Pset_fapl_splitter","H5Pset_fapl_stdio","H5Pset_fclose_degree","H5Pset_file_image","H5Pset_file_image_callbacks","H5Pset_file_locking","H5Pset_file_space","H5Pset_file_space_page_size","H5Pset_file_space_strategy","H5Pset_fill_time","H5Pset_fill_value","H5Pset_filter","H5Pset_filter_callback","H5Pset_fletcher32","H5Pset_gc_references","H5Pset_hyper_vector_size","H5Pset_istore_k","H5Pset_layout","H5Pset_libver_bounds","H5Pset_link_creation_order","H5Pset_link_phase_change","H5Pset_local_heap_size_hint","H5Pset_mcdt_search_cb","H5Pset_mdc_config","H5Pset_mdc_image_config","H5Pset_mdc_log_options","H5Pset_meta_block_size","H5Pset_metadata_read_attempts","H5Pset_modify_write_buf","H5Pset_mpi_params","H5Pset_multi_type","H5Pset_nbit","H5Pset_nlinks","H5Pset_obj_track_times","H5Pset_object_flush_cb","H5Pset_page_buffer_size","H5Pset_preserve","H5Pset_relax_file_integrity_checks","H5Pset_scaleoffset","H5Pset_selection_io","H5Pset_shared_mesg_index","H5Pset_shared_mesg_nindexes","H5Pset_shared_mesg_phase_change","H5Pset_shuffle","H5Pset_sieve_buf_size","H5Pset_sizes","H5Pset_small_data_block_size","H5Pset_sym_k","H5Pset_szip","H5Pset_type_conv_cb","H5Pset_userblock","H5Pset_virtual","H5Pset_virtual_prefix","H5Pset_virtual_printf_gap","H5Pset_virtual_view","H5Pset_vlen_mem_manager","H5Pset_vol","H5Punregister","H5RS__prepare_for_append","H5RS__resize_for_append.part.0","H5RS_acat","H5RS_ancat","H5RS_aputc","H5RS_asprintf_cat","H5RS_cmp","H5RS_create","H5RS_decr","H5RS_dup","H5RS_get_count","H5RS_get_str","H5RS_incr","H5RS_len","H5RS_wrap","H5R__copy","H5R__create_attr","H5R__create_object","H5R__create_region","H5R__decode","H5R__decode_heap","H5R__decode_string","H5R__decode_token_compat","H5R__decode_token_obj_compat","H5R__decode_token_region_compat","H5R__destroy","H5R__encode","H5R__encode_heap","H5R__encode_token_obj_compat","H5R__equal","H5R__get_attr_name","H5R__get_file_name","H5R__get_loc_id","H5R__get_obj_token","H5R__get_region","H5R__get_type","H5R__open_attr_api_common","H5R__open_object_api_common","H5R__open_region_api_common","H5R__reopen_file","H5R__set_loc_id","H5R__set_obj_token","H5R_init","H5Rcopy","H5Rcreate","H5Rcreate_attr","H5Rcreate_object","H5Rcreate_region","H5Rdereference1","H5Rdereference2","H5Rdestroy","H5Requal","H5Rget_attr_name","H5Rget_file_name","H5Rget_name","H5Rget_obj_name","H5Rget_obj_type1","H5Rget_obj_type2","H5Rget_obj_type3","H5Rget_region","H5Rget_type","H5Ropen_attr","H5Ropen_attr_async","H5Ropen_object","H5Ropen_object_async","H5Ropen_region","H5Ropen_region_async","H5SL__insert_common","H5SL__insert_common.cold","H5SL__release_common","H5SL_below","H5SL_close","H5SL_count","H5SL_create","H5SL_destroy","H5SL_find","H5SL_find.cold","H5SL_first","H5SL_free","H5SL_greater","H5SL_init","H5SL_insert","H5SL_item","H5SL_iterate","H5SL_last","H5SL_less","H5SL_next","H5SL_prev","H5SL_release","H5SL_remove","H5SL_remove.cold","H5SL_remove_first","H5SL_search","H5SL_search.cold","H5SL_term_package","H5SM__bt2_convert_to_list_op","H5SM__bt2_crt_context","H5SM__bt2_debug","H5SM__bt2_dst_context","H5SM__bt2_store","H5SM__cache_list_deserialize","H5SM__cache_list_free_icr","H5SM__cache_list_get_initial_load_size","H5SM__cache_list_image_len","H5SM__cache_list_serialize","H5SM__cache_list_verify_chksum","H5SM__cache_table_deserialize","H5SM__cache_table_free_icr","H5SM__cache_table_get_initial_load_size","H5SM__cache_table_image_len","H5SM__cache_table_serialize","H5SM__cache_table_verify_chksum","H5SM__compare_cb","H5SM__compare_iter_op","H5SM__create_list","H5SM__decr_ref","H5SM__delete_index","H5SM__get_index","H5SM__get_mesg_count_test","H5SM__get_refcount_bt2_cb","H5SM__incr_ref","H5SM__list_free","H5SM__message_compare","H5SM__message_decode","H5SM__message_encode","H5SM__read_iter_op","H5SM__read_mesg","H5SM__read_mesg_fh_cb","H5SM__table_free","H5SM_can_share","H5SM_delete","H5SM_get_fheap_addr","H5SM_get_info","H5SM_get_refcount","H5SM_ih_size","H5SM_init","H5SM_list_debug","H5SM_reconstitute","H5SM_table_debug","H5SM_try_share","H5SM_type_shared","H5S__all_adjust_s","H5S__all_adjust_u","H5S__all_bounds","H5S__all_copy","H5S__all_deserialize","H5S__all_intersect_block","H5S__all_is_contiguous","H5S__all_is_regular","H5S__all_is_single","H5S__all_is_valid","H5S__all_iter_block","H5S__all_iter_coords","H5S__all_iter_get_seq_list","H5S__all_iter_has_next_block","H5S__all_iter_init","H5S__all_iter_nelmts","H5S__all_iter_next","H5S__all_iter_next_block","H5S__all_iter_release","H5S__all_offset","H5S__all_project_scalar","H5S__all_project_simple","H5S__all_release","H5S__all_serial_size","H5S__all_serialize","H5S__all_shape_same","H5S__all_unlim_dim","H5S__check_internal_consistency","H5S__check_spans_overlap","H5S__check_spans_tail_ptr","H5S__close_cb","H5S__combine_select","H5S__copy_pnt_list","H5S__extent_copy_real","H5S__extent_release","H5S__fill_in_new_space","H5S__fill_in_select","H5S__generate_hyperslab","H5S__get_diminfo_status_test","H5S__get_rebuild_status_test","H5S__get_select_hyper_blocklist","H5S__hyper_add_disjoint_spans","H5S__hyper_add_span_element_helper.constprop.0","H5S__hyper_adjust_s","H5S__hyper_adjust_s_helper.constprop.0","H5S__hyper_adjust_u","H5S__hyper_adjust_u_helper.constprop.0","H5S__hyper_append_span","H5S__hyper_append_span.constprop.0","H5S__hyper_bounds","H5S__hyper_clip_spans.constprop.0","H5S__hyper_cmp_spans.part.0","H5S__hyper_coord_to_span","H5S__hyper_copy","H5S__hyper_copy_span_helper.part.0","H5S__hyper_deserialize","H5S__hyper_free_span_info","H5S__hyper_generate_spans","H5S__hyper_get_op_gen","H5S__hyper_get_version_enc_size","H5S__hyper_intersect_block","H5S__hyper_intersect_block_helper.constprop.0","H5S__hyper_is_contiguous","H5S__hyper_is_regular","H5S__hyper_is_single","H5S__hyper_is_valid","H5S__hyper_iter_block","H5S__hyper_iter_coords","H5S__hyper_iter_get_seq_list","H5S__hyper_iter_get_seq_list_opt","H5S__hyper_iter_get_seq_list_single","H5S__hyper_iter_has_next_block","H5S__hyper_iter_init","H5S__hyper_iter_nelmts","H5S__hyper_iter_next","H5S__hyper_iter_next_block","H5S__hyper_iter_release","H5S__hyper_make_spans","H5S__hyper_merge_spans_helper","H5S__hyper_new_span.part.0","H5S__hyper_new_span_info.part.0","H5S__hyper_num_elem_non_unlim","H5S__hyper_offset","H5S__hyper_proj_int_build_proj","H5S__hyper_proj_int_iterate","H5S__hyper_project_intersection","H5S__hyper_project_scalar","H5S__hyper_project_simple","H5S__hyper_rebuild","H5S__hyper_rebuild_helper","H5S__hyper_release","H5S__hyper_serial_size","H5S__hyper_serialize","H5S__hyper_serialize_helper","H5S__hyper_shape_same","H5S__hyper_span_blocklist","H5S__hyper_span_nblocks_helper.constprop.0","H5S__hyper_spans_nelem_helper.part.0.constprop.0","H5S__hyper_spans_shape_same","H5S__hyper_spans_shape_same_helper","H5S__hyper_unlim_dim","H5S__hyper_update_diminfo","H5S__internal_consistency_test","H5S__modify_select","H5S__mpio_create_point_datatype","H5S__mpio_reg_hyper_type","H5S__mpio_span_hyper_type","H5S__none_adjust_s","H5S__none_adjust_u","H5S__none_bounds","H5S__none_copy","H5S__none_deserialize","H5S__none_intersect_block","H5S__none_is_contiguous","H5S__none_is_regular","H5S__none_is_single","H5S__none_is_valid","H5S__none_iter_block","H5S__none_iter_coords","H5S__none_iter_get_seq_list","H5S__none_iter_has_next_block","H5S__none_iter_init","H5S__none_iter_nelmts","H5S__none_iter_next","H5S__none_iter_next_block","H5S__none_iter_release","H5S__none_offset","H5S__none_project_scalar","H5S__none_project_simple","H5S__none_release","H5S__none_serial_size","H5S__none_serialize","H5S__none_shape_same","H5S__none_unlim_dim","H5S__obtain_datatype.constprop.0","H5S__point_adjust_s","H5S__point_adjust_u","H5S__point_bounds","H5S__point_copy","H5S__point_deserialize","H5S__point_get_version_enc_size","H5S__point_intersect_block","H5S__point_is_contiguous","H5S__point_is_regular","H5S__point_is_single","H5S__point_is_valid","H5S__point_iter_block","H5S__point_iter_coords","H5S__point_iter_get_seq_list","H5S__point_iter_has_next_block","H5S__point_iter_init","H5S__point_iter_nelmts","H5S__point_iter_next","H5S__point_iter_next_block","H5S__point_iter_release","H5S__point_offset","H5S__point_project_scalar","H5S__point_project_simple","H5S__point_release","H5S__point_serial_size","H5S__point_serialize","H5S__point_shape_same","H5S__point_unlim_dim","H5S__sel_iter_close_cb","H5S__set_regular_hyperslab","H5S__verify_offsets","H5S_append","H5S_close","H5S_combine_hyperslab","H5S_copy","H5S_create","H5S_create_simple","H5S_debug","H5S_decode","H5S_encode","H5S_extent_copy","H5S_extent_equal","H5S_extent_get_dims","H5S_extent_nelem","H5S_get_npoints_max","H5S_get_select_bounds","H5S_get_select_npoints","H5S_get_select_num_elem_non_unlim","H5S_get_select_offset","H5S_get_select_type","H5S_get_select_unlim_dim","H5S_get_simple_extent","H5S_get_simple_extent_dims","H5S_get_simple_extent_ndims","H5S_get_simple_extent_npoints","H5S_get_simple_extent_type","H5S_has_extent","H5S_hyper_add_span_element","H5S_hyper_clip_unlim","H5S_hyper_denormalize_offset","H5S_hyper_get_clip_extent","H5S_hyper_get_clip_extent_match","H5S_hyper_get_first_inc_block","H5S_hyper_get_unlim_block","H5S_hyper_normalize_offset","H5S_init","H5S_mpio_space_type","H5S_read","H5S_sel_iter_close","H5S_select_adjust_s","H5S_select_adjust_u","H5S_select_all","H5S_select_construct_projection","H5S_select_contig_block","H5S_select_copy","H5S_select_deserialize","H5S_select_elements","H5S_select_fill","H5S_select_hyperslab","H5S_select_hyperslab.localalias","H5S_select_intersect_block","H5S_select_is_contiguous","H5S_select_is_regular","H5S_select_is_single","H5S_select_iter_coords","H5S_select_iter_get_seq_list","H5S_select_iter_init","H5S_select_iter_nelmts","H5S_select_iter_next","H5S_select_iter_release","H5S_select_iterate","H5S_select_none","H5S_select_offset","H5S_select_project_intersection","H5S_select_project_scalar","H5S_select_project_simple","H5S_select_release","H5S_select_serial_size","H5S_select_serialize","H5S_select_shape_same","H5S_select_subtract","H5S_select_valid","H5S_set_extent","H5S_set_extent_real","H5S_set_extent_simple","H5S_set_version","H5S_term_package","H5S_top_term_package","H5S_write","H5Sclose","H5Scombine_hyperslab","H5Scombine_select","H5Scopy","H5Screate","H5Screate_simple","H5Sdecode","H5Sencode1","H5Sencode2","H5Sextent_copy","H5Sextent_equal","H5Sget_regular_hyperslab","H5Sget_select_bounds","H5Sget_select_elem_npoints","H5Sget_select_elem_pointlist","H5Sget_select_hyper_blocklist","H5Sget_select_hyper_nblocks","H5Sget_select_npoints","H5Sget_select_type","H5Sget_simple_extent_dims","H5Sget_simple_extent_ndims","H5Sget_simple_extent_npoints","H5Sget_simple_extent_type","H5Sis_regular_hyperslab","H5Sis_simple","H5Smodify_select","H5Soffset_simple","H5Ssel_iter_close","H5Ssel_iter_create","H5Ssel_iter_get_seq_list","H5Ssel_iter_reset","H5Sselect_adjust","H5Sselect_all","H5Sselect_copy","H5Sselect_elements","H5Sselect_hyperslab","H5Sselect_intersect_block","H5Sselect_none","H5Sselect_project_intersection","H5Sselect_shape_same","H5Sselect_valid","H5Sset_extent_none","H5Sset_extent_simple","H5T__alloc","H5T__array_create","H5T__bit_cmp.constprop.0","H5T__bit_copy","H5T__bit_dec","H5T__bit_find","H5T__bit_get_d","H5T__bit_inc","H5T__bit_neg","H5T__bit_set","H5T__bit_set_d","H5T__bit_shift","H5T__close_cb","H5T__commit","H5T__commit_anon","H5T__commit_api_common","H5T__commit_named","H5T__complete_copy","H5T__conv_array","H5T__conv_b_b","H5T__conv_double_float","H5T__conv_double_int","H5T__conv_double_ldouble","H5T__conv_double_ldouble.cold","H5T__conv_double_llong","H5T__conv_double_long","H5T__conv_double_schar","H5T__conv_double_short","H5T__conv_double_uchar","H5T__conv_double_uint","H5T__conv_double_ullong","H5T__conv_double_ulong","H5T__conv_double_ushort","H5T__conv_enum","H5T__conv_enum_free.part.0","H5T__conv_enum_init","H5T__conv_enum_numeric","H5T__conv_f_f","H5T__conv_f_i","H5T__conv_float_double","H5T__conv_float_double.cold","H5T__conv_float_int","H5T__conv_float_ldouble","H5T__conv_float_ldouble.cold","H5T__conv_float_llong","H5T__conv_float_long","H5T__conv_float_schar","H5T__conv_float_short","H5T__conv_float_uchar","H5T__conv_float_uint","H5T__conv_float_ullong","H5T__conv_float_ulong","H5T__conv_float_ushort","H5T__conv_i_f","H5T__conv_i_i","H5T__conv_int_double","H5T__conv_int_float","H5T__conv_int_ldouble","H5T__conv_int_llong","H5T__conv_int_llong.cold","H5T__conv_int_long","H5T__conv_int_long.cold","H5T__conv_int_schar","H5T__conv_int_short","H5T__conv_int_uchar","H5T__conv_int_uint","H5T__conv_int_ullong","H5T__conv_int_ulong","H5T__conv_int_ushort","H5T__conv_ldouble_double","H5T__conv_ldouble_float","H5T__conv_ldouble_int","H5T__conv_ldouble_llong","H5T__conv_ldouble_long","H5T__conv_ldouble_schar","H5T__conv_ldouble_short","H5T__conv_ldouble_uchar","H5T__conv_ldouble_uint","H5T__conv_ldouble_ullong","H5T__conv_ldouble_ulong","H5T__conv_ldouble_ushort","H5T__conv_llong_double","H5T__conv_llong_float","H5T__conv_llong_int","H5T__conv_llong_ldouble","H5T__conv_llong_long","H5T__conv_llong_schar","H5T__conv_llong_short","H5T__conv_llong_uchar","H5T__conv_llong_uint","H5T__conv_llong_ullong","H5T__conv_llong_ulong","H5T__conv_llong_ushort","H5T__conv_long_double","H5T__conv_long_float","H5T__conv_long_int","H5T__conv_long_ldouble","H5T__conv_long_llong","H5T__conv_long_schar","H5T__conv_long_short","H5T__conv_long_uchar","H5T__conv_long_uint","H5T__conv_long_ullong","H5T__conv_long_ulong","H5T__conv_long_ushort","H5T__conv_noop","H5T__conv_order","H5T__conv_order_opt","H5T__conv_ref","H5T__conv_s_s","H5T__conv_schar_double","H5T__conv_schar_float","H5T__conv_schar_int","H5T__conv_schar_int.cold","H5T__conv_schar_ldouble","H5T__conv_schar_llong","H5T__conv_schar_llong.cold","H5T__conv_schar_long","H5T__conv_schar_long.cold","H5T__conv_schar_short","H5T__conv_schar_short.cold","H5T__conv_schar_uchar","H5T__conv_schar_uint","H5T__conv_schar_ullong","H5T__conv_schar_ulong","H5T__conv_schar_ushort","H5T__conv_short_double","H5T__conv_short_float","H5T__conv_short_int","H5T__conv_short_int.cold","H5T__conv_short_ldouble","H5T__conv_short_llong","H5T__conv_short_llong.cold","H5T__conv_short_long","H5T__conv_short_long.cold","H5T__conv_short_schar","H5T__conv_short_uchar","H5T__conv_short_uint","H5T__conv_short_ullong","H5T__conv_short_ulong","H5T__conv_short_ushort","H5T__conv_struct","H5T__conv_struct_free","H5T__conv_struct_init","H5T__conv_struct_opt","H5T__conv_struct_subset","H5T__conv_uchar_double","H5T__conv_uchar_float","H5T__conv_uchar_int","H5T__conv_uchar_int.cold","H5T__conv_uchar_ldouble","H5T__conv_uchar_llong","H5T__conv_uchar_llong.cold","H5T__conv_uchar_long","H5T__conv_uchar_long.cold","H5T__conv_uchar_schar","H5T__conv_uchar_short","H5T__conv_uchar_short.cold","H5T__conv_uchar_uint","H5T__conv_uchar_uint.cold","H5T__conv_uchar_ullong","H5T__conv_uchar_ullong.cold","H5T__conv_uchar_ulong","H5T__conv_uchar_ulong.cold","H5T__conv_uchar_ushort","H5T__conv_uchar_ushort.cold","H5T__conv_uint_double","H5T__conv_uint_float","H5T__conv_uint_int","H5T__conv_uint_ldouble","H5T__conv_uint_llong","H5T__conv_uint_llong.cold","H5T__conv_uint_long","H5T__conv_uint_long.cold","H5T__conv_uint_schar","H5T__conv_uint_short","H5T__conv_uint_uchar","H5T__conv_uint_ullong","H5T__conv_uint_ullong.cold","H5T__conv_uint_ulong","H5T__conv_uint_ulong.cold","H5T__conv_uint_ushort","H5T__conv_ullong_double","H5T__conv_ullong_float","H5T__conv_ullong_int","H5T__conv_ullong_ldouble","H5T__conv_ullong_llong","H5T__conv_ullong_long","H5T__conv_ullong_schar","H5T__conv_ullong_short","H5T__conv_ullong_uchar","H5T__conv_ullong_uint","H5T__conv_ullong_ulong","H5T__conv_ullong_ushort","H5T__conv_ulong_double","H5T__conv_ulong_float","H5T__conv_ulong_int","H5T__conv_ulong_ldouble","H5T__conv_ulong_llong","H5T__conv_ulong_long","H5T__conv_ulong_schar","H5T__conv_ulong_short","H5T__conv_ulong_uchar","H5T__conv_ulong_uint","H5T__conv_ulong_ullong","H5T__conv_ulong_ushort","H5T__conv_ushort_double","H5T__conv_ushort_float","H5T__conv_ushort_int","H5T__conv_ushort_int.cold","H5T__conv_ushort_ldouble","H5T__conv_ushort_llong","H5T__conv_ushort_llong.cold","H5T__conv_ushort_long","H5T__conv_ushort_long.cold","H5T__conv_ushort_schar","H5T__conv_ushort_short","H5T__conv_ushort_uchar","H5T__conv_ushort_uint","H5T__conv_ushort_uint.cold","H5T__conv_ushort_ullong","H5T__conv_ushort_ullong.cold","H5T__conv_ushort_ulong","H5T__conv_ushort_ulong.cold","H5T__conv_vlen","H5T__conv_vlen_nested_free","H5T__copy_all","H5T__copy_transient","H5T__create","H5T__detect_vlen_ref","H5T__enum_create","H5T__enum_insert","H5T__free","H5T__get_array_dims","H5T__get_array_ndims","H5T__get_create_plist","H5T__get_member_name","H5T__get_member_size","H5T__get_member_value","H5T__get_native_type","H5T__get_path_table_npaths","H5T__init_native_float_types","H5T__init_native_internal","H5T__initiate_copy","H5T__insert","H5T__open_api_common","H5T__open_name","H5T__pack","H5T__path_find_real","H5T__path_free","H5T__print_path_stats","H5T__ref_disk_getsize","H5T__ref_disk_isnull","H5T__ref_disk_read","H5T__ref_disk_setnull","H5T__ref_disk_write","H5T__ref_dsetreg_disk_getsize","H5T__ref_dsetreg_disk_isnull","H5T__ref_dsetreg_disk_read","H5T__ref_mem_getsize","H5T__ref_mem_isnull","H5T__ref_mem_read","H5T__ref_mem_setnull","H5T__ref_mem_write","H5T__ref_obj_disk_getsize","H5T__ref_obj_disk_isnull","H5T__ref_obj_disk_read","H5T__ref_reclaim","H5T__ref_set_loc","H5T__register","H5T__register_int","H5T__reverse_order","H5T__set_offset","H5T__set_order","H5T__set_precision","H5T__set_size","H5T__sort_name","H5T__sort_value","H5T__unlock_cb","H5T__update_packed","H5T__upgrade_version","H5T__upgrade_version_cb","H5T__visit","H5T__visit.localalias","H5T__vlen_create","H5T__vlen_disk_delete","H5T__vlen_disk_delete.part.0","H5T__vlen_disk_getlen","H5T__vlen_disk_isnull","H5T__vlen_disk_read","H5T__vlen_disk_setnull","H5T__vlen_disk_write","H5T__vlen_mem_seq_getlen","H5T__vlen_mem_seq_getptr","H5T__vlen_mem_seq_isnull","H5T__vlen_mem_seq_read","H5T__vlen_mem_seq_setnull","H5T__vlen_mem_seq_write","H5T__vlen_mem_str_getlen","H5T__vlen_mem_str_getptr","H5T__vlen_mem_str_isnull","H5T__vlen_mem_str_read","H5T__vlen_mem_str_setnull","H5T__vlen_mem_str_write","H5T__vlen_reclaim","H5T__vlen_set_loc","H5T_already_vol_managed","H5T_close","H5T_close_real","H5T_cmp","H5T_cmp.localalias","H5T_construct_datatype","H5T_convert","H5T_convert_committed_datatype","H5T_convert_with_ctx","H5T_copy","H5T_copy_reopen","H5T_debug","H5T_debug.cold","H5T_debug.localalias","H5T_decode","H5T_detect_class","H5T_detect_class.localalias","H5T_encode","H5T_get_actual_type","H5T_get_class","H5T_get_force_conv","H5T_get_member_offset","H5T_get_member_type","H5T_get_named_type","H5T_get_nmembers","H5T_get_offset","H5T_get_order","H5T_get_order.localalias","H5T_get_precision","H5T_get_ref_type","H5T_get_sign","H5T_get_size","H5T_get_super","H5T_init","H5T_invoke_vol_optional","H5T_is_immutable","H5T_is_named","H5T_is_numeric_with_unusual_unused_bits","H5T_is_relocatable","H5T_is_sensible","H5T_is_variable_str","H5T_is_vl_storage","H5T_link","H5T_lock","H5T_nameof","H5T_noop_conv","H5T_oloc","H5T_open","H5T_own_vol_obj","H5T_patch_file","H5T_patch_vlen_file","H5T_path_bkg","H5T_path_compound_subset","H5T_path_find","H5T_path_match_find_type_with_volobj","H5T_path_noop","H5T_reclaim","H5T_reclaim_cb","H5T_restore_refresh_state","H5T_save_refresh_state","H5T_set_loc","H5T_set_loc.localalias","H5T_set_version","H5T_term_package","H5T_top_term_package","H5T_unregister","H5T_update_shared","H5T_vlen_reclaim_elmt","H5Tarray_create1","H5Tarray_create2","H5Tclose","H5Tclose_async","H5Tcommit1","H5Tcommit2","H5Tcommit_anon","H5Tcommit_async","H5Tcommitted","H5Tcompiler_conv","H5Tconvert","H5Tcopy","H5Tcreate","H5Tdecode","H5Tdetect_class","H5Tencode","H5Tenum_create","H5Tenum_insert","H5Tenum_nameof","H5Tenum_valueof","H5Tequal","H5Tfind","H5Tflush","H5Tget_array_dims1","H5Tget_array_dims2","H5Tget_array_ndims","H5Tget_class","H5Tget_create_plist","H5Tget_cset","H5Tget_ebias","H5Tget_fields","H5Tget_inpad","H5Tget_member_class","H5Tget_member_index","H5Tget_member_name","H5Tget_member_offset","H5Tget_member_type","H5Tget_member_value","H5Tget_native_type","H5Tget_nmembers","H5Tget_norm","H5Tget_offset","H5Tget_order","H5Tget_pad","H5Tget_precision","H5Tget_sign","H5Tget_size","H5Tget_strpad","H5Tget_super","H5Tget_tag","H5Tinsert","H5Tis_variable_str","H5Tlock","H5Topen1","H5Topen2","H5Topen_async","H5Tpack","H5Treclaim","H5Trefresh","H5Tregister","H5Tset_cset","H5Tset_ebias","H5Tset_fields","H5Tset_inpad","H5Tset_norm","H5Tset_offset","H5Tset_order","H5Tset_pad","H5Tset_precision","H5Tset_sign","H5Tset_size","H5Tset_strpad","H5Tset_tag","H5Tunregister","H5Tvlen_create","H5UC_create","H5UC_decr","H5VL__connector_str_to_info","H5VL__file_open_find_connector_cb","H5VL__find_opt_operation","H5VL__free_cls","H5VL__get_connector_cb","H5VL__get_connector_id","H5VL__get_connector_id_by_name","H5VL__get_connector_id_by_value","H5VL__get_connector_name","H5VL__is_connector_registered_by_name","H5VL__is_connector_registered_by_value","H5VL__is_default_conn","H5VL__native_attr_close","H5VL__native_attr_create","H5VL__native_attr_get","H5VL__native_attr_open","H5VL__native_attr_optional","H5VL__native_attr_read","H5VL__native_attr_specific","H5VL__native_attr_write","H5VL__native_blob_get","H5VL__native_blob_put","H5VL__native_blob_specific","H5VL__native_dataset_close","H5VL__native_dataset_create","H5VL__native_dataset_get","H5VL__native_dataset_io_cleanup","H5VL__native_dataset_io_setup","H5VL__native_dataset_open","H5VL__native_dataset_optional","H5VL__native_dataset_read","H5VL__native_dataset_specific","H5VL__native_dataset_write","H5VL__native_datatype_close","H5VL__native_datatype_commit","H5VL__native_datatype_get","H5VL__native_datatype_open","H5VL__native_datatype_specific","H5VL__native_file_close","H5VL__native_file_create","H5VL__native_file_get","H5VL__native_file_open","H5VL__native_file_optional","H5VL__native_file_specific","H5VL__native_get_file_addr_len","H5VL__native_group_close","H5VL__native_group_create","H5VL__native_group_get","H5VL__native_group_open","H5VL__native_group_optional","H5VL__native_group_specific","H5VL__native_introspect_get_cap_flags","H5VL__native_introspect_get_conn_cls","H5VL__native_introspect_opt_query","H5VL__native_link_copy","H5VL__native_link_create","H5VL__native_link_get","H5VL__native_link_move","H5VL__native_link_specific","H5VL__native_object_copy","H5VL__native_object_get","H5VL__native_object_open","H5VL__native_object_optional","H5VL__native_object_specific","H5VL__native_str_to_token","H5VL__native_term","H5VL__native_token_cmp","H5VL__native_token_to_str","H5VL__num_opt_operation","H5VL__peek_connector_id_by_name","H5VL__peek_connector_id_by_value","H5VL__register_connector","H5VL__register_connector_by_class","H5VL__register_connector_by_name","H5VL__register_connector_by_value","H5VL__register_opt_operation","H5VL__reparse_def_vol_conn_variable_test","H5VL__set_def_conn","H5VL__term_opt_operation","H5VL__term_opt_operation_cb","H5VL__unregister_opt_operation","H5VL__wrap_obj","H5VL_attr_close","H5VL_attr_create","H5VL_attr_get","H5VL_attr_open","H5VL_attr_optional","H5VL_attr_read","H5VL_attr_specific","H5VL_attr_write","H5VL_blob_get","H5VL_blob_optional","H5VL_blob_put","H5VL_blob_specific","H5VL_check_plugin_load","H5VL_cmp_connector_cls","H5VL_cmp_connector_info","H5VL_conn_copy","H5VL_conn_dec_rc","H5VL_conn_free","H5VL_conn_inc_rc","H5VL_copy_connector_info","H5VL_create_object","H5VL_create_object_using_vol_id","H5VL_dataset_close","H5VL_dataset_create","H5VL_dataset_get","H5VL_dataset_open","H5VL_dataset_optional","H5VL_dataset_read","H5VL_dataset_specific","H5VL_dataset_write","H5VL_datatype_close","H5VL_datatype_commit","H5VL_datatype_get","H5VL_datatype_open","H5VL_datatype_optional","H5VL_datatype_optional_op","H5VL_datatype_specific","H5VL_dec_vol_wrapper","H5VL_file_close","H5VL_file_create","H5VL_file_get","H5VL_file_is_same","H5VL_file_open","H5VL_file_optional","H5VL_file_specific","H5VL_finish_lib_state","H5VL_free_connector_info","H5VL_free_lib_state","H5VL_free_object","H5VL_free_wrap_ctx","H5VL_get_cap_flags","H5VL_get_wrap_ctx","H5VL_group_close","H5VL_group_create","H5VL_group_get","H5VL_group_open","H5VL_group_optional","H5VL_group_specific","H5VL_inc_vol_wrapper","H5VL_init_phase1","H5VL_init_phase2","H5VL_introspect_get_cap_flags","H5VL_introspect_get_conn_cls","H5VL_introspect_opt_query","H5VL_link_copy","H5VL_link_create","H5VL_link_get","H5VL_link_move","H5VL_link_optional","H5VL_link_specific","H5VL_native_addr_to_token","H5VL_native_get_file_addr_len","H5VL_native_get_file_struct","H5VL_native_register","H5VL_native_token_to_addr","H5VL_new_connector","H5VL_object","H5VL_object_copy","H5VL_object_data","H5VL_object_get","H5VL_object_inc_rc","H5VL_object_is_native","H5VL_object_open","H5VL_object_optional","H5VL_object_specific","H5VL_object_unwrap","H5VL_object_verify","H5VL_optional","H5VL_pass_through_attr_close","H5VL_pass_through_attr_create","H5VL_pass_through_attr_get","H5VL_pass_through_attr_open","H5VL_pass_through_attr_optional","H5VL_pass_through_attr_read","H5VL_pass_through_attr_specific","H5VL_pass_through_attr_write","H5VL_pass_through_blob_get","H5VL_pass_through_blob_optional","H5VL_pass_through_blob_put","H5VL_pass_through_blob_specific","H5VL_pass_through_dataset_close","H5VL_pass_through_dataset_create","H5VL_pass_through_dataset_get","H5VL_pass_through_dataset_open","H5VL_pass_through_dataset_optional","H5VL_pass_through_dataset_read","H5VL_pass_through_dataset_specific","H5VL_pass_through_dataset_write","H5VL_pass_through_datatype_close","H5VL_pass_through_datatype_commit","H5VL_pass_through_datatype_get","H5VL_pass_through_datatype_open","H5VL_pass_through_datatype_optional","H5VL_pass_through_datatype_specific","H5VL_pass_through_file_close","H5VL_pass_through_file_create","H5VL_pass_through_file_get","H5VL_pass_through_file_open","H5VL_pass_through_file_optional","H5VL_pass_through_file_specific","H5VL_pass_through_free_wrap_ctx","H5VL_pass_through_get_object","H5VL_pass_through_get_wrap_ctx","H5VL_pass_through_group_close","H5VL_pass_through_group_create","H5VL_pass_through_group_get","H5VL_pass_through_group_open","H5VL_pass_through_group_optional","H5VL_pass_through_group_specific","H5VL_pass_through_info_cmp","H5VL_pass_through_info_copy","H5VL_pass_through_info_free","H5VL_pass_through_info_to_str","H5VL_pass_through_init","H5VL_pass_through_introspect_get_cap_flags","H5VL_pass_through_introspect_get_conn_cls","H5VL_pass_through_introspect_opt_query","H5VL_pass_through_link_copy","H5VL_pass_through_link_create","H5VL_pass_through_link_get","H5VL_pass_through_link_move","H5VL_pass_through_link_optional","H5VL_pass_through_link_specific","H5VL_pass_through_object_copy","H5VL_pass_through_object_get","H5VL_pass_through_object_open","H5VL_pass_through_object_optional","H5VL_pass_through_object_specific","H5VL_pass_through_optional","H5VL_pass_through_register","H5VL_pass_through_request_cancel","H5VL_pass_through_request_free","H5VL_pass_through_request_notify","H5VL_pass_through_request_optional","H5VL_pass_through_request_specific","H5VL_pass_through_request_wait","H5VL_pass_through_str_to_info","H5VL_pass_through_term","H5VL_pass_through_token_cmp","H5VL_pass_through_token_from_str","H5VL_pass_through_token_to_str","H5VL_pass_through_unwrap_object","H5VL_pass_through_wrap_object","H5VL_register","H5VL_register_using_existing_id","H5VL_register_using_vol_id","H5VL_request_cancel","H5VL_request_free","H5VL_request_notify","H5VL_request_optional","H5VL_request_specific","H5VL_request_wait","H5VL_reset_vol_wrapper","H5VL_restore_lib_state","H5VL_retrieve_lib_state","H5VL_set_vol_wrapper","H5VL_setup_acc_args","H5VL_setup_args","H5VL_setup_idx_args","H5VL_setup_loc_args","H5VL_setup_name_args","H5VL_setup_self_args","H5VL_setup_token_args","H5VL_start_lib_state","H5VL_term_package","H5VL_token_cmp","H5VL_token_from_str","H5VL_token_to_str","H5VL_unwrap_object","H5VL_vol_object","H5VL_vol_object_verify","H5VL_wrap_object","H5VL_wrap_register","H5VLattr_close","H5VLattr_create","H5VLattr_get","H5VLattr_open","H5VLattr_optional","H5VLattr_optional_op","H5VLattr_read","H5VLattr_specific","H5VLattr_write","H5VLblob_get","H5VLblob_optional","H5VLblob_put","H5VLblob_specific","H5VLclose","H5VLcmp_connector_cls","H5VLcmp_connector_info","H5VLconnector_info_to_str","H5VLconnector_str_to_info","H5VLcopy_connector_info","H5VLdataset_close","H5VLdataset_create","H5VLdataset_get","H5VLdataset_open","H5VLdataset_optional","H5VLdataset_optional_op","H5VLdataset_read","H5VLdataset_specific","H5VLdataset_write","H5VLdatatype_close","H5VLdatatype_commit","H5VLdatatype_get","H5VLdatatype_open","H5VLdatatype_optional","H5VLdatatype_optional_op","H5VLdatatype_specific","H5VLfile_close","H5VLfile_create","H5VLfile_get","H5VLfile_open","H5VLfile_optional","H5VLfile_optional_op","H5VLfile_specific","H5VLfind_opt_operation","H5VLfinish_lib_state","H5VLfree_connector_info","H5VLfree_lib_state","H5VLfree_wrap_ctx","H5VLget_cap_flags","H5VLget_connector_id","H5VLget_connector_id_by_name","H5VLget_connector_id_by_value","H5VLget_connector_name","H5VLget_file_type","H5VLget_object","H5VLget_value","H5VLget_wrap_ctx","H5VLgroup_close","H5VLgroup_create","H5VLgroup_get","H5VLgroup_open","H5VLgroup_optional","H5VLgroup_optional_op","H5VLgroup_specific","H5VLinitialize","H5VLintrospect_get_cap_flags","H5VLintrospect_get_conn_cls","H5VLintrospect_opt_query","H5VLis_connector_registered_by_name","H5VLis_connector_registered_by_value","H5VLlink_copy","H5VLlink_create","H5VLlink_get","H5VLlink_move","H5VLlink_optional","H5VLlink_optional_op","H5VLlink_specific","H5VLnative_addr_to_token","H5VLnative_token_to_addr","H5VLobject","H5VLobject_copy","H5VLobject_get","H5VLobject_is_native","H5VLobject_open","H5VLobject_optional","H5VLobject_optional_op","H5VLobject_specific","H5VLoptional","H5VLpeek_connector_id_by_name","H5VLpeek_connector_id_by_value","H5VLquery_optional","H5VLregister_connector","H5VLregister_connector_by_name","H5VLregister_connector_by_value","H5VLregister_opt_operation","H5VLrequest_cancel","H5VLrequest_free","H5VLrequest_notify","H5VLrequest_optional","H5VLrequest_optional_op","H5VLrequest_specific","H5VLrequest_wait","H5VLrestore_lib_state","H5VLretrieve_lib_state","H5VLstart_lib_state","H5VLterminate","H5VLtoken_cmp","H5VLtoken_from_str","H5VLtoken_to_str","H5VLunregister_connector","H5VLunregister_opt_operation","H5VLunwrap_object","H5VLwrap_object","H5VLwrap_register","H5VM_array_calc","H5VM_array_calc_pre","H5VM_array_down","H5VM_array_fill","H5VM_array_offset","H5VM_array_offset_pre","H5VM_chunk_index","H5VM_chunk_index_scaled","H5VM_chunk_scaled","H5VM_hyper_copy","H5VM_hyper_eq","H5VM_hyper_fill","H5VM_hyper_stride","H5VM_memcpyvv","H5VM_opvv","H5VM_stride_copy","H5VM_stride_copy.part.0","H5VM_stride_copy_s","H5VM_stride_fill","H5WB_actual","H5WB_actual_clear","H5WB_unwrap","H5WB_wrap","H5Z__calc_parms_array","H5Z__calc_parms_compound","H5Z__can_apply_nbit","H5Z__can_apply_scaleoffset","H5Z__check_unregister_dset_cb","H5Z__check_unregister_group_cb","H5Z__do_op","H5Z__filter_deflate","H5Z__filter_fletcher32","H5Z__filter_nbit","H5Z__filter_scaleoffset","H5Z__filter_shuffle","H5Z__flush_file_cb","H5Z__get_token","H5Z__nbit_compress_one_array","H5Z__nbit_compress_one_atomic","H5Z__nbit_compress_one_compound","H5Z__nbit_decompress_one_array","H5Z__nbit_decompress_one_atomic","H5Z__nbit_decompress_one_compound","H5Z__new_node.part.0","H5Z__parse_expression","H5Z__parse_factor","H5Z__parse_term","H5Z__prelude_callback","H5Z__prepare_prelude_callback_dcpl","H5Z__scaleoffset_get_type","H5Z__scaleoffset_postdecompress_i","H5Z__scaleoffset_precompress_fd","H5Z__set_local_nbit","H5Z__set_local_scaleoffset","H5Z__set_local_shuffle","H5Z__set_parms_array","H5Z__set_parms_atomic","H5Z__set_parms_compound","H5Z__unregister","H5Z__xform_copy_tree.isra.0","H5Z__xform_destroy_parse_tree.part.0","H5Z__xform_eval_full","H5Z__xform_reduce_tree","H5Z_all_filters_avail","H5Z_append","H5Z_can_apply","H5Z_can_apply_direct","H5Z_delete","H5Z_filter_avail","H5Z_filter_in_pline","H5Z_filter_info","H5Z_find","H5Z_get_filter_info","H5Z_ignore_filters","H5Z_init","H5Z_modify","H5Z_pipeline","H5Z_register","H5Z_set_local","H5Z_set_local_direct","H5Z_term_package","H5Z_xform_copy","H5Z_xform_create","H5Z_xform_destroy","H5Z_xform_eval","H5Z_xform_extract_xform_str","H5Z_xform_noop","H5Zfilter_avail","H5Zget_filter_info","H5Zregister","H5Zunregister","H5__debug_mask","H5__mpi_delete_cb","H5_bandwidth","H5_basename","H5_buffer_dump","H5_build_extpath","H5_checksum_crc","H5_checksum_fletcher32","H5_checksum_lookup3","H5_checksum_metadata","H5_combine_path","H5_default_vfd_init","H5_dirname","H5_get_option","H5_get_time","H5_hash_string","H5_init_library","H5_make_time","H5_mpi_comm_cmp","H5_mpi_comm_dup","H5_mpi_comm_free","H5_mpi_get_bigio_count","H5_mpi_info_cmp","H5_mpi_info_dup","H5_mpi_info_free","H5_mpi_set_bigio_count","H5_mpio_create_large_type","H5_mpio_gatherv_alloc","H5_mpio_gatherv_alloc_simple","H5_mpio_get_file_sync_required","H5_nanosleep","H5_now","H5_now_usec","H5_strcasestr","H5_term_library","H5_term_library.part.0","H5_timer_get_time_string","H5_timer_get_times","H5_timer_get_total_times","H5_timer_init","H5_timer_start","H5_timer_stop","H5_trace","H5_trace_args","H5allocate_memory","H5atclose","H5check_version","H5close","H5dont_atexit","H5free_memory","H5garbage_collect","H5get_free_list_sizes","H5get_libversion","H5is_library_terminating","H5is_library_threadsafe","H5open","H5resize_memory","H5set_free_list_limits","Nflock","Pflock","__do_global_dtors_aux","atexit","compute_next","deregister_tm_clones","frame_dummy","open_members","register_tm_clones"],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/hdf5-1.14.5-ul6ejhuh527dwwbgwi3ij6soj2pikw2u/lib/libhdf5.so","include_offsets":false},{"type":1,"name":"bio","functions":["bio_add_folio","bio_add_folio_nofail","bio_add_hw_folio","bio_add_hw_page","bio_add_page","bio_add_pc_page","bio_add_zone_append_page","bio_alloc_bioset","bio_alloc_cache_prune.constprop.0","bio_alloc_clone","bio_alloc_irq_cache_splice","bio_alloc_map_data","bio_alloc_rescue","bio_associate_blkg","bio_associate_blkg_from_css","bio_associate_blkg_from_page.isra.0","bio_attempt_back_merge","bio_attempt_discard_merge","bio_attempt_front_merge","bio_await_chain","bio_blkcg_css","bio_chain","bio_chain_and_submit","bio_chain_endio","bio_check_pages_dirty","bio_clone_blkg_association","bio_copy_data","bio_copy_data_iter","bio_copy_from_iter","bio_copy_kern_endio","bio_copy_kern_endio_read","bio_copy_user_iov","bio_cpu_dead","bio_dirty_fn","bio_end_io_acct_remapped","bio_endio","bio_free","bio_free_pages","bio_get_page","bio_init","bio_init_clone","bio_integrity_add_page","bio_integrity_advance","bio_integrity_alloc","bio_integrity_clone","bio_integrity_copy_user","bio_integrity_free","bio_integrity_init_user","bio_integrity_map_user","bio_integrity_prep","bio_integrity_prep.cold","bio_integrity_trim","bio_integrity_unmap_user","bio_integrity_unpin_bvec","bio_integrity_verify_fn","bio_iov_bvec_set","bio_iov_iter_get_pages","bio_kmalloc","bio_map_kern_endio","bio_map_user_iov","bio_next_page","bio_poll","bio_post_read_processing","bio_put","bio_reset","bio_set_pages_dirty","bio_split","bio_split_discard","bio_split_rw","bio_split_rw_at","bio_split_to_limits","bio_split_write_zeroes","bio_split_zone_append","bio_start_io_acct","bio_submit_split.part.0","bio_to_wbt_flags","bio_trim","bio_uninit","bio_wait_end_io","bioset_exit","bioset_init","bioset_integrity_create","bioset_integrity_free","biovec_init_pool"]},{"type":3,"name":"python","functions":["function__entry"],"binary_path":"/usr/lib64/libpython3.9.so","provider":"python"},{"type":1,"name":"os_page_cache","functions":["add_to_page_cache_lru","clear_page_dirty_for_io","delete_from_page_cache_batch","end_page_writeback","fault_in_safe_writeable","fault_in_subpage_writeable","fault_in_writeable","filemap_add_folio","filemap_alloc_folio","filemap_check_errors","filemap_fdatawait_keep_errors","filemap_fdatawait_range","filemap_fdatawait_range_keep_errors","filemap_fdatawrite","filemap_fdatawrite_range","filemap_fdatawrite_wbc","filemap_flush","filemap_get_folios","filemap_get_folios_contig","filemap_get_folios_tag","filemap_range_has_page","filemap_range_has_writeback","filemap_release_folio","filemap_remove_folio","folio_account_cleaned","folio_add_wait_queue","folio_clear_dirty_for_io","folio_end_private_2","folio_end_writeback","folio_invalidate","folio_mapping","folio_wait_bit","folio_wait_bit_killable","folio_wait_private_2","folio_wait_private_2_killable","folio_wait_stable","folio_wait_writeback","folio_wait_writeback_killable","grab_cache_page_write_begin","invalidate_inode_pages2","invalidate_inode_pages2_range","invalidate_mapping_pages","kiocb_invalidate_pages","kiocb_invalidate_post_direct_write","kiocb_write_and_wait","mapping_read_folio_gfp","mapping_seek_hole_data"]},{"type":1,"name":"shm","functions":["shmem_charge","shmem_file_setup","shmem_file_setup_with_mnt","shmem_get_folio","shmem_get_unmapped_area","shmem_init_fs_context","shmem_kernel_file_setup","shmem_lock","shmem_partial_swap_usage","shmem_read_folio_gfp","shmem_read_mapping_page_gfp","shmem_swap_usage","shmem_truncate_range","shmem_uncharge","shmem_unlock_mapping","shmem_unuse","shmem_zero_setup"]},{"type":1,"name":"fscache","functions":["__fscache_acquire_cookie","__fscache_acquire_volume","__fscache_begin_read_operation","__fscache_begin_write_operation","__fscache_clear_page_bits","__fscache_invalidate","__fscache_relinquish_cookie","__fscache_relinquish_volume","__fscache_resize_cookie","__fscache_unuse_cookie","__fscache_use_cookie","__fscache_write_to_cache"]},{"type":1,"name":"xfs","functions":["xfs_agfblock_init","xfs_agflblock_init","xfs_align_sparse_ino.isra.0","xfs_alloc_ag_max_usable","xfs_alloc_ag_vextent_exact","xfs_alloc_ag_vextent_locality","xfs_alloc_ag_vextent_near","xfs_alloc_ag_vextent_size","xfs_alloc_ag_vextent_small","xfs_alloc_btrec_to_irec","xfs_alloc_buftarg","xfs_alloc_cancel_autoreap","xfs_alloc_check_irec","xfs_alloc_cntbt_iter","xfs_alloc_commit_autoreap","xfs_alloc_compute_aligned","xfs_alloc_compute_diff","xfs_alloc_compute_maxlevels","xfs_alloc_cur_check","xfs_alloc_cur_finish","xfs_alloc_file_space","xfs_alloc_fix_freelist","xfs_alloc_fix_len","xfs_alloc_fixup_trees","xfs_alloc_get_freelist","xfs_alloc_get_rec","xfs_alloc_has_records","xfs_alloc_log_agf","xfs_alloc_longest_free_extent","xfs_alloc_lookup_eq","xfs_alloc_lookup_ge","xfs_alloc_lookup_le","xfs_alloc_min_freelist","xfs_alloc_put_freelist","xfs_alloc_query_all","xfs_alloc_query_range","xfs_alloc_query_range_helper","xfs_alloc_read_agf","xfs_alloc_read_agfl","xfs_alloc_schedule_autoreap","xfs_alloc_set_aside","xfs_alloc_space_available","xfs_alloc_update","xfs_alloc_update_counters","xfs_alloc_vextent_check_args","xfs_alloc_vextent_exact_bno","xfs_alloc_vextent_finish","xfs_alloc_vextent_first_ag","xfs_alloc_vextent_iterate_ags.constprop.0","xfs_alloc_vextent_near_bno","xfs_alloc_vextent_prepare_ag","xfs_alloc_vextent_start_ag","xfs_alloc_vextent_this_ag","xfs_alloc_walk_iter","xfs_allocfree_block_count","xfs_attr_leaf_entsize","xfs_attr_leaf_try_add","xfs_attr_restore_rmt_blk","xfs_btroot_init","xfs_buf_alert_ratelimited","xfs_buf_alloc_pages","xfs_buf_cmp","xfs_buf_corruption_error","xfs_buf_delwri_cancel","xfs_buf_delwri_pushbuf","xfs_buf_delwri_queue","xfs_buf_delwri_queue_here","xfs_buf_delwri_submit","xfs_buf_delwri_submit_buffers","xfs_buf_delwri_submit_nowait","xfs_buf_dquot_io_fail","xfs_buf_dquot_iodone","xfs_buf_find_insert.constprop.0","xfs_buf_find_lock","xfs_buf_free","xfs_buf_free_callback","xfs_buf_free_pages","xfs_buf_get_map","xfs_buf_get_uncached","xfs_buf_hash_destroy","xfs_buf_hash_init","xfs_buf_hold","xfs_buf_inode_io_fail","xfs_buf_inode_iodone","xfs_buf_ioapply_map","xfs_buf_ioend","xfs_buf_ioend_fail","xfs_buf_ioend_handle_error","xfs_buf_ioend_work","xfs_buf_ioerror_alert","xfs_buf_iowait","xfs_buf_item_committed","xfs_buf_item_committing","xfs_buf_item_dirty_format","xfs_buf_item_done","xfs_buf_item_format","xfs_buf_item_format_segment","xfs_buf_item_free","xfs_buf_item_free_format","xfs_buf_item_get_format","xfs_buf_item_init","xfs_buf_item_log","xfs_buf_item_pin","xfs_buf_item_push","xfs_buf_item_put","xfs_buf_item_release","xfs_buf_item_relse","xfs_buf_item_size","xfs_buf_item_size_segment.isra.0","xfs_buf_item_unpin","xfs_buf_lock","xfs_buf_log_check_iovec","xfs_buf_log_overhead","xfs_buf_offset","xfs_buf_read_map","xfs_buf_read_uncached","xfs_buf_readahead_map","xfs_buf_rele","xfs_buf_reverify","xfs_buf_set_ref","xfs_buf_stale","xfs_buf_trylock","xfs_buf_unlock","xfs_buf_verifier_error","xfs_buf_wait_unpin","xfs_buf_zero","xfs_buffered_write_delalloc_punch","xfs_buffered_write_iomap_begin","xfs_buffered_write_iomap_end","xfs_buftarg_drain_rele","xfs_buftarg_isolate","xfs_buftarg_shrink_count","xfs_buftarg_shrink_scan","xfs_bunmapi","xfs_bunmapi_range","xfs_bwrite","xfs_cntbt_diff_two_keys","xfs_cntbt_init_high_key_from_rec","xfs_cntbt_key_diff","xfs_cntbt_keys_inorder","xfs_cntbt_recs_inorder","xfs_cntroot_init","xfs_da3_blk_link","xfs_da3_blk_unlink.isra.0","xfs_da3_blkinfo_verify","xfs_da3_fixhashpath","xfs_da3_join","xfs_da3_node_add","xfs_da3_node_create","xfs_da3_node_hdr_from_disk","xfs_da3_node_hdr_to_disk","xfs_da3_node_lasthash.isra.0","xfs_da3_node_lookup_int","xfs_da3_node_order.isra.0","xfs_da3_node_read","xfs_da3_node_read_mapped","xfs_da3_node_read_verify","xfs_da3_node_rebalance.constprop.0","xfs_da3_node_remove","xfs_da3_node_set_type","xfs_da3_node_split","xfs_da3_node_toosmall","xfs_da3_node_unbalance","xfs_da3_node_verify","xfs_da3_node_verify_struct","xfs_da3_node_write_verify","xfs_da3_path_shift","xfs_da3_root_join","xfs_da3_root_split","xfs_da3_split","xfs_da3_swap_lastblock","xfs_da_buf_copy","xfs_da_compname","xfs_da_get_buf","xfs_da_grow_inode","xfs_da_grow_inode_int","xfs_da_hashname","xfs_da_mount","xfs_da_read_buf","xfs_da_reada_buf","xfs_da_shrink_inode","xfs_da_state_alloc","xfs_da_state_free","xfs_da_state_kill_altpath","xfs_da_state_reset","xfs_da_unmount","xfs_dabuf_map.constprop.0","xfs_dax_write_iomap_end","xfs_dax_writepages","xfs_dio_write_end_io","xfs_direct_write_iomap_begin","xfs_discard_endio","xfs_discard_endio_work","xfs_discard_extents","xfs_discard_folio","xfs_do_force_shutdown","xfs_dquot_buf_read_verify","xfs_dquot_buf_readahead_verify","xfs_dquot_buf_verify","xfs_dquot_buf_verify_crc.isra.0","xfs_dquot_buf_verify_struct","xfs_dquot_buf_write_verify","xfs_end_ioend","xfs_extent_busy_ag_cmp","xfs_extent_busy_clear","xfs_extent_busy_clear_one","xfs_extent_busy_flush","xfs_extent_busy_insert","xfs_extent_busy_insert_discard","xfs_extent_busy_insert_list","xfs_extent_busy_list_empty","xfs_extent_busy_reuse","xfs_extent_busy_search","xfs_extent_busy_trim","xfs_extent_busy_update_extent","xfs_extent_busy_wait_all","xfs_extent_free_abort_intent","xfs_extent_free_cancel_item","xfs_extent_free_create_done","xfs_extent_free_create_intent","xfs_extent_free_diff_items","xfs_extent_free_finish_item","xfs_extent_free_get_group","xfs_extent_free_log_item.constprop.0","xfs_extent_free_recover_work","xfs_extent_free_relog_intent","xfs_extfree_intent_destroy_cache","xfs_file_buffered_read","xfs_file_buffered_write","xfs_file_dax_read","xfs_file_dax_write","xfs_file_dio_read","xfs_file_dio_write_aligned","xfs_file_dio_write_unaligned","xfs_file_fadvise","xfs_file_fallocate","xfs_file_fsync","xfs_file_llseek","xfs_file_mmap","xfs_file_open","xfs_file_read_iter","xfs_file_readdir","xfs_file_release","xfs_file_remap_range","xfs_file_write_checks","xfs_file_write_iter","xfs_filemap_fault","xfs_filemap_huge_fault","xfs_filemap_page_mkwrite","xfs_filemap_pfn_mkwrite","xfs_finobt_init_ptr_from_cur","xfs_free_ag_extent","xfs_freesp_init_recs.isra.0","xfs_fs_alloc_inode","xfs_fs_commit_blocks","xfs_fs_destroy_inode","xfs_fs_dirty_inode","xfs_fs_drop_inode","xfs_fs_encode_fh","xfs_fs_fh_to_dentry","xfs_fs_fh_to_parent","xfs_fs_fill_super","xfs_fs_free","xfs_fs_free_cached_objects","xfs_fs_freeze","xfs_fs_geometry","xfs_fs_get_dqblk","xfs_fs_get_nextdqblk","xfs_fs_get_parent","xfs_fs_get_quota_state","xfs_fs_get_tree","xfs_fs_get_uuid","xfs_fs_goingdown","xfs_fs_inode_init_once","xfs_fs_map_blocks","xfs_fs_mark_healthy","xfs_fs_mark_sick","xfs_fs_measure_sickness","xfs_fs_nfs_commit_metadata","xfs_fs_nr_cached_objects","xfs_fs_parse_param","xfs_fs_put_super","xfs_fs_reconfigure","xfs_fs_reserve_ag_blocks","xfs_fs_rm_xquota","xfs_fs_set_dqblk","xfs_fs_set_info","xfs_fs_show_options","xfs_fs_shutdown","xfs_fs_statfs","xfs_fs_sync_fs","xfs_fs_unfreeze","xfs_fs_unreserve_ag_blocks","xfs_fs_validate_params","xfs_fs_writable","xfs_ialloc_ag_alloc","xfs_ialloc_count_inodes_rec","xfs_ialloc_count_ondisk","xfs_ialloc_get_rec","xfs_ialloc_next_rec","xfs_iflush","xfs_iflush_abort","xfs_iflush_cluster","xfs_iflush_fork","xfs_iflush_shutdown_abort","xfs_ifork_init_attr","xfs_ifork_init_cow","xfs_ifork_verify_local_attr","xfs_ifork_verify_local_data","xfs_ifork_zap_attr","xfs_ifork_zapped","xfs_ilock_for_iomap","xfs_ilock_iocb_for_write","xfs_inode_alloc","xfs_inode_buf_read_verify","xfs_inode_buf_readahead_verify","xfs_inode_buf_verify","xfs_inode_buf_write_verify","xfs_inode_clear_cowblocks_tag","xfs_inode_clear_eofblocks_tag","xfs_inode_free","xfs_inode_free_callback","xfs_inode_free_cowblocks","xfs_inode_free_eofblocks.constprop.0","xfs_inode_from_disk","xfs_inode_from_disk_ts","xfs_inode_hasattr","xfs_inode_inherit_flags","xfs_inode_init_security","xfs_inode_item_attr_fork_size","xfs_inode_item_committed","xfs_inode_item_committing","xfs_inode_item_data_fork_size","xfs_inode_item_destroy","xfs_inode_item_format","xfs_inode_item_format_attr_fork","xfs_inode_item_format_convert","xfs_inode_item_format_data_fork","xfs_inode_item_init","xfs_inode_item_pin","xfs_inode_item_precommit","xfs_inode_item_push","xfs_inode_item_release","xfs_inode_item_size","xfs_inode_item_sort","xfs_inode_item_unpin","xfs_inode_mark_healthy","xfs_inode_mark_reclaimable","xfs_inode_mark_sick","xfs_inode_measure_sickness","xfs_inode_near_dquot_enforcement","xfs_inode_needs_inactive","xfs_inode_reload_unlinked","xfs_inode_reload_unlinked_bucket","xfs_inode_set_cowblocks_tag","xfs_inode_set_eofblocks_tag","xfs_inode_to_disk","xfs_inode_to_log_dinode","xfs_inode_validate_cowextsize","xfs_inode_validate_extsize","xfs_inode_verifier_error","xfs_iomap_eof_align_last_fsb","xfs_iomap_inode_sequence","xfs_iomap_prealloc_size.constprop.0.isra.0","xfs_iomap_swapfile_activate","xfs_iomap_valid","xfs_iomap_write_direct","xfs_iomap_write_unwritten","xfs_iread_bmbt_block","xfs_lookup_get_search_key","xfs_map_blocks","xfs_mru_cache_create","xfs_mru_cache_delete","xfs_mru_cache_destroy","xfs_mru_cache_done","xfs_mru_cache_init","xfs_mru_cache_insert","xfs_mru_cache_lookup","xfs_mru_cache_remove","xfs_mru_cache_uninit","xfs_nfs_get_inode.isra.0","xfs_prepare_ioend","xfs_read_agf","xfs_read_agi","xfs_read_iomap_begin","xfs_readdir","xfs_readlink","xfs_readlink_bmap_ilocked","xfs_readlink_by_handle","xfs_release","xfs_remove","xfs_rename","xfs_reserve_blocks","xfs_restore_resvblks","xfs_vm_bmap","xfs_vm_read_folio","xfs_vm_readahead","xfs_vm_writepages","xfs_xattr_iomap_begin"]},{"type":1,"name":"ext4","functions":["ext4_alloc_branch","ext4_alloc_da_blocks","ext4_alloc_file_blocks.isra.0","ext4_alloc_flex_bg_array","ext4_alloc_group_tables","ext4_alloc_inode","ext4_alloc_io_end_vec","ext4_append","ext4_block_bitmap","ext4_block_bitmap_csum_set","ext4_block_bitmap_csum_verify","ext4_block_bitmap_set","ext4_block_to_path","ext4_block_write_begin","ext4_block_zero_page_range","ext4_bmap","ext4_bread","ext4_bread_batch","ext4_da_convert_inline_data_to_extent","ext4_da_get_block_prep","ext4_da_map_blocks.constprop.0","ext4_da_release_space","ext4_da_reserve_space","ext4_da_update_reserve_space","ext4_da_write_begin","ext4_da_write_end","ext4_da_write_inline_data_begin","ext4_dio_alignment","ext4_dio_write_checks","ext4_dio_write_end_io","ext4_dio_write_iter","ext4_dirty_folio","ext4_dirty_inode","ext4_end_buffer_io_sync","ext4_end_io_rsv_work","ext4_exit_es","ext4_exit_mballoc","ext4_exit_pageio","ext4_exit_pending","ext4_exit_post_read_processing","ext4_exit_sysfs","ext4_exit_system_zone","ext4_ext_calc_credits_for_single_extent","ext4_ext_check_inode","ext4_ext_clear_bb","ext4_ext_convert_to_initialized","ext4_ext_correct_indexes","ext4_ext_find_goal","ext4_ext_get_access","ext4_ext_grow_indepth","ext4_ext_handle_unwritten_extents","ext4_ext_index_trans_blocks","ext4_ext_init","ext4_ext_insert_extent","ext4_ext_insert_index","ext4_ext_map_blocks","ext4_ext_migrate","ext4_ext_next_allocated_block","ext4_ext_precache","ext4_ext_precache.part.0","ext4_ext_release","ext4_ext_remove_space","ext4_ext_replay_set_iblocks","ext4_ext_replay_shrink_inode","ext4_ext_replay_update_ex","ext4_ext_rm_idx","ext4_ext_rm_leaf","ext4_ext_search_left","ext4_ext_search_right","ext4_ext_shift_extents","ext4_ext_shift_path_extents","ext4_ext_split","ext4_ext_swap_inode_data","ext4_ext_tree_init","ext4_ext_truncate","ext4_ext_try_to_merge","ext4_ext_try_to_merge_right","ext4_ext_try_to_merge_up","ext4_extent_block_csum_set","ext4_fallocate","ext4_fh_to_dentry","ext4_fh_to_parent","ext4_fiemap","ext4_file_getattr","ext4_file_mmap","ext4_file_open","ext4_file_read_iter","ext4_file_write_iter","ext4_fileattr_get","ext4_fileattr_set","ext4_find_dest_de","ext4_find_entry","ext4_find_extent","ext4_find_inline_data_nolock","ext4_find_inline_entry","ext4_find_shared","ext4_finish_convert_inline_dir","ext4_free_blocks","ext4_free_blocks_simple.isra.0","ext4_free_branches","ext4_free_clusters_after_init","ext4_free_data","ext4_free_ext_path","ext4_free_group_clusters","ext4_free_group_clusters_set","ext4_free_in_core_inode","ext4_free_inode","ext4_free_inodes_count","ext4_free_inodes_set","ext4_free_link","ext4_io_submit","ext4_io_submit_init","ext4_iomap_begin","ext4_iomap_begin_report","ext4_iomap_end","ext4_iomap_overwrite_begin","ext4_iomap_swap_activate","ext4_iomap_xattr_begin","ext4_journal_abort_handle.constprop.0","ext4_journal_bmap","ext4_journal_check_start","ext4_journal_commit_callback","ext4_journal_finish_inode_data_buffers","ext4_journal_submit_inode_data_buffers","ext4_journalled_dirty_folio","ext4_journalled_invalidate_folio","ext4_journalled_submit_inode_data_buffers","ext4_journalled_write_end","ext4_journalled_write_inline_data","ext4_journalled_writepage_callback","ext4_journalled_zero_new_buffers","ext4_mark_bitmap_end","ext4_mark_bitmap_end.part.0","ext4_mark_dquot_dirty","ext4_mark_group_bitmap_corrupted","ext4_mark_iloc_dirty","ext4_mark_inode_used","ext4_mark_recovery_complete.constprop.0","ext4_mballoc_query_range","ext4_meta_trans_blocks","ext4_mkdir","ext4_mknod","ext4_move_extents","ext4_read_bh","ext4_read_bh_lock","ext4_read_bh_nowait","ext4_read_block_bitmap","ext4_read_block_bitmap_nowait","ext4_read_folio","ext4_read_inline_data.part.0.isra.0","ext4_read_inline_dir","ext4_read_inline_link","ext4_read_inline_page","ext4_read_inode_bitmap","ext4_read_merkle_tree_page","ext4_readahead","ext4_readdir","ext4_readpage_inline","ext4_release_io_end","ext4_statfs","ext4_swap_extents","ext4_symlink","ext4_sync_file","ext4_sync_fs","ext4_tmpfile","ext4_trim_all_free","ext4_trim_fs","ext4_truncate","ext4_unfreeze","ext4_unlink","ext4_write_begin","ext4_write_dquot","ext4_write_end","ext4_write_info","ext4_write_inline_data","ext4_write_inline_data_end","ext4_write_inode","ext4_write_merkle_tree_block","ext4_writepage","ext4_writepage_cb","ext4_writepage_trans_blocks","ext4_writepages"]},{"type":1,"name":"iomap","functions":["iomap_add_to_ioend","iomap_adjust_read_range.isra.0","iomap_bmap","iomap_dio_complete","iomap_dio_complete_work","iomap_dio_deferred_complete","iomap_dio_inline_iter","iomap_dio_rw","iomap_dio_zero","iomap_dirty_folio","iomap_do_writepage","iomap_fiemap","iomap_file_buffered_write","iomap_file_buffered_write_punch_delalloc","iomap_file_unshare","iomap_finish_ioend","iomap_finish_ioends","iomap_get_folio","iomap_invalidate_folio","iomap_ioend_compare","iomap_ioend_try_merge","iomap_is_partially_uptodate","iomap_iter","iomap_page_mkwrite","iomap_read_end_io","iomap_read_folio","iomap_read_folio_sync","iomap_read_inline_data","iomap_readahead","iomap_readpage_iter","iomap_release_folio","iomap_seek_data","iomap_seek_hole","iomap_sort_ioends","iomap_submit_ioend","iomap_swapfile_activate","iomap_swapfile_add_extent","iomap_swapfile_fail","iomap_swapfile_iter","iomap_to_bh","iomap_to_fiemap","iomap_truncate_page","iomap_unshare_iter","iomap_write_begin","iomap_write_delalloc_release","iomap_write_end","iomap_write_iter","iomap_writepage_map","iomap_writepages","iomap_zero_iter","iomap_zero_range"]},{"type":2,"name":"mpi","functions":["MPIX_Comm_ack_failed","MPIX_Comm_ack_failed.cold","MPIX_Comm_agree","MPIX_Comm_agree.cold","MPIX_Comm_failure_ack","MPIX_Comm_failure_ack.cold","MPIX_Comm_failure_get_acked","MPIX_Comm_failure_get_acked.cold","MPIX_Comm_get_failed","MPIX_Comm_get_failed.cold","MPIX_Comm_iagree","MPIX_Comm_iagree.cold","MPIX_Comm_is_revoked","MPIX_Comm_revoke","MPIX_Comm_revoke.cold","MPIX_Comm_shrink","MPIX_Comm_shrink.cold","MPIX_Query_cuda_support","MPIX_Query_rocm_support","MPI_AINT_ADD_F90","MPI_AINT_DIFF_F90","MPI_Abort","MPI_Accumulate","MPI_Add_error_class","MPI_Add_error_code","MPI_Add_error_string","MPI_Address","MPI_Allgather","MPI_Allgather_init","MPI_Allgatherv","MPI_Allgatherv_init","MPI_Alloc_mem","MPI_Allreduce","MPI_Allreduce_init","MPI_Alltoall","MPI_Alltoall_init","MPI_Alltoallv","MPI_Alltoallv_init","MPI_Alltoallw","MPI_Alltoallw_init","MPI_Attr_delete","MPI_Attr_get","MPI_Attr_put","MPI_Barrier","MPI_Barrier_init","MPI_Bcast","MPI_Bcast_init","MPI_Bsend","MPI_Bsend_init","MPI_Buffer_attach","MPI_Buffer_detach","MPI_COMM_DUP_FN","MPI_COMM_NULL_COPY_FN","MPI_COMM_NULL_DELETE_FN","MPI_CONVERSION_FN_NULL","MPI_Cancel","MPI_Cart_coords","MPI_Cart_create","MPI_Cart_get","MPI_Cart_map","MPI_Cart_rank","MPI_Cart_shift","MPI_Cart_sub","MPI_Cartdim_get","MPI_Close_port","MPI_Comm_accept","MPI_Comm_c2f","MPI_Comm_call_errhandler","MPI_Comm_compare","MPI_Comm_connect","MPI_Comm_create","MPI_Comm_create_errhandler","MPI_Comm_create_from_group","MPI_Comm_create_group","MPI_Comm_create_keyval","MPI_Comm_delete_attr","MPI_Comm_disconnect","MPI_Comm_dup","MPI_Comm_dup_with_info","MPI_Comm_f2c","MPI_Comm_free","MPI_Comm_free_keyval","MPI_Comm_get_attr","MPI_Comm_get_errhandler","MPI_Comm_get_info","MPI_Comm_get_name","MPI_Comm_get_parent","MPI_Comm_group","MPI_Comm_idup","MPI_Comm_idup_with_info","MPI_Comm_join","MPI_Comm_rank","MPI_Comm_remote_group","MPI_Comm_remote_size","MPI_Comm_set_attr","MPI_Comm_set_errhandler","MPI_Comm_set_info","MPI_Comm_set_name","MPI_Comm_size","MPI_Comm_spawn","MPI_Comm_spawn_multiple","MPI_Comm_split","MPI_Comm_split_type","MPI_Comm_test_inter","MPI_Compare_and_swap","MPI_DUP_FN","MPI_Dims_create","MPI_Dist_graph_create","MPI_Dist_graph_create_adjacent","MPI_Dist_graph_neighbors","MPI_Dist_graph_neighbors_count","MPI_Errhandler_c2f","MPI_Errhandler_create","MPI_Errhandler_f2c","MPI_Errhandler_free","MPI_Errhandler_get","MPI_Errhandler_set","MPI_Error_class","MPI_Error_string","MPI_Exscan","MPI_Exscan_init","MPI_Fetch_and_op","MPI_File_c2f","MPI_File_call_errhandler","MPI_File_close","MPI_File_create_errhandler","MPI_File_delete","MPI_File_f2c","MPI_File_get_amode","MPI_File_get_atomicity","MPI_File_get_byte_offset","MPI_File_get_errhandler","MPI_File_get_group","MPI_File_get_info","MPI_File_get_position","MPI_File_get_position_shared","MPI_File_get_size","MPI_File_get_type_extent","MPI_File_get_view","MPI_File_iread","MPI_File_iread_all","MPI_File_iread_at","MPI_File_iread_at_all","MPI_File_iread_shared","MPI_File_iwrite","MPI_File_iwrite_all","MPI_File_iwrite_at","MPI_File_iwrite_at_all","MPI_File_iwrite_shared","MPI_File_open","MPI_File_preallocate","MPI_File_read","MPI_File_read_all","MPI_File_read_all_begin","MPI_File_read_all_end","MPI_File_read_at","MPI_File_read_at_all","MPI_File_read_at_all_begin","MPI_File_read_at_all_end","MPI_File_read_ordered","MPI_File_read_ordered_begin","MPI_File_read_ordered_end","MPI_File_read_shared","MPI_File_seek","MPI_File_seek_shared","MPI_File_set_atomicity","MPI_File_set_errhandler","MPI_File_set_info","MPI_File_set_size","MPI_File_set_view","MPI_File_sync","MPI_File_write","MPI_File_write_all","MPI_File_write_all_begin","MPI_File_write_all_end","MPI_File_write_at","MPI_File_write_at_all","MPI_File_write_at_all_begin","MPI_File_write_at_all_end","MPI_File_write_ordered","MPI_File_write_ordered_begin","MPI_File_write_ordered_end","MPI_File_write_shared","MPI_Finalize","MPI_Finalized","MPI_Free_mem","MPI_Gather","MPI_Gather_init","MPI_Gatherv","MPI_Gatherv_init","MPI_Get","MPI_Get_accumulate","MPI_Get_address","MPI_Get_count","MPI_Get_elements","MPI_Get_elements_x","MPI_Get_library_version","MPI_Get_processor_name","MPI_Get_version","MPI_Graph_create","MPI_Graph_get","MPI_Graph_map","MPI_Graph_neighbors","MPI_Graph_neighbors_count","MPI_Graphdims_get","MPI_Grequest_complete","MPI_Grequest_start","MPI_Group_c2f","MPI_Group_compare","MPI_Group_difference","MPI_Group_excl","MPI_Group_f2c","MPI_Group_free","MPI_Group_from_session_pset","MPI_Group_incl","MPI_Group_intersection","MPI_Group_range_excl","MPI_Group_range_incl","MPI_Group_rank","MPI_Group_size","MPI_Group_translate_ranks","MPI_Group_union","MPI_Iallgather","MPI_Iallgatherv","MPI_Iallreduce","MPI_Ialltoall","MPI_Ialltoallv","MPI_Ialltoallw","MPI_Ibarrier","MPI_Ibcast","MPI_Ibsend","MPI_Iexscan","MPI_Igather","MPI_Igatherv","MPI_Improbe","MPI_Imrecv","MPI_Ineighbor_allgather","MPI_Ineighbor_allgatherv","MPI_Ineighbor_alltoall","MPI_Ineighbor_alltoallv","MPI_Ineighbor_alltoallw","MPI_Info_c2f","MPI_Info_create","MPI_Info_create_env","MPI_Info_delete","MPI_Info_dup","MPI_Info_f2c","MPI_Info_free","MPI_Info_get","MPI_Info_get_nkeys","MPI_Info_get_nthkey","MPI_Info_get_string","MPI_Info_get_valuelen","MPI_Info_set","MPI_Init","MPI_Init_thread","MPI_Initialized","MPI_Intercomm_create","MPI_Intercomm_create_from_groups","MPI_Intercomm_merge","MPI_Iprobe","MPI_Irecv","MPI_Ireduce","MPI_Ireduce_scatter","MPI_Ireduce_scatter_block","MPI_Irsend","MPI_Is_thread_main","MPI_Iscan","MPI_Iscatter","MPI_Iscatterv","MPI_Isend","MPI_Isendrecv","MPI_Isendrecv_replace","MPI_Issend","MPI_Keyval_create","MPI_Keyval_free","MPI_Lookup_name","MPI_Message_c2f","MPI_Message_f2c","MPI_Mprobe","MPI_Mrecv","MPI_NULL_COPY_FN","MPI_NULL_DELETE_FN","MPI_Neighbor_allgather","MPI_Neighbor_allgather_init","MPI_Neighbor_allgatherv","MPI_Neighbor_allgatherv_init","MPI_Neighbor_alltoall","MPI_Neighbor_alltoall_init","MPI_Neighbor_alltoallv","MPI_Neighbor_alltoallv_init","MPI_Neighbor_alltoallw","MPI_Neighbor_alltoallw_init","MPI_Op_c2f","MPI_Op_commutative","MPI_Op_create","MPI_Op_f2c","MPI_Op_free","MPI_Open_port","MPI_Pack","MPI_Pack_external","MPI_Pack_external_size","MPI_Pack_size","MPI_Parrived","MPI_Pcontrol","MPI_Pready","MPI_Pready_list","MPI_Pready_range","MPI_Precv_init","MPI_Probe","MPI_Psend_init","MPI_Publish_name","MPI_Put","MPI_Query_thread","MPI_Raccumulate","MPI_Recv","MPI_Recv_init","MPI_Reduce","MPI_Reduce_init","MPI_Reduce_local","MPI_Reduce_scatter","MPI_Reduce_scatter_block","MPI_Reduce_scatter_block_init","MPI_Reduce_scatter_init","MPI_Register_datarep","MPI_Request_c2f","MPI_Request_f2c","MPI_Request_free","MPI_Request_get_status","MPI_Rget","MPI_Rget_accumulate","MPI_Rput","MPI_Rsend","MPI_Rsend_init","MPI_Scan","MPI_Scan_init","MPI_Scatter","MPI_Scatter_init","MPI_Scatterv","MPI_Scatterv_init","MPI_Send","MPI_Send_init","MPI_Sendrecv","MPI_Sendrecv_replace","MPI_Session_c2f","MPI_Session_call_errhandler","MPI_Session_create_errhandler","MPI_Session_f2c","MPI_Session_finalize","MPI_Session_get_errhandler","MPI_Session_get_info","MPI_Session_get_nth_pset","MPI_Session_get_num_psets","MPI_Session_get_pset_info","MPI_Session_init","MPI_Session_set_errhandler","MPI_Session_set_info","MPI_Ssend","MPI_Ssend_init","MPI_Start","MPI_Startall","MPI_Status_c2f","MPI_Status_c2f08","MPI_Status_f082c","MPI_Status_f082f","MPI_Status_f2c","MPI_Status_f2f08","MPI_Status_set_cancelled","MPI_Status_set_elements","MPI_Status_set_elements_x","MPI_TYPE_DUP_FN","MPI_TYPE_NULL_COPY_FN","MPI_TYPE_NULL_DELETE_FN","MPI_T_category_changed","MPI_T_category_get_categories","MPI_T_category_get_cvars","MPI_T_category_get_index","MPI_T_category_get_info","MPI_T_category_get_num","MPI_T_category_get_pvars","MPI_T_cvar_get_index","MPI_T_cvar_get_info","MPI_T_cvar_get_num","MPI_T_cvar_handle_alloc","MPI_T_cvar_handle_free","MPI_T_cvar_read","MPI_T_cvar_write","MPI_T_enum_get_info","MPI_T_enum_get_item","MPI_T_finalize","MPI_T_init_thread","MPI_T_pvar_get_index","MPI_T_pvar_get_info","MPI_T_pvar_get_num","MPI_T_pvar_handle_alloc","MPI_T_pvar_handle_free","MPI_T_pvar_read","MPI_T_pvar_readreset","MPI_T_pvar_reset","MPI_T_pvar_session_create","MPI_T_pvar_session_free","MPI_T_pvar_start","MPI_T_pvar_stop","MPI_T_pvar_write","MPI_Test","MPI_Test_cancelled","MPI_Testall","MPI_Testany","MPI_Testsome","MPI_Topo_test","MPI_Type_c2f","MPI_Type_commit","MPI_Type_contiguous","MPI_Type_create_darray","MPI_Type_create_f90_complex","MPI_Type_create_f90_integer","MPI_Type_create_f90_real","MPI_Type_create_hindexed","MPI_Type_create_hindexed_block","MPI_Type_create_hvector","MPI_Type_create_indexed_block","MPI_Type_create_keyval","MPI_Type_create_resized","MPI_Type_create_struct","MPI_Type_create_subarray","MPI_Type_delete_attr","MPI_Type_dup","MPI_Type_extent","MPI_Type_f2c","MPI_Type_free","MPI_Type_free_keyval","MPI_Type_get_attr","MPI_Type_get_contents","MPI_Type_get_envelope","MPI_Type_get_extent","MPI_Type_get_extent_x","MPI_Type_get_name","MPI_Type_get_true_extent","MPI_Type_get_true_extent_x","MPI_Type_hindexed","MPI_Type_hvector","MPI_Type_indexed","MPI_Type_lb","MPI_Type_match_size","MPI_Type_set_attr","MPI_Type_set_name","MPI_Type_size","MPI_Type_size_x","MPI_Type_struct","MPI_Type_ub","MPI_Type_vector","MPI_Unpack","MPI_Unpack_external","MPI_Unpublish_name","MPI_WIN_DUP_FN","MPI_WIN_NULL_COPY_FN","MPI_WIN_NULL_DELETE_FN","MPI_WTICK_F90","MPI_WTIME_F90","MPI_Wait","MPI_Waitall","MPI_Waitany","MPI_Waitsome","MPI_Win_allocate","MPI_Win_allocate_shared","MPI_Win_attach","MPI_Win_c2f","MPI_Win_call_errhandler","MPI_Win_complete","MPI_Win_create","MPI_Win_create_dynamic","MPI_Win_create_errhandler","MPI_Win_create_keyval","MPI_Win_delete_attr","MPI_Win_detach","MPI_Win_f2c","MPI_Win_fence","MPI_Win_flush","MPI_Win_flush_all","MPI_Win_flush_local","MPI_Win_flush_local_all","MPI_Win_free","MPI_Win_free_keyval","MPI_Win_get_attr","MPI_Win_get_errhandler","MPI_Win_get_group","MPI_Win_get_info","MPI_Win_get_name","MPI_Win_lock","MPI_Win_lock_all","MPI_Win_post","MPI_Win_set_attr","MPI_Win_set_errhandler","MPI_Win_set_info","MPI_Win_set_name","MPI_Win_shared_query","MPI_Win_start","MPI_Win_sync","MPI_Win_test","MPI_Win_unlock","MPI_Win_unlock_all","MPI_Win_wait","MPI_Wtick","MPI_Wtime","NBC_Comm_neighbors","NBC_Comm_neighbors_count","NBC_Error","NBC_Error.constprop.0:0x12d820","NBC_Error.constprop.0:0x12e380","NBC_Error.constprop.0:0x12ee10","NBC_Error.constprop.0:0x130de0","NBC_Error.constprop.0:0x138c20","NBC_Error.constprop.0:0x13a930","NBC_Error.constprop.0:0x13bee0","NBC_Init_comm","NBC_Progress","NBC_Return_handle","NBC_Sched_barrier","NBC_Sched_commit","NBC_Sched_copy","NBC_Sched_local_recv","NBC_Sched_local_send","NBC_Sched_op","NBC_Sched_recv","NBC_Sched_send","NBC_Sched_unpack","NBC_Schedule_request","NBC_Start","NBC_Start_round","OMPI_Affinity_str","OMPI_Affinity_str.cold","OMPI_C_MPI_COMM_DUP_FN","OMPI_C_MPI_COMM_NULL_COPY_FN","OMPI_C_MPI_COMM_NULL_DELETE_FN","OMPI_C_MPI_DUP_FN","OMPI_C_MPI_NULL_COPY_FN","OMPI_C_MPI_NULL_DELETE_FN","OMPI_C_MPI_TYPE_DUP_FN","OMPI_C_MPI_TYPE_NULL_COPY_FN","OMPI_C_MPI_TYPE_NULL_DELETE_FN","OMPI_C_MPI_WIN_DUP_FN","OMPI_C_MPI_WIN_NULL_COPY_FN","OMPI_C_MPI_WIN_NULL_DELETE_FN","OMPI_TEST_FORTRAN_CONSTANTS","PMPIX_Comm_ack_failed","PMPIX_Comm_ack_failed.cold","PMPIX_Comm_agree","PMPIX_Comm_agree.cold","PMPIX_Comm_failure_ack","PMPIX_Comm_failure_ack.cold","PMPIX_Comm_failure_get_acked","PMPIX_Comm_failure_get_acked.cold","PMPIX_Comm_get_failed","PMPIX_Comm_get_failed.cold","PMPIX_Comm_iagree","PMPIX_Comm_iagree.cold","PMPIX_Comm_is_revoked","PMPIX_Comm_revoke","PMPIX_Comm_revoke.cold","PMPIX_Comm_shrink","PMPIX_Comm_shrink.cold","PMPI_Abort","PMPI_Accumulate","PMPI_Accumulate.cold","PMPI_Add_error_class","PMPI_Add_error_class.cold","PMPI_Add_error_code","PMPI_Add_error_code.cold","PMPI_Add_error_string","PMPI_Address","PMPI_Allgather","PMPI_Allgather.cold","PMPI_Allgather_init","PMPI_Allgather_init.cold","PMPI_Allgatherv","PMPI_Allgatherv.cold","PMPI_Allgatherv_init","PMPI_Allgatherv_init.cold","PMPI_Alloc_mem","PMPI_Allreduce","PMPI_Allreduce.cold","PMPI_Allreduce_init","PMPI_Allreduce_init.cold","PMPI_Alltoall","PMPI_Alltoall.cold","PMPI_Alltoall_init","PMPI_Alltoall_init.cold","PMPI_Alltoallv","PMPI_Alltoallv.cold","PMPI_Alltoallv_init","PMPI_Alltoallv_init.cold","PMPI_Alltoallw","PMPI_Alltoallw.cold","PMPI_Alltoallw_init","PMPI_Alltoallw_init.cold","PMPI_Attr_delete","PMPI_Attr_get","PMPI_Attr_get.cold","PMPI_Attr_put","PMPI_Barrier","PMPI_Barrier.cold","PMPI_Barrier_init","PMPI_Barrier_init.cold","PMPI_Bcast","PMPI_Bcast.cold","PMPI_Bcast_init","PMPI_Bcast_init.cold","PMPI_Bsend","PMPI_Bsend.cold","PMPI_Bsend_init","PMPI_Bsend_init.cold","PMPI_Buffer_attach","PMPI_Buffer_detach","PMPI_Cancel","PMPI_Cancel.cold","PMPI_Cart_coords","PMPI_Cart_coords.cold","PMPI_Cart_create","PMPI_Cart_create.cold","PMPI_Cart_get","PMPI_Cart_get.cold","PMPI_Cart_map","PMPI_Cart_map.cold","PMPI_Cart_rank","PMPI_Cart_rank.cold","PMPI_Cart_shift","PMPI_Cart_shift.cold","PMPI_Cart_sub","PMPI_Cart_sub.cold","PMPI_Cartdim_get","PMPI_Cartdim_get.cold","PMPI_Close_port","PMPI_Close_port.cold","PMPI_Comm_accept","PMPI_Comm_accept.cold","PMPI_Comm_c2f","PMPI_Comm_call_errhandler","PMPI_Comm_call_errhandler.cold","PMPI_Comm_compare","PMPI_Comm_compare.cold","PMPI_Comm_connect","PMPI_Comm_connect.cold","PMPI_Comm_create","PMPI_Comm_create.cold","PMPI_Comm_create_errhandler","PMPI_Comm_create_from_group","PMPI_Comm_create_group","PMPI_Comm_create_group.cold","PMPI_Comm_create_keyval","PMPI_Comm_delete_attr","PMPI_Comm_disconnect","PMPI_Comm_dup","PMPI_Comm_dup.cold","PMPI_Comm_dup_with_info","PMPI_Comm_dup_with_info.cold","PMPI_Comm_f2c","PMPI_Comm_free","PMPI_Comm_free.cold","PMPI_Comm_free_keyval","PMPI_Comm_get_attr","PMPI_Comm_get_errhandler","PMPI_Comm_get_info","PMPI_Comm_get_name","PMPI_Comm_get_parent","PMPI_Comm_group","PMPI_Comm_group.cold","PMPI_Comm_idup","PMPI_Comm_idup.cold","PMPI_Comm_idup_with_info","PMPI_Comm_idup_with_info.cold","PMPI_Comm_join","PMPI_Comm_join.cold","PMPI_Comm_rank","PMPI_Comm_remote_group","PMPI_Comm_remote_size","PMPI_Comm_set_attr","PMPI_Comm_set_errhandler","PMPI_Comm_set_info","PMPI_Comm_set_name","PMPI_Comm_set_name.cold","PMPI_Comm_size","PMPI_Comm_spawn","PMPI_Comm_spawn.cold","PMPI_Comm_spawn_multiple","PMPI_Comm_spawn_multiple.cold","PMPI_Comm_split","PMPI_Comm_split.cold","PMPI_Comm_split_type","PMPI_Comm_split_type.cold","PMPI_Comm_test_inter","PMPI_Compare_and_swap","PMPI_Compare_and_swap.cold","PMPI_Dims_create","PMPI_Dist_graph_create","PMPI_Dist_graph_create.cold","PMPI_Dist_graph_create_adjacent","PMPI_Dist_graph_create_adjacent.cold","PMPI_Dist_graph_neighbors","PMPI_Dist_graph_neighbors.cold","PMPI_Dist_graph_neighbors_count","PMPI_Dist_graph_neighbors_count.cold","PMPI_Errhandler_c2f","PMPI_Errhandler_create","PMPI_Errhandler_f2c","PMPI_Errhandler_free","PMPI_Errhandler_get","PMPI_Errhandler_set","PMPI_Error_class","PMPI_Error_class.cold","PMPI_Error_string","PMPI_Error_string.cold","PMPI_Exscan","PMPI_Exscan.cold","PMPI_Exscan_init","PMPI_Exscan_init.cold","PMPI_Fetch_and_op","PMPI_Fetch_and_op.cold","PMPI_File_c2f","PMPI_File_call_errhandler","PMPI_File_call_errhandler.cold","PMPI_File_close","PMPI_File_close.cold","PMPI_File_create_errhandler","PMPI_File_delete","PMPI_File_delete.cold","PMPI_File_f2c","PMPI_File_get_amode","PMPI_File_get_amode.cold","PMPI_File_get_atomicity","PMPI_File_get_atomicity.cold","PMPI_File_get_byte_offset","PMPI_File_get_byte_offset.cold","PMPI_File_get_errhandler","PMPI_File_get_group","PMPI_File_get_group.cold","PMPI_File_get_info","PMPI_File_get_info.cold","PMPI_File_get_position","PMPI_File_get_position.cold","PMPI_File_get_position_shared","PMPI_File_get_position_shared.cold","PMPI_File_get_size","PMPI_File_get_size.cold","PMPI_File_get_type_extent","PMPI_File_get_type_extent.cold","PMPI_File_get_view","PMPI_File_get_view.cold","PMPI_File_iread","PMPI_File_iread.cold","PMPI_File_iread_all","PMPI_File_iread_all.cold","PMPI_File_iread_at","PMPI_File_iread_at.cold","PMPI_File_iread_at_all","PMPI_File_iread_at_all.cold","PMPI_File_iread_shared","PMPI_File_iread_shared.cold","PMPI_File_iwrite","PMPI_File_iwrite.cold","PMPI_File_iwrite_all","PMPI_File_iwrite_all.cold","PMPI_File_iwrite_at","PMPI_File_iwrite_at.cold","PMPI_File_iwrite_at_all","PMPI_File_iwrite_at_all.cold","PMPI_File_iwrite_shared","PMPI_File_iwrite_shared.cold","PMPI_File_open","PMPI_File_open.cold","PMPI_File_preallocate","PMPI_File_preallocate.cold","PMPI_File_read","PMPI_File_read.cold","PMPI_File_read_all","PMPI_File_read_all.cold","PMPI_File_read_all_begin","PMPI_File_read_all_begin.cold","PMPI_File_read_all_end","PMPI_File_read_all_end.cold","PMPI_File_read_at","PMPI_File_read_at.cold","PMPI_File_read_at_all","PMPI_File_read_at_all.cold","PMPI_File_read_at_all_begin","PMPI_File_read_at_all_begin.cold","PMPI_File_read_at_all_end","PMPI_File_read_at_all_end.cold","PMPI_File_read_ordered","PMPI_File_read_ordered.cold","PMPI_File_read_ordered_begin","PMPI_File_read_ordered_begin.cold","PMPI_File_read_ordered_end","PMPI_File_read_ordered_end.cold","PMPI_File_read_shared","PMPI_File_read_shared.cold","PMPI_File_seek","PMPI_File_seek.cold","PMPI_File_seek_shared","PMPI_File_seek_shared.cold","PMPI_File_set_atomicity","PMPI_File_set_atomicity.cold","PMPI_File_set_errhandler","PMPI_File_set_info","PMPI_File_set_info.cold","PMPI_File_set_size","PMPI_File_set_size.cold","PMPI_File_set_view","PMPI_File_set_view.cold","PMPI_File_sync","PMPI_File_sync.cold","PMPI_File_write","PMPI_File_write.cold","PMPI_File_write_all","PMPI_File_write_all.cold","PMPI_File_write_all_begin","PMPI_File_write_all_begin.cold","PMPI_File_write_all_end","PMPI_File_write_all_end.cold","PMPI_File_write_at","PMPI_File_write_at.cold","PMPI_File_write_at_all","PMPI_File_write_at_all.cold","PMPI_File_write_at_all_begin","PMPI_File_write_at_all_begin.cold","PMPI_File_write_at_all_end","PMPI_File_write_at_all_end.cold","PMPI_File_write_ordered","PMPI_File_write_ordered.cold","PMPI_File_write_ordered_begin","PMPI_File_write_ordered_begin.cold","PMPI_File_write_ordered_end","PMPI_File_write_ordered_end.cold","PMPI_File_write_shared","PMPI_File_write_shared.cold","PMPI_Finalize","PMPI_Finalized","PMPI_Free_mem","PMPI_Gather","PMPI_Gather.cold","PMPI_Gather_init","PMPI_Gather_init.cold","PMPI_Gatherv","PMPI_Gatherv.cold","PMPI_Gatherv_init","PMPI_Gatherv_init.cold","PMPI_Get","PMPI_Get.cold","PMPI_Get_accumulate","PMPI_Get_accumulate.cold","PMPI_Get_address","PMPI_Get_count","PMPI_Get_elements","PMPI_Get_elements_x","PMPI_Get_library_version","PMPI_Get_processor_name","PMPI_Get_version","PMPI_Graph_create","PMPI_Graph_create.cold","PMPI_Graph_get","PMPI_Graph_get.cold","PMPI_Graph_map","PMPI_Graph_map.cold","PMPI_Graph_neighbors","PMPI_Graph_neighbors.cold","PMPI_Graph_neighbors_count","PMPI_Graph_neighbors_count.cold","PMPI_Graphdims_get","PMPI_Graphdims_get.cold","PMPI_Grequest_complete","PMPI_Grequest_start","PMPI_Grequest_start.cold","PMPI_Group_c2f","PMPI_Group_compare","PMPI_Group_difference","PMPI_Group_difference.cold","PMPI_Group_excl","PMPI_Group_excl.cold","PMPI_Group_f2c","PMPI_Group_free","PMPI_Group_free.cold","PMPI_Group_from_session_pset","PMPI_Group_from_session_pset.cold","PMPI_Group_incl","PMPI_Group_incl.cold","PMPI_Group_intersection","PMPI_Group_intersection.cold","PMPI_Group_range_excl","PMPI_Group_range_excl.cold","PMPI_Group_range_incl","PMPI_Group_range_incl.cold","PMPI_Group_rank","PMPI_Group_size","PMPI_Group_translate_ranks","PMPI_Group_translate_ranks.cold","PMPI_Group_union","PMPI_Group_union.cold","PMPI_Iallgather","PMPI_Iallgather.cold","PMPI_Iallgatherv","PMPI_Iallgatherv.cold","PMPI_Iallreduce","PMPI_Iallreduce.cold","PMPI_Ialltoall","PMPI_Ialltoall.cold","PMPI_Ialltoallv","PMPI_Ialltoallv.cold","PMPI_Ialltoallw","PMPI_Ialltoallw.cold","PMPI_Ibarrier","PMPI_Ibarrier.cold","PMPI_Ibcast","PMPI_Ibcast.cold","PMPI_Ibsend","PMPI_Ibsend.cold","PMPI_Iexscan","PMPI_Iexscan.cold","PMPI_Igather","PMPI_Igather.cold","PMPI_Igatherv","PMPI_Igatherv.cold","PMPI_Improbe","PMPI_Improbe.cold","PMPI_Imrecv","PMPI_Imrecv.cold","PMPI_Ineighbor_allgather","PMPI_Ineighbor_allgather.cold","PMPI_Ineighbor_allgatherv","PMPI_Ineighbor_allgatherv.cold","PMPI_Ineighbor_alltoall","PMPI_Ineighbor_alltoall.cold","PMPI_Ineighbor_alltoallv","PMPI_Ineighbor_alltoallv.cold","PMPI_Ineighbor_alltoallw","PMPI_Ineighbor_alltoallw.cold","PMPI_Info_c2f","PMPI_Info_create","PMPI_Info_create_env","PMPI_Info_create_env.cold","PMPI_Info_delete","PMPI_Info_delete.cold","PMPI_Info_dup","PMPI_Info_dup.cold","PMPI_Info_f2c","PMPI_Info_free","PMPI_Info_free.cold","PMPI_Info_get","PMPI_Info_get.cold","PMPI_Info_get_nkeys","PMPI_Info_get_nkeys.cold","PMPI_Info_get_nthkey","PMPI_Info_get_nthkey.cold","PMPI_Info_get_string","PMPI_Info_get_string.cold","PMPI_Info_get_valuelen","PMPI_Info_get_valuelen.cold","PMPI_Info_set","PMPI_Info_set.cold","PMPI_Init","PMPI_Init.cold","PMPI_Init_thread","PMPI_Init_thread.cold","PMPI_Initialized","PMPI_Intercomm_create","PMPI_Intercomm_create.cold","PMPI_Intercomm_create_from_groups","PMPI_Intercomm_merge","PMPI_Intercomm_merge.cold","PMPI_Iprobe","PMPI_Iprobe.cold","PMPI_Irecv","PMPI_Irecv.cold","PMPI_Ireduce","PMPI_Ireduce.cold","PMPI_Ireduce_scatter","PMPI_Ireduce_scatter.cold","PMPI_Ireduce_scatter_block","PMPI_Ireduce_scatter_block.cold","PMPI_Irsend","PMPI_Irsend.cold","PMPI_Is_thread_main","PMPI_Iscan","PMPI_Iscan.cold","PMPI_Iscatter","PMPI_Iscatter.cold","PMPI_Iscatterv","PMPI_Iscatterv.cold","PMPI_Isend","PMPI_Isend.cold","PMPI_Isendrecv","PMPI_Isendrecv.cold","PMPI_Isendrecv_replace","PMPI_Isendrecv_replace.cold","PMPI_Issend","PMPI_Issend.cold","PMPI_Keyval_create","PMPI_Keyval_free","PMPI_Lookup_name","PMPI_Lookup_name.cold","PMPI_Message_c2f","PMPI_Message_f2c","PMPI_Mprobe","PMPI_Mprobe.cold","PMPI_Mrecv","PMPI_Mrecv.cold","PMPI_Neighbor_allgather","PMPI_Neighbor_allgather.cold","PMPI_Neighbor_allgather_init","PMPI_Neighbor_allgather_init.cold","PMPI_Neighbor_allgatherv","PMPI_Neighbor_allgatherv.cold","PMPI_Neighbor_allgatherv_init","PMPI_Neighbor_allgatherv_init.cold","PMPI_Neighbor_alltoall","PMPI_Neighbor_alltoall.cold","PMPI_Neighbor_alltoall_init","PMPI_Neighbor_alltoall_init.cold","PMPI_Neighbor_alltoallv","PMPI_Neighbor_alltoallv.cold","PMPI_Neighbor_alltoallv_init","PMPI_Neighbor_alltoallv_init.cold","PMPI_Neighbor_alltoallw","PMPI_Neighbor_alltoallw.cold","PMPI_Neighbor_alltoallw_init","PMPI_Neighbor_alltoallw_init.cold","PMPI_Op_c2f","PMPI_Op_commutative","PMPI_Op_create","PMPI_Op_f2c","PMPI_Op_free","PMPI_Open_port","PMPI_Open_port.cold","PMPI_Pack","PMPI_Pack.cold","PMPI_Pack_external","PMPI_Pack_external.cold","PMPI_Pack_external_size","PMPI_Pack_external_size.cold","PMPI_Pack_size","PMPI_Parrived","PMPI_Parrived.cold","PMPI_Pcontrol","PMPI_Pready","PMPI_Pready.cold","PMPI_Pready_list","PMPI_Pready_list.cold","PMPI_Pready_range","PMPI_Pready_range.cold","PMPI_Precv_init","PMPI_Precv_init.cold","PMPI_Probe","PMPI_Probe.cold","PMPI_Psend_init","PMPI_Psend_init.cold","PMPI_Publish_name","PMPI_Publish_name.cold","PMPI_Put","PMPI_Put.cold","PMPI_Query_thread","PMPI_Raccumulate","PMPI_Raccumulate.cold","PMPI_Recv","PMPI_Recv.cold","PMPI_Recv_init","PMPI_Recv_init.cold","PMPI_Reduce","PMPI_Reduce.cold","PMPI_Reduce_init","PMPI_Reduce_init.cold","PMPI_Reduce_local","PMPI_Reduce_local.cold","PMPI_Reduce_scatter","PMPI_Reduce_scatter.cold","PMPI_Reduce_scatter_block","PMPI_Reduce_scatter_block.cold","PMPI_Reduce_scatter_block_init","PMPI_Reduce_scatter_block_init.cold","PMPI_Reduce_scatter_init","PMPI_Reduce_scatter_init.cold","PMPI_Register_datarep","PMPI_Register_datarep.cold","PMPI_Request_c2f","PMPI_Request_f2c","PMPI_Request_free","PMPI_Request_free.cold","PMPI_Request_get_status","PMPI_Rget","PMPI_Rget.cold","PMPI_Rget_accumulate","PMPI_Rget_accumulate.cold","PMPI_Rput","PMPI_Rput.cold","PMPI_Rsend","PMPI_Rsend.cold","PMPI_Rsend_init","PMPI_Rsend_init.cold","PMPI_Scan","PMPI_Scan.cold","PMPI_Scan_init","PMPI_Scan_init.cold","PMPI_Scatter","PMPI_Scatter.cold","PMPI_Scatter_init","PMPI_Scatter_init.cold","PMPI_Scatterv","PMPI_Scatterv.cold","PMPI_Scatterv_init","PMPI_Scatterv_init.cold","PMPI_Send","PMPI_Send.cold","PMPI_Send_init","PMPI_Send_init.cold","PMPI_Sendrecv","PMPI_Sendrecv.cold","PMPI_Sendrecv_replace","PMPI_Sendrecv_replace.cold","PMPI_Session_c2f","PMPI_Session_call_errhandler","PMPI_Session_call_errhandler.cold","PMPI_Session_create_errhandler","PMPI_Session_f2c","PMPI_Session_finalize","PMPI_Session_finalize.cold","PMPI_Session_get_errhandler","PMPI_Session_get_errhandler.cold","PMPI_Session_get_info","PMPI_Session_get_nth_pset","PMPI_Session_get_nth_pset.cold","PMPI_Session_get_num_psets","PMPI_Session_get_num_psets.cold","PMPI_Session_get_pset_info","PMPI_Session_get_pset_info.cold","PMPI_Session_init","PMPI_Session_init.cold","PMPI_Session_set_errhandler","PMPI_Session_set_info","PMPI_Ssend","PMPI_Ssend.cold","PMPI_Ssend_init","PMPI_Ssend_init.cold","PMPI_Start","PMPI_Start.cold","PMPI_Startall","PMPI_Status_c2f","PMPI_Status_c2f08","PMPI_Status_f082c","PMPI_Status_f082f","PMPI_Status_f2c","PMPI_Status_f2f08","PMPI_Status_set_cancelled","PMPI_Status_set_elements","PMPI_Status_set_elements_x","PMPI_T_category_changed","PMPI_T_category_get_categories","PMPI_T_category_get_cvars","PMPI_T_category_get_index","PMPI_T_category_get_info","PMPI_T_category_get_num","PMPI_T_category_get_pvars","PMPI_T_cvar_get_index","PMPI_T_cvar_get_info","PMPI_T_cvar_get_num","PMPI_T_cvar_handle_alloc","PMPI_T_cvar_handle_free","PMPI_T_cvar_read","PMPI_T_cvar_write","PMPI_T_enum_get_info","PMPI_T_enum_get_item","PMPI_T_finalize","PMPI_T_init_thread","PMPI_T_pvar_get_index","PMPI_T_pvar_get_info","PMPI_T_pvar_get_num","PMPI_T_pvar_handle_alloc","PMPI_T_pvar_handle_free","PMPI_T_pvar_read","PMPI_T_pvar_readreset","PMPI_T_pvar_reset","PMPI_T_pvar_session_create","PMPI_T_pvar_session_free","PMPI_T_pvar_start","PMPI_T_pvar_stop","PMPI_T_pvar_write","PMPI_Test","PMPI_Test_cancelled","PMPI_Testall","PMPI_Testany","PMPI_Testsome","PMPI_Topo_test","PMPI_Type_c2f","PMPI_Type_commit","PMPI_Type_commit.cold","PMPI_Type_contiguous","PMPI_Type_contiguous.cold","PMPI_Type_create_darray","PMPI_Type_create_darray.cold","PMPI_Type_create_f90_complex","PMPI_Type_create_f90_complex.cold","PMPI_Type_create_f90_integer","PMPI_Type_create_f90_integer.cold","PMPI_Type_create_f90_real","PMPI_Type_create_f90_real.cold","PMPI_Type_create_hindexed","PMPI_Type_create_hindexed.cold","PMPI_Type_create_hindexed_block","PMPI_Type_create_hindexed_block.cold","PMPI_Type_create_hvector","PMPI_Type_create_hvector.cold","PMPI_Type_create_indexed_block","PMPI_Type_create_indexed_block.cold","PMPI_Type_create_keyval","PMPI_Type_create_keyval.cold","PMPI_Type_create_resized","PMPI_Type_create_resized.cold","PMPI_Type_create_struct","PMPI_Type_create_struct.cold","PMPI_Type_create_subarray","PMPI_Type_create_subarray.cold","PMPI_Type_delete_attr","PMPI_Type_dup","PMPI_Type_dup.cold","PMPI_Type_extent","PMPI_Type_f2c","PMPI_Type_free","PMPI_Type_free_keyval","PMPI_Type_get_attr","PMPI_Type_get_contents","PMPI_Type_get_envelope","PMPI_Type_get_envelope.cold","PMPI_Type_get_extent","PMPI_Type_get_extent_x","PMPI_Type_get_name","PMPI_Type_get_true_extent","PMPI_Type_get_true_extent_x","PMPI_Type_hindexed","PMPI_Type_hvector","PMPI_Type_indexed","PMPI_Type_indexed.cold","PMPI_Type_lb","PMPI_Type_match_size","PMPI_Type_set_attr","PMPI_Type_set_name","PMPI_Type_size","PMPI_Type_size_x","PMPI_Type_struct","PMPI_Type_ub","PMPI_Type_vector","PMPI_Type_vector.cold","PMPI_Unpack","PMPI_Unpack.cold","PMPI_Unpack_external","PMPI_Unpack_external.cold","PMPI_Unpublish_name","PMPI_Unpublish_name.cold","PMPI_Wait","PMPI_Waitall","PMPI_Waitany","PMPI_Waitsome","PMPI_Win_allocate","PMPI_Win_allocate_shared","PMPI_Win_allocate_shared.cold","PMPI_Win_attach","PMPI_Win_attach.cold","PMPI_Win_c2f","PMPI_Win_call_errhandler","PMPI_Win_call_errhandler.cold","PMPI_Win_complete","PMPI_Win_complete.cold","PMPI_Win_create","PMPI_Win_create_dynamic","PMPI_Win_create_errhandler","PMPI_Win_create_keyval","PMPI_Win_delete_attr","PMPI_Win_detach","PMPI_Win_detach.cold","PMPI_Win_f2c","PMPI_Win_fence","PMPI_Win_fence.cold","PMPI_Win_flush","PMPI_Win_flush.cold","PMPI_Win_flush_all","PMPI_Win_flush_all.cold","PMPI_Win_flush_local","PMPI_Win_flush_local.cold","PMPI_Win_flush_local_all","PMPI_Win_flush_local_all.cold","PMPI_Win_free","PMPI_Win_free.cold","PMPI_Win_free_keyval","PMPI_Win_get_attr","PMPI_Win_get_errhandler","PMPI_Win_get_group","PMPI_Win_get_group.cold","PMPI_Win_get_info","PMPI_Win_get_info.cold","PMPI_Win_get_name","PMPI_Win_get_name.cold","PMPI_Win_lock","PMPI_Win_lock.cold","PMPI_Win_lock_all","PMPI_Win_lock_all.cold","PMPI_Win_post","PMPI_Win_post.cold","PMPI_Win_set_attr","PMPI_Win_set_errhandler","PMPI_Win_set_info","PMPI_Win_set_info.cold","PMPI_Win_set_name","PMPI_Win_set_name.cold","PMPI_Win_shared_query","PMPI_Win_shared_query.cold","PMPI_Win_start","PMPI_Win_start.cold","PMPI_Win_sync","PMPI_Win_sync.cold","PMPI_Win_test","PMPI_Win_test.cold","PMPI_Win_unlock","PMPI_Win_unlock.cold","PMPI_Win_unlock_all","PMPI_Win_unlock_all.cold","PMPI_Win_wait","PMPI_Win_wait.cold","PMPI_Wtick","PMPI_Wtime","PQ_adjustElementKey","PQ_adjustKey","PQ_decreaseElementKey","PQ_decreaseKey","PQ_delete","PQ_deleteElement","PQ_deleteMax","PQ_deleteMaxElement","PQ_exit","PQ_findMaxElement","PQ_findMaxKey","PQ_free","PQ_increaseElementKey","PQ_increaseKey","PQ_init","PQ_insert","PQ_insertElement","PQ_isEmpty","V_OUTPUT_ERR","__SENDER_BASED_METHOD_COPY","__do_global_dtors_aux","__muldc3","__mulsc3","__mulxc3","__ompi_datatype_allocate","__ompi_datatype_create_from_args","__ompi_datatype_create_from_packed_description.isra.0","__ompi_datatype_pack_description.isra.0","__ompi_datatype_release","_convert_process_name_to_string:0x84d30","_convert_process_name_to_string:0x88400","_convert_string_to_jobid","_convert_string_to_process_name:0x84b80","_convert_string_to_process_name:0x88410","_jobid_print_for_opal","_mca_topo_base_select.part.0","_process_name_compare:0x849c0","_process_name_compare:0x88420","_process_name_print_for_opal:0x84790","_process_name_print_for_opal:0x88450","_release_fn","_vpid_print_for_opal","adapt_close","adapt_constant_reduce_context_construct","adapt_constant_reduce_context_destruct","adapt_module_construct","adapt_module_destruct","adapt_module_enable","adapt_open","adapt_register","alloc_window","append_frag_to_list","attr_subsys_construct","attr_subsys_construct.cold","attr_subsys_destruct","attribute_key_value_construct","avail_coll_compare","avail_io_compare:0x179350","avail_io_compare:0x1799d0","avail_op_compare","avx_component_close","avx_component_init_query","avx_component_op_query","avx_component_open","avx_component_register","backend_abort_aggregate","backend_abort_no_aggregate","basic_register","block","bootstrap_comm","btl_bandwidth_compare","btl_exclusivity_compare","btl_latency_sort_fn","buffer_cleanup","build_level_topology","build_level_topology.cold","build_process_tab_id","check","check_file","check_one_component","close_component","coll_base_comm_construct","coll_base_comm_destruct","coll_base_module_construct","coll_base_module_destruct","comm_method_string","compFunc","compare_attr_sequence","compare_ints","compare_pmix_proc","compare_ranks:0x1da9b0","compare_ranks:0x1ea3b0","compare_uint16_ts","complete_objs_callback","complete_vecs_callback","component_finalize","component_init","component_open","component_query","component_register","component_select","compute_gain","config_window","construct_peers","cost_calc","create_comm","create_dumb_tree","create_threads","create_win","cset2mapstr.constprop.0","cset2str.constprop.0","datatype_duplicate.isra.0","dbl_cmp_inc","delete_group_list","delete_query","delete_select","depth_first","deregister_tm_clones","destruct_topology_cache","dfs","display_sol","distance","dpm_convert.constprop.0","dpm_convert.constprop.1","dynamic_gen2_register","dynamic_register","era_agreement_comm_specific_constructor","era_agreement_comm_specific_destructor","era_agreement_info_constructor","era_agreement_info_destructor","era_bounce_event_cb","era_cb_fn","era_cb_fn.cold","era_check_status","era_combine_agreement_values","era_combine_agreement_values.cold","era_create_agreement_info","era_create_agreement_info.cold","era_decide","era_error_event_cb","era_iagree_req_complete_cb","era_iagree_req_complete_cb.cold","era_iagree_req_free","era_mark_process_failed","era_merge_new_dead_list","era_next_child","era_on_comm_rank_failure","era_tree_fn_binary","era_tree_fn_star","era_tree_fn_string","era_tree_remove_node","era_update_return_value","era_value_constructor","era_value_destructor","evhandler_dereg_callbk","evhandler_reg_callbk:0x7c580","evhandler_reg_callbk:0x884c0","f1","f2","fast_group","fd_event_cb","fd_heartbeat_rdma_cb","fd_heartbeat_recv_cb","fd_heartbeat_request.isra.0","fd_heartbeat_request_cb","fd_heartbeat_send.isra.0","fd_progress","fence_cbfunc","fence_release:0x820f0","fence_release:0x884b0","file_constructor","file_destructor","file_query","file_unquery","fill_null_pointers","fragment_sent_cb","frame_dummy","free_constraint_tree","free_list_child","free_objs_callback","free_tab_child","free_vecs_callback","ftagree_close","ftagree_register","generate_random_sol.isra.0","generate_work_units.constprop.0","generate_work_units.part.0","get_algorithm","get_dynamic_rule","get_module","get_print_name_buffer","get_rsrc_exists","group_list_asc","group_list_dsc","group_list_id","han_close","han_module_enable","han_open","han_register","hash_asc","hb_itor_search","ibcast_request_fini.isra.0","icompar","individual_register:0x16eff0","individual_register:0x21a490","info_constructor","info_destructor","init_by_array","init_query:0x17b980","init_query:0x21f830","init_query:0x233dc0","inter_register","io_base_request_constructor","ireduce_request_fini.isra.0","kpartition_build_level_topology.isra.0","libnbc_close","libnbc_comm_query","libnbc_init_query","libnbc_module_construct","libnbc_module_destruct","libnbc_module_enable","libnbc_open","libnbc_register","list_all_possible_groups","list_all_possible_groups.cold","lockedfile_register","match_one","mca_bml_base_btl_array_construct","mca_bml_base_btl_array_destruct","mca_bml_base_btl_array_reserve","mca_bml_base_close","mca_bml_base_endpoint_construct","mca_bml_base_endpoint_destruct","mca_bml_base_init","mca_bml_base_inited","mca_bml_base_open","mca_bml_base_register","mca_bml_r2_add_btl","mca_bml_r2_add_btls","mca_bml_r2_add_proc","mca_bml_r2_add_procs","mca_bml_r2_allocate_endpoint","mca_bml_r2_component_close","mca_bml_r2_component_fini","mca_bml_r2_component_init","mca_bml_r2_component_open","mca_bml_r2_component_register","mca_bml_r2_compute_endpoint_metrics","mca_bml_r2_compute_endpoint_metrics.cold","mca_bml_r2_del_btl","mca_bml_r2_del_proc_btl","mca_bml_r2_del_procs","mca_bml_r2_del_procs.cold","mca_bml_r2_endpoint_add_btl","mca_bml_r2_finalize","mca_bml_r2_register","mca_bml_r2_register_error","mca_coll_base_alltoall_intra_basic_inplace","mca_coll_base_alltoallv_intra_basic_inplace","mca_coll_base_colltype_to_str","mca_coll_base_comm_select","mca_coll_base_comm_unselect","mca_coll_base_find_available","mca_coll_base_name_to_colltype","mca_coll_base_reduce_local","mca_coll_basic_allgather_inter","mca_coll_basic_allgatherv_inter","mca_coll_basic_allreduce_inter","mca_coll_basic_allreduce_intra","mca_coll_basic_alltoall_inter","mca_coll_basic_alltoallv_inter","mca_coll_basic_alltoallw_inter","mca_coll_basic_alltoallw_intra","mca_coll_basic_alltoallw_intra_inplace.constprop.0","mca_coll_basic_barrier_inter_lin","mca_coll_basic_barrier_intra_log","mca_coll_basic_bcast_lin_inter","mca_coll_basic_bcast_log_inter","mca_coll_basic_bcast_log_intra","mca_coll_basic_comm_query","mca_coll_basic_exscan_inter","mca_coll_basic_exscan_intra","mca_coll_basic_gather_inter","mca_coll_basic_gatherv_inter","mca_coll_basic_gatherv_intra","mca_coll_basic_init_query","mca_coll_basic_module_enable","mca_coll_basic_neighbor_allgather","mca_coll_basic_neighbor_allgatherv","mca_coll_basic_neighbor_alltoall","mca_coll_basic_neighbor_alltoallv","mca_coll_basic_neighbor_alltoallw","mca_coll_basic_reduce_lin_inter","mca_coll_basic_reduce_log_inter","mca_coll_basic_reduce_log_intra","mca_coll_basic_reduce_scatter_block_inter","mca_coll_basic_reduce_scatter_block_intra","mca_coll_basic_reduce_scatter_inter","mca_coll_basic_reduce_scatter_intra","mca_coll_basic_scan_intra","mca_coll_basic_scatter_inter","mca_coll_basic_scatterv_inter","mca_coll_basic_scatterv_intra","mca_coll_ftagree_comm_query","mca_coll_ftagree_construct","mca_coll_ftagree_era_comm_finalize","mca_coll_ftagree_era_comm_init","mca_coll_ftagree_era_finalize","mca_coll_ftagree_era_init","mca_coll_ftagree_era_inter","mca_coll_ftagree_era_intra","mca_coll_ftagree_eta_intra","mca_coll_ftagree_iera_intra","mca_coll_ftagree_iera_intra.cold","mca_coll_ftagree_init_query","mca_coll_ftagree_module_construct","mca_coll_ftagree_module_destruct","mca_coll_ftagree_module_enable","mca_coll_han_algorithm_id_is_valid","mca_coll_han_algorithm_id_to_fn","mca_coll_han_algorithm_id_to_name","mca_coll_han_algorithm_name_to_id","mca_coll_han_allgather_intra","mca_coll_han_allgather_intra_dynamic","mca_coll_han_allgather_intra_simple","mca_coll_han_allgather_lb_task","mca_coll_han_allgather_lg_task","mca_coll_han_allgather_uag_task","mca_coll_han_allgatherv_intra_dynamic","mca_coll_han_allreduce_intra","mca_coll_han_allreduce_intra_dynamic","mca_coll_han_allreduce_intra_simple","mca_coll_han_allreduce_reproducible","mca_coll_han_allreduce_reproducible_decision","mca_coll_han_allreduce_t0_task","mca_coll_han_allreduce_t1_task","mca_coll_han_allreduce_t2_task","mca_coll_han_allreduce_t3_task","mca_coll_han_barrier_intra_dynamic","mca_coll_han_barrier_intra_simple","mca_coll_han_bcast_intra","mca_coll_han_bcast_intra_dynamic","mca_coll_han_bcast_intra_simple","mca_coll_han_bcast_t0_task","mca_coll_han_bcast_t1_task","mca_coll_han_comm_create","mca_coll_han_comm_create_new","mca_coll_han_comm_query","mca_coll_han_component_name_to_id","mca_coll_han_dump_dynamic_rules","mca_coll_han_free_algorithms","mca_coll_han_free_dynamic_rules","mca_coll_han_gather_intra","mca_coll_han_gather_intra_dynamic","mca_coll_han_gather_intra_simple","mca_coll_han_gather_lg_task","mca_coll_han_gather_ug_task","mca_coll_han_get_all_coll_modules","mca_coll_han_init_algorithms","mca_coll_han_init_dynamic_rules","mca_coll_han_init_query","mca_coll_han_is_coll_dynamic_implemented","mca_coll_han_module_construct","mca_coll_han_module_destruct","mca_coll_han_module_disable","mca_coll_han_reduce_intra","mca_coll_han_reduce_intra_dynamic","mca_coll_han_reduce_intra_simple","mca_coll_han_reduce_reproducible","mca_coll_han_reduce_reproducible_decision","mca_coll_han_reduce_t0_task","mca_coll_han_reduce_t1_task","mca_coll_han_scatter_intra","mca_coll_han_scatter_intra_dynamic","mca_coll_han_scatter_intra_simple","mca_coll_han_scatter_ls_task","mca_coll_han_scatter_us_task","mca_coll_han_topo_init","mca_coll_han_topo_lvl_name_to_id","mca_coll_han_topo_lvl_to_str","mca_coll_inter_allgather_inter","mca_coll_inter_allgatherv_inter","mca_coll_inter_allreduce_inter","mca_coll_inter_bcast_inter","mca_coll_inter_comm_query","mca_coll_inter_gather_inter","mca_coll_inter_gatherv_inter","mca_coll_inter_init_query","mca_coll_inter_module_construct","mca_coll_inter_module_destruct","mca_coll_inter_module_enable","mca_coll_inter_reduce_inter","mca_coll_inter_scatter_inter","mca_coll_inter_scatterv_inter","mca_coll_monitoring_allgather","mca_coll_monitoring_allgatherv","mca_coll_monitoring_allreduce","mca_coll_monitoring_alltoall","mca_coll_monitoring_alltoallv","mca_coll_monitoring_alltoallw","mca_coll_monitoring_barrier","mca_coll_monitoring_bcast","mca_coll_monitoring_component_close","mca_coll_monitoring_component_init","mca_coll_monitoring_component_open","mca_coll_monitoring_component_query","mca_coll_monitoring_component_register","mca_coll_monitoring_exscan","mca_coll_monitoring_gather","mca_coll_monitoring_gatherv","mca_coll_monitoring_iallgather","mca_coll_monitoring_iallgatherv","mca_coll_monitoring_iallreduce","mca_coll_monitoring_ialltoall","mca_coll_monitoring_ialltoallv","mca_coll_monitoring_ialltoallw","mca_coll_monitoring_ibarrier","mca_coll_monitoring_ibcast","mca_coll_monitoring_iexscan","mca_coll_monitoring_igather","mca_coll_monitoring_igatherv","mca_coll_monitoring_ineighbor_allgather","mca_coll_monitoring_ineighbor_allgatherv","mca_coll_monitoring_ineighbor_alltoall","mca_coll_monitoring_ineighbor_alltoallv","mca_coll_monitoring_ineighbor_alltoallw","mca_coll_monitoring_ireduce","mca_coll_monitoring_ireduce_scatter","mca_coll_monitoring_ireduce_scatter_block","mca_coll_monitoring_iscan","mca_coll_monitoring_iscatter","mca_coll_monitoring_iscatterv","mca_coll_monitoring_module_disable","mca_coll_monitoring_module_enable","mca_coll_monitoring_neighbor_allgather","mca_coll_monitoring_neighbor_allgatherv","mca_coll_monitoring_neighbor_alltoall","mca_coll_monitoring_neighbor_alltoallv","mca_coll_monitoring_neighbor_alltoallw","mca_coll_monitoring_reduce","mca_coll_monitoring_reduce_scatter","mca_coll_monitoring_reduce_scatter_block","mca_coll_monitoring_scan","mca_coll_monitoring_scatter","mca_coll_monitoring_scatterv","mca_coll_self_allgather_intra","mca_coll_self_allgatherv_intra","mca_coll_self_allreduce_intra","mca_coll_self_alltoall_intra","mca_coll_self_alltoallv_intra","mca_coll_self_alltoallw_intra","mca_coll_self_barrier_intra","mca_coll_self_bcast_intra","mca_coll_self_comm_query","mca_coll_self_exscan_intra","mca_coll_self_gather_intra","mca_coll_self_gatherv_intra","mca_coll_self_init_query","mca_coll_self_module_enable","mca_coll_self_reduce_intra","mca_coll_self_reduce_scatter_intra","mca_coll_self_scan_intra","mca_coll_self_scatter_intra","mca_coll_self_scatterv_intra","mca_coll_sm_allreduce_intra","mca_coll_sm_barrier_intra","mca_coll_sm_bcast_intra","mca_coll_sm_comm_query","mca_coll_sm_init_query","mca_coll_sm_module_construct","mca_coll_sm_module_destruct","mca_coll_sm_module_disable","mca_coll_sm_reduce_intra","mca_coll_sync_bcast","mca_coll_sync_comm_query","mca_coll_sync_exscan","mca_coll_sync_gather","mca_coll_sync_gatherv","mca_coll_sync_init_query","mca_coll_sync_module_construct","mca_coll_sync_module_destruct","mca_coll_sync_module_enable","mca_coll_sync_reduce","mca_coll_sync_reduce_scatter","mca_coll_sync_scan","mca_coll_sync_scatter","mca_coll_sync_scatterv","mca_coll_task_constructor","mca_coll_task_destructor","mca_coll_tuned_module_construct","mca_comm_cid_context_alloc","mca_comm_cid_context_construct","mca_comm_cid_context_destruct","mca_common_monitoring_add_procs","mca_common_monitoring_coll_a2a","mca_common_monitoring_coll_a2o","mca_common_monitoring_coll_cache_name","mca_common_monitoring_coll_cond_release","mca_common_monitoring_coll_finalize","mca_common_monitoring_coll_flush","mca_common_monitoring_coll_flush_all","mca_common_monitoring_coll_get_a2a_count","mca_common_monitoring_coll_get_a2a_size","mca_common_monitoring_coll_get_a2o_count","mca_common_monitoring_coll_get_a2o_size","mca_common_monitoring_coll_get_o2a_count","mca_common_monitoring_coll_get_o2a_size","mca_common_monitoring_coll_messages_notify","mca_common_monitoring_coll_new","mca_common_monitoring_coll_o2a","mca_common_monitoring_coll_release","mca_common_monitoring_coll_reset","mca_common_monitoring_comm_size_notify","mca_common_monitoring_finalize","mca_common_monitoring_flush.part.0","mca_common_monitoring_get_coll_count","mca_common_monitoring_get_coll_size","mca_common_monitoring_get_flush","mca_common_monitoring_get_osc_recv_count","mca_common_monitoring_get_osc_recv_size","mca_common_monitoring_get_osc_sent_count","mca_common_monitoring_get_osc_sent_size","mca_common_monitoring_get_pml_count","mca_common_monitoring_get_pml_size","mca_common_monitoring_init","mca_common_monitoring_notify_flush","mca_common_monitoring_output","mca_common_monitoring_record_coll","mca_common_monitoring_record_osc","mca_common_monitoring_record_pml","mca_common_monitoring_register","mca_common_monitoring_set_flush","mca_common_ompio_alloc_buf","mca_common_ompio_base_file_read_all","mca_common_ompio_buffer_alloc_fini","mca_common_ompio_buffer_alloc_init","mca_common_ompio_buffer_alloc_seg","mca_common_ompio_buffer_free_seg","mca_common_ompio_build_io_array","mca_common_ompio_cart_based_grouping","mca_common_ompio_check_gpu_buf","mca_common_ompio_create_groups","mca_common_ompio_create_incomplete_file_handle","mca_common_ompio_decode_datatype","mca_common_ompio_empty_print_queue","mca_common_ompio_file_close","mca_common_ompio_file_delete","mca_common_ompio_file_get_position","mca_common_ompio_file_get_size","mca_common_ompio_file_iread","mca_common_ompio_file_iread_all","mca_common_ompio_file_iread_at","mca_common_ompio_file_iread_at_all","mca_common_ompio_file_iwrite","mca_common_ompio_file_iwrite_all","mca_common_ompio_file_iwrite_at","mca_common_ompio_file_iwrite_at_all","mca_common_ompio_file_open","mca_common_ompio_file_read","mca_common_ompio_file_read_all","mca_common_ompio_file_read_all.part.0","mca_common_ompio_file_read_at","mca_common_ompio_file_read_at_all","mca_common_ompio_file_read_pipelined","mca_common_ompio_file_write","mca_common_ompio_file_write_all","mca_common_ompio_file_write_all.part.0","mca_common_ompio_file_write_at","mca_common_ompio_file_write_at_all","mca_common_ompio_file_write_pipelined","mca_common_ompio_finalize_initial_grouping","mca_common_ompio_finalize_split","mca_common_ompio_forced_grouping","mca_common_ompio_full_print_queue","mca_common_ompio_fview_based_grouping","mca_common_ompio_initialize_print_queue","mca_common_ompio_merge_groups","mca_common_ompio_merge_initial_groups","mca_common_ompio_prepare_to_group","mca_common_ompio_print_time_info","mca_common_ompio_progress","mca_common_ompio_register_print_entry","mca_common_ompio_register_progress","mca_common_ompio_release_buf","mca_common_ompio_request_alloc","mca_common_ompio_request_cancel","mca_common_ompio_request_construct","mca_common_ompio_request_destruct","mca_common_ompio_request_fini","mca_common_ompio_request_free","mca_common_ompio_request_init","mca_common_ompio_retain_initial_groups","mca_common_ompio_set_aggregator_props","mca_common_ompio_set_callbacks","mca_common_ompio_set_explicit_offset","mca_common_ompio_set_file_defaults","mca_common_ompio_set_view","mca_common_ompio_simple_grouping","mca_common_ompio_split_a_group","mca_common_ompio_split_initial_groups","mca_common_ompio_unregister_print_entry","mca_fbtl_base_check_atomicity","mca_fbtl_base_file_select","mca_fbtl_base_file_unselect","mca_fbtl_base_find_available","mca_fbtl_posix_check_atomicity","mca_fbtl_posix_component_file_query","mca_fbtl_posix_component_file_unquery","mca_fbtl_posix_component_init_query","mca_fbtl_posix_ipreadv","mca_fbtl_posix_ipwritev","mca_fbtl_posix_lock","mca_fbtl_posix_module_finalize","mca_fbtl_posix_module_init","mca_fbtl_posix_preadv","mca_fbtl_posix_progress","mca_fbtl_posix_pwritev","mca_fbtl_posix_request_free","mca_fbtl_posix_unlock","mca_fcoll_base_component_lookup","mca_fcoll_base_file_select","mca_fcoll_base_file_unselect","mca_fcoll_base_find_available","mca_fcoll_base_query_table","mca_fcoll_dynamic_component_file_query","mca_fcoll_dynamic_component_file_unquery","mca_fcoll_dynamic_component_init_query","mca_fcoll_dynamic_file_read_all","mca_fcoll_dynamic_file_write_all","mca_fcoll_dynamic_gen2_break_file_view","mca_fcoll_dynamic_gen2_component_file_query","mca_fcoll_dynamic_gen2_component_file_unquery","mca_fcoll_dynamic_gen2_component_init_query","mca_fcoll_dynamic_gen2_file_read_all","mca_fcoll_dynamic_gen2_file_write_all","mca_fcoll_dynamic_gen2_get_configuration","mca_fcoll_dynamic_gen2_module_finalize","mca_fcoll_dynamic_gen2_module_init","mca_fcoll_dynamic_gen2_split_iov_array","mca_fcoll_dynamic_module_finalize","mca_fcoll_dynamic_module_init","mca_fcoll_individual_component_file_query","mca_fcoll_individual_component_file_unquery","mca_fcoll_individual_component_init_query","mca_fcoll_individual_file_read_all","mca_fcoll_individual_file_write_all","mca_fcoll_individual_module_finalize","mca_fcoll_individual_module_init","mca_fcoll_vulcan_break_file_view","mca_fcoll_vulcan_component_file_query","mca_fcoll_vulcan_component_file_unquery","mca_fcoll_vulcan_component_init_query","mca_fcoll_vulcan_file_read_all","mca_fcoll_vulcan_file_write_all","mca_fcoll_vulcan_get_configuration","mca_fcoll_vulcan_module_finalize","mca_fcoll_vulcan_module_init","mca_fcoll_vulcan_split_iov_array","mca_fs_base_file_close","mca_fs_base_file_delete","mca_fs_base_file_get_size","mca_fs_base_file_select","mca_fs_base_file_set_size","mca_fs_base_file_sync","mca_fs_base_file_unselect","mca_fs_base_find_available","mca_fs_base_get_file_amode","mca_fs_base_get_file_perm","mca_fs_base_get_fstype","mca_fs_base_get_mpi_err","mca_fs_base_get_parent_dir","mca_fs_base_get_real_filename.constprop.0","mca_fs_ufs_component_file_query","mca_fs_ufs_component_file_unquery","mca_fs_ufs_component_init_query","mca_fs_ufs_file_open","mca_fs_ufs_module_finalize","mca_fs_ufs_module_init","mca_io_base_delete","mca_io_base_delete.cold","mca_io_base_file_select","mca_io_base_file_select.cold","mca_io_base_file_select.localalias","mca_io_base_find_available","mca_io_base_open","mca_io_base_register_datarep","mca_io_ompio_file_close","mca_io_ompio_file_get_amode","mca_io_ompio_file_get_atomicity","mca_io_ompio_file_get_byte_offset","mca_io_ompio_file_get_position","mca_io_ompio_file_get_position_shared","mca_io_ompio_file_get_size","mca_io_ompio_file_get_type_extent","mca_io_ompio_file_get_view","mca_io_ompio_file_iread","mca_io_ompio_file_iread_all","mca_io_ompio_file_iread_at","mca_io_ompio_file_iread_at_all","mca_io_ompio_file_iread_shared","mca_io_ompio_file_iwrite","mca_io_ompio_file_iwrite_all","mca_io_ompio_file_iwrite_at","mca_io_ompio_file_iwrite_at_all","mca_io_ompio_file_iwrite_shared","mca_io_ompio_file_open","mca_io_ompio_file_preallocate","mca_io_ompio_file_read","mca_io_ompio_file_read_all","mca_io_ompio_file_read_all_begin","mca_io_ompio_file_read_all_end","mca_io_ompio_file_read_at","mca_io_ompio_file_read_at_all","mca_io_ompio_file_read_at_all_begin","mca_io_ompio_file_read_at_all_end","mca_io_ompio_file_read_ordered","mca_io_ompio_file_read_ordered_begin","mca_io_ompio_file_read_ordered_end","mca_io_ompio_file_read_shared","mca_io_ompio_file_seek","mca_io_ompio_file_seek_shared","mca_io_ompio_file_set_atomicity","mca_io_ompio_file_set_size","mca_io_ompio_file_set_view","mca_io_ompio_file_sync","mca_io_ompio_file_write","mca_io_ompio_file_write_all","mca_io_ompio_file_write_all_begin","mca_io_ompio_file_write_all_end","mca_io_ompio_file_write_at","mca_io_ompio_file_write_at_all","mca_io_ompio_file_write_at_all_begin","mca_io_ompio_file_write_at_all_end","mca_io_ompio_file_write_ordered","mca_io_ompio_file_write_ordered_begin","mca_io_ompio_file_write_ordered_end","mca_io_ompio_file_write_shared","mca_io_ompio_get_mca_parameter_value","mca_monitoring_coll_construct","mca_monitoring_coll_destruct","mca_osc_monitoring_component_finish","mca_osc_monitoring_component_init","mca_osc_monitoring_component_query","mca_osc_monitoring_component_register","mca_osc_monitoring_component_select","mca_part_base_close","mca_part_base_finalize","mca_part_base_open","mca_part_base_precv_request_construct","mca_part_base_prequest_construct","mca_part_base_progress","mca_part_base_psend_request_construct","mca_part_base_register","mca_part_base_select","mca_part_base_select.cold","mca_part_persist_component_close","mca_part_persist_component_fini","mca_part_persist_component_init","mca_part_persist_component_open","mca_part_persist_component_register","mca_part_persist_free:0x1ee0d0","mca_part_persist_free:0x1ee3e0","mca_part_persist_parrived","mca_part_persist_pready","mca_part_persist_precv_init","mca_part_persist_precv_request_construct","mca_part_persist_progress","mca_part_persist_psend_init","mca_part_persist_psend_request_construct","mca_part_persist_request_construct","mca_part_persist_request_destruct","mca_part_persist_start:0x1ed610","mca_part_persist_start:0x1edf30","mca_part_persist_start:0x1ee240","mca_pml_base_bsend_attach","mca_pml_base_bsend_detach","mca_pml_base_bsend_fini","mca_pml_base_bsend_init","mca_pml_base_bsend_request_alloc","mca_pml_base_bsend_request_alloc_buf","mca_pml_base_bsend_request_fini","mca_pml_base_bsend_request_free","mca_pml_base_bsend_request_start","mca_pml_base_close","mca_pml_base_finalize","mca_pml_base_open","mca_pml_base_pml_check_selected","mca_pml_base_pml_check_selected_impl","mca_pml_base_pml_selected","mca_pml_base_progress","mca_pml_base_recv_request_construct","mca_pml_base_recv_request_destruct","mca_pml_base_register","mca_pml_base_request_construct","mca_pml_base_revoke_comm","mca_pml_base_select","mca_pml_base_select.cold","mca_pml_base_send_request_construct","mca_pml_base_send_request_destruct","mca_pml_bsend_alloc_segment","mca_pml_cm_add_comm","mca_pml_cm_add_procs","mca_pml_cm_cancel","mca_pml_cm_component_close","mca_pml_cm_component_fini","mca_pml_cm_component_init","mca_pml_cm_component_open","mca_pml_cm_component_register","mca_pml_cm_del_comm","mca_pml_cm_del_procs","mca_pml_cm_dump","mca_pml_cm_enable","mca_pml_cm_improbe","mca_pml_cm_imrecv","mca_pml_cm_iprobe","mca_pml_cm_irecv","mca_pml_cm_irecv_init","mca_pml_cm_isend","mca_pml_cm_isend_init","mca_pml_cm_mprobe","mca_pml_cm_mrecv","mca_pml_cm_probe","mca_pml_cm_recv","mca_pml_cm_recv_fast_completion","mca_pml_cm_recv_request_completion","mca_pml_cm_recv_request_construct","mca_pml_cm_recv_request_free","mca_pml_cm_request_construct","mca_pml_cm_request_destruct","mca_pml_cm_send","mca_pml_cm_send_request_completion","mca_pml_cm_send_request_construct","mca_pml_cm_send_request_free","mca_pml_cm_start","mca_pml_monitoring_add_comm","mca_pml_monitoring_add_procs","mca_pml_monitoring_component_finish","mca_pml_monitoring_component_init","mca_pml_monitoring_component_open","mca_pml_monitoring_del_comm","mca_pml_monitoring_del_procs","mca_pml_monitoring_dump","mca_pml_monitoring_enable","mca_pml_monitoring_improbe","mca_pml_monitoring_imrecv","mca_pml_monitoring_iprobe","mca_pml_monitoring_irecv","mca_pml_monitoring_irecv_init","mca_pml_monitoring_isend","mca_pml_monitoring_isend_init","mca_pml_monitoring_mprobe","mca_pml_monitoring_mrecv","mca_pml_monitoring_probe","mca_pml_monitoring_recv","mca_pml_monitoring_revoke_comm","mca_pml_monitoring_send","mca_pml_monitoring_start","mca_pml_ob1_accelerator_add_ipc_support","mca_pml_ob1_accelerator_fini","mca_pml_ob1_accelerator_init","mca_pml_ob1_accelerator_need_buffers","mca_pml_ob1_add_comm","mca_pml_ob1_add_procs","mca_pml_ob1_com_btl_comp","mca_pml_ob1_comm_construct","mca_pml_ob1_comm_destruct","mca_pml_ob1_comm_init_size","mca_pml_ob1_comm_proc_construct","mca_pml_ob1_comm_proc_destruct","mca_pml_ob1_comm_size_notify","mca_pml_ob1_component_close","mca_pml_ob1_component_fini","mca_pml_ob1_component_init","mca_pml_ob1_component_open","mca_pml_ob1_component_register","mca_pml_ob1_control_completion","mca_pml_ob1_copy_frag_completion","mca_pml_ob1_del_comm","mca_pml_ob1_del_procs","mca_pml_ob1_dump","mca_pml_ob1_dump_cant_match","mca_pml_ob1_dump_frag_list","mca_pml_ob1_dump_hdr","mca_pml_ob1_enable","mca_pml_ob1_enable_progress","mca_pml_ob1_error_handler","mca_pml_ob1_frag_completion","mca_pml_ob1_get_dtoh_stream","mca_pml_ob1_get_htod_stream","mca_pml_ob1_get_posted_recvq_size","mca_pml_ob1_get_unex_msgq_size","mca_pml_ob1_handle_cid","mca_pml_ob1_improbe","mca_pml_ob1_imrecv","mca_pml_ob1_imrecv.cold","mca_pml_ob1_iprobe","mca_pml_ob1_irecv","mca_pml_ob1_irecv_init","mca_pml_ob1_isend","mca_pml_ob1_isend_init","mca_pml_ob1_match_completion_free","mca_pml_ob1_merge_cant_match","mca_pml_ob1_mprobe","mca_pml_ob1_mrecv","mca_pml_ob1_mrecv.cold","mca_pml_ob1_peer_create","mca_pml_ob1_probe","mca_pml_ob1_process_pending_packets","mca_pml_ob1_process_pending_rdma","mca_pml_ob1_progress","mca_pml_ob1_progress_one_htod_event","mca_pml_ob1_put_completion:0x2057a0","mca_pml_ob1_put_completion:0x20bf00","mca_pml_ob1_rdma_btls","mca_pml_ob1_rdma_btls.cold","mca_pml_ob1_rdma_cuda_btls","mca_pml_ob1_rdma_cuda_btls.cold","mca_pml_ob1_rdma_frag_constructor","mca_pml_ob1_rdma_pipeline_btls","mca_pml_ob1_rdma_pipeline_btls.cold","mca_pml_ob1_rdma_pipeline_btls_count","mca_pml_ob1_rdma_pipeline_btls_count.cold","mca_pml_ob1_record_htod_event","mca_pml_ob1_recv","mca_pml_ob1_recv_ctl_completion","mca_pml_ob1_recv_frag_callback_ack","mca_pml_ob1_recv_frag_callback_cid","mca_pml_ob1_recv_frag_callback_fin","mca_pml_ob1_recv_frag_callback_frag","mca_pml_ob1_recv_frag_callback_match","mca_pml_ob1_recv_frag_callback_put","mca_pml_ob1_recv_frag_callback_rget","mca_pml_ob1_recv_frag_callback_rndv","mca_pml_ob1_recv_frag_match.isra.0","mca_pml_ob1_recv_frag_match_proc.isra.0","mca_pml_ob1_recv_req_start","mca_pml_ob1_recv_request_ack.isra.0","mca_pml_ob1_recv_request_ack_send_btl","mca_pml_ob1_recv_request_cancel","mca_pml_ob1_recv_request_construct","mca_pml_ob1_recv_request_destruct","mca_pml_ob1_recv_request_frag_copy_finished","mca_pml_ob1_recv_request_frag_copy_start","mca_pml_ob1_recv_request_free","mca_pml_ob1_recv_request_get_frag","mca_pml_ob1_recv_request_get_frag_failed","mca_pml_ob1_recv_request_matched_probe","mca_pml_ob1_recv_request_process_pending","mca_pml_ob1_recv_request_progress_frag","mca_pml_ob1_recv_request_progress_match","mca_pml_ob1_recv_request_progress_rget","mca_pml_ob1_recv_request_progress_rget.cold","mca_pml_ob1_recv_request_progress_rndv","mca_pml_ob1_recv_request_put_frag","mca_pml_ob1_recv_request_schedule_once","mca_pml_ob1_revoke_comm","mca_pml_ob1_revoke_comm.localalias","mca_pml_ob1_rget_completion:0x204ec0","mca_pml_ob1_rget_completion:0x209c10","mca_pml_ob1_rndv_completion","mca_pml_ob1_seg_alloc","mca_pml_ob1_seg_free","mca_pml_ob1_send","mca_pml_ob1_send_cid","mca_pml_ob1_send_control_any","mca_pml_ob1_send_control_btl","mca_pml_ob1_send_ctl_completion","mca_pml_ob1_send_fin","mca_pml_ob1_send_inline.constprop.0","mca_pml_ob1_send_request_cancel","mca_pml_ob1_send_request_construct","mca_pml_ob1_send_request_copy_in_out","mca_pml_ob1_send_request_destruct","mca_pml_ob1_send_request_free","mca_pml_ob1_send_request_process_pending","mca_pml_ob1_send_request_put","mca_pml_ob1_send_request_put_frag","mca_pml_ob1_send_request_put_frag_failed","mca_pml_ob1_send_request_schedule_once","mca_pml_ob1_send_request_start_accelerator","mca_pml_ob1_send_request_start_buffered","mca_pml_ob1_send_request_start_copy","mca_pml_ob1_send_request_start_prepare","mca_pml_ob1_send_request_start_rdma","mca_pml_ob1_send_request_start_rndv","mca_pml_ob1_send_request_start_seq.constprop.0","mca_pml_ob1_set_allow_overtake","mca_pml_ob1_start","mca_pml_v_component_close","mca_pml_v_component_finalize","mca_pml_v_component_init","mca_pml_v_component_open","mca_pml_v_component_parasite_close","mca_pml_v_component_parasite_finalize","mca_pml_v_component_register","mca_pml_v_enable","mca_sharedfp_base_close","mca_sharedfp_base_file_select","mca_sharedfp_base_file_unselect","mca_sharedfp_base_find_available","mca_sharedfp_base_open","mca_sharedfp_individual_assign_globaloffset","mca_sharedfp_individual_collaborate_data","mca_sharedfp_individual_component_file_query","mca_sharedfp_individual_component_file_unquery","mca_sharedfp_individual_component_init_query","mca_sharedfp_individual_create_buff","mca_sharedfp_individual_file_close","mca_sharedfp_individual_file_open","mca_sharedfp_individual_get_position","mca_sharedfp_individual_get_timestamps_and_reclengths","mca_sharedfp_individual_getoffset","mca_sharedfp_individual_gettime","mca_sharedfp_individual_insert_headnode","mca_sharedfp_individual_insert_metadata","mca_sharedfp_individual_iread","mca_sharedfp_individual_iwrite","mca_sharedfp_individual_module_finalize","mca_sharedfp_individual_module_init","mca_sharedfp_individual_read","mca_sharedfp_individual_read_ordered","mca_sharedfp_individual_read_ordered_begin","mca_sharedfp_individual_read_ordered_end","mca_sharedfp_individual_seek","mca_sharedfp_individual_sort_timestamps","mca_sharedfp_individual_write","mca_sharedfp_individual_write_metadata_file","mca_sharedfp_individual_write_ordered","mca_sharedfp_individual_write_ordered_begin","mca_sharedfp_individual_write_ordered_end","mca_sharedfp_lockedfile_component_file_query","mca_sharedfp_lockedfile_component_file_unquery","mca_sharedfp_lockedfile_component_init_query","mca_sharedfp_lockedfile_file_close","mca_sharedfp_lockedfile_file_open","mca_sharedfp_lockedfile_get_position","mca_sharedfp_lockedfile_iread","mca_sharedfp_lockedfile_iwrite","mca_sharedfp_lockedfile_module_finalize","mca_sharedfp_lockedfile_module_init","mca_sharedfp_lockedfile_read","mca_sharedfp_lockedfile_read_ordered","mca_sharedfp_lockedfile_read_ordered.cold","mca_sharedfp_lockedfile_read_ordered_begin","mca_sharedfp_lockedfile_read_ordered_begin.cold","mca_sharedfp_lockedfile_read_ordered_end","mca_sharedfp_lockedfile_request_position","mca_sharedfp_lockedfile_seek","mca_sharedfp_lockedfile_write","mca_sharedfp_lockedfile_write_ordered","mca_sharedfp_lockedfile_write_ordered.cold","mca_sharedfp_lockedfile_write_ordered_begin","mca_sharedfp_lockedfile_write_ordered_begin.cold","mca_sharedfp_lockedfile_write_ordered_end","mca_sharedfp_sm_component_file_query","mca_sharedfp_sm_component_file_unquery","mca_sharedfp_sm_component_init_query","mca_sharedfp_sm_file_close","mca_sharedfp_sm_file_open","mca_sharedfp_sm_get_position","mca_sharedfp_sm_iread","mca_sharedfp_sm_iwrite","mca_sharedfp_sm_module_finalize","mca_sharedfp_sm_module_init","mca_sharedfp_sm_read","mca_sharedfp_sm_read_ordered","mca_sharedfp_sm_read_ordered.cold","mca_sharedfp_sm_read_ordered_begin","mca_sharedfp_sm_read_ordered_begin.cold","mca_sharedfp_sm_read_ordered_end","mca_sharedfp_sm_request_position","mca_sharedfp_sm_seek","mca_sharedfp_sm_write","mca_sharedfp_sm_write_ordered","mca_sharedfp_sm_write_ordered.cold","mca_sharedfp_sm_write_ordered_begin","mca_sharedfp_sm_write_ordered_begin.cold","mca_sharedfp_sm_write_ordered_end","mca_topo_base_cart_coords","mca_topo_base_cart_create","mca_topo_base_cart_get","mca_topo_base_cart_map","mca_topo_base_cart_rank","mca_topo_base_cart_shift","mca_topo_base_cart_sub","mca_topo_base_cartdim_get","mca_topo_base_close","mca_topo_base_comm_cart_2_2_0_construct","mca_topo_base_comm_cart_2_2_0_destruct","mca_topo_base_comm_dist_graph_2_2_0_construct","mca_topo_base_comm_dist_graph_2_2_0_destruct","mca_topo_base_comm_graph_2_2_0_construct","mca_topo_base_comm_graph_2_2_0_destruct","mca_topo_base_comm_select","mca_topo_base_dist_graph_create","mca_topo_base_dist_graph_create_adjacent","mca_topo_base_dist_graph_distribute","mca_topo_base_dist_graph_neighbors","mca_topo_base_dist_graph_neighbors_count","mca_topo_base_find_available","mca_topo_base_graph_create","mca_topo_base_graph_get","mca_topo_base_graph_map","mca_topo_base_graph_neighbors","mca_topo_base_graph_neighbors_count","mca_topo_base_graphdims_get","mca_topo_base_group_select","mca_topo_base_lazy_init","mca_topo_base_module_construct","mca_topo_base_module_destruct","mca_topo_base_neighbor_count","mca_topo_base_open","mca_topo_basic_query","mca_topo_treematch_component_register","mca_topo_treematch_dist_graph_create","mca_topo_treematch_dist_graph_create.cold","mca_topo_treematch_query","mca_vprotocol_base_close","mca_vprotocol_base_open","mca_vprotocol_base_parasite","mca_vprotocol_base_request_parasite","mca_vprotocol_base_select","mca_vprotocol_base_set_include_list","mca_vprotocol_pessimist_add_comm","mca_vprotocol_pessimist_add_procs","mca_vprotocol_pessimist_component_close","mca_vprotocol_pessimist_component_finalize","mca_vprotocol_pessimist_component_init","mca_vprotocol_pessimist_component_open","mca_vprotocol_pessimist_component_register","mca_vprotocol_pessimist_del_comm","mca_vprotocol_pessimist_del_procs","mca_vprotocol_pessimist_dump","mca_vprotocol_pessimist_enable","mca_vprotocol_pessimist_iprobe","mca_vprotocol_pessimist_irecv","mca_vprotocol_pessimist_isend","mca_vprotocol_pessimist_isend.cold","mca_vprotocol_pessimist_probe","mca_vprotocol_pessimist_recv","mca_vprotocol_pessimist_request_free","mca_vprotocol_pessimist_send","mca_vprotocol_pessimist_send.cold","mca_vprotocol_pessimist_start","mca_vprotocol_pessimist_test","mca_vprotocol_pessimist_test_all","mca_vprotocol_pessimist_test_any","mca_vprotocol_pessimist_test_some","mca_vprotocol_pessimist_wait_any","mca_vprotocol_pessimist_wait_some","model_callback","module_constructor","module_constructor_1_0_0","mpi_aint_add_f90","mpi_aint_add_f90_","mpi_aint_add_f90__","mpi_aint_diff_f90","mpi_aint_diff_f90_","mpi_aint_diff_f90__","mpi_comm_dup_fn","mpi_comm_dup_fn_","mpi_comm_dup_fn__","mpi_comm_null_copy_fn","mpi_comm_null_copy_fn_","mpi_comm_null_copy_fn__","mpi_comm_null_delete_fn","mpi_comm_null_delete_fn_","mpi_comm_null_delete_fn__","mpi_conversion_fn_null","mpi_conversion_fn_null_","mpi_conversion_fn_null__","mpi_conversion_fn_null_f","mpi_dup_fn","mpi_dup_fn_","mpi_dup_fn__","mpi_null_copy_fn","mpi_null_copy_fn_","mpi_null_copy_fn__","mpi_null_delete_fn","mpi_null_delete_fn_","mpi_null_delete_fn__","mpi_type_dup_fn","mpi_type_dup_fn_","mpi_type_dup_fn__","mpi_type_null_copy_fn","mpi_type_null_copy_fn_","mpi_type_null_copy_fn__","mpi_type_null_delete_fn","mpi_type_null_delete_fn_","mpi_type_null_delete_fn__","mpi_win_dup_fn","mpi_win_dup_fn_","mpi_win_dup_fn__","mpi_win_null_copy_fn","mpi_win_null_copy_fn_","mpi_win_null_copy_fn__","mpi_win_null_delete_fn","mpi_win_null_delete_fn_","mpi_win_null_delete_fn__","mpi_wtick_f90","mpi_wtick_f90_","mpi_wtick_f90__","mpi_wtime_f90","mpi_wtime_f90_","mpi_wtime_f90__","msg_down","msg_down.cold","msg_up","mycompar","myfn","nb_leaves","nb_lines","nbc_allgather_init","nbc_allgather_inter_init","nbc_allgatherv_init","nbc_allgatherv_inter_init","nbc_allreduce_init","nbc_allreduce_init.cold","nbc_allreduce_inter_init","nbc_alltoall_init","nbc_alltoall_inter_init","nbc_alltoallv_init","nbc_alltoallv_inter_init","nbc_alltoallw_init","nbc_alltoallw_inter_init","nbc_barrier_init","nbc_barrier_inter_init","nbc_bcast_init","nbc_bcast_inter_init","nbc_exscan_init","nbc_gather_init","nbc_gather_inter_init","nbc_gatherv_init","nbc_gatherv_inter_init","nbc_neighbor_allgather_init","nbc_neighbor_allgatherv_init","nbc_neighbor_alltoall_init","nbc_neighbor_alltoallv_init","nbc_neighbor_alltoallw_init","nbc_reduce_init","nbc_reduce_inter_init","nbc_reduce_scatter_block_init","nbc_reduce_scatter_block_inter_init","nbc_reduce_scatter_init","nbc_reduce_scatter_inter_init","nbc_req_constructor","nbc_scan_init","nbc_scatter_init","nbc_scatter_inter_init","nbc_scatterv_init","nbc_scatterv_inter_init","nbc_schedule_constructor","nbc_schedule_destructor","next_bucket_elem","node_height","node_mheight","node_pathlen","ompi_attr_copy_all","ompi_attr_create_keyval","ompi_attr_create_keyval_aint","ompi_attr_create_keyval_fint","ompi_attr_create_keyval_impl","ompi_attr_create_predefined_keyvals","ompi_attr_delete","ompi_attr_delete_all","ompi_attr_delete_impl","ompi_attr_delete_predefined_keyvals_for_wm","ompi_attr_free_keyval","ompi_attr_free_predefined","ompi_attr_get_aint","ompi_attr_get_aint.cold","ompi_attr_get_c","ompi_attr_get_c.cold","ompi_attr_get_fint","ompi_attr_get_fint.cold","ompi_attr_get_ref","ompi_attr_put_ref","ompi_attr_set_aint","ompi_attr_set_c","ompi_attr_set_fint","ompi_attr_set_int","ompi_attr_set_predefined_keyvals_for_wm","ompi_attribute_keyval_construct","ompi_attribute_keyval_destruct","ompi_coll_adapt_bcast","ompi_coll_adapt_comm_query","ompi_coll_adapt_ibcast","ompi_coll_adapt_ibcast_fini","ompi_coll_adapt_ibcast_register","ompi_coll_adapt_init_query","ompi_coll_adapt_ireduce","ompi_coll_adapt_ireduce_fini","ompi_coll_adapt_ireduce_register","ompi_coll_adapt_module_cached_topology","ompi_coll_adapt_reduce","ompi_coll_adapt_request_free","ompi_coll_base_agree_noft","ompi_coll_base_allgather_intra_basic_linear","ompi_coll_base_allgather_intra_bruck","ompi_coll_base_allgather_intra_neighborexchange","ompi_coll_base_allgather_intra_recursivedoubling","ompi_coll_base_allgather_intra_ring","ompi_coll_base_allgather_intra_sparbit","ompi_coll_base_allgather_intra_two_procs","ompi_coll_base_allgatherv_intra_basic_default","ompi_coll_base_allgatherv_intra_bruck","ompi_coll_base_allgatherv_intra_neighborexchange","ompi_coll_base_allgatherv_intra_ring","ompi_coll_base_allgatherv_intra_sparbit","ompi_coll_base_allgatherv_intra_two_procs","ompi_coll_base_allreduce_intra_basic_linear","ompi_coll_base_allreduce_intra_nonoverlapping","ompi_coll_base_allreduce_intra_recursivedoubling","ompi_coll_base_allreduce_intra_redscat_allgather","ompi_coll_base_allreduce_intra_ring","ompi_coll_base_allreduce_intra_ring_segmented","ompi_coll_base_alltoall_intra_basic_linear","ompi_coll_base_alltoall_intra_bruck","ompi_coll_base_alltoall_intra_linear_sync","ompi_coll_base_alltoall_intra_pairwise","ompi_coll_base_alltoall_intra_two_procs","ompi_coll_base_alltoallv_intra_basic_linear","ompi_coll_base_alltoallv_intra_pairwise","ompi_coll_base_barrier_intra_basic_linear","ompi_coll_base_barrier_intra_bruck","ompi_coll_base_barrier_intra_doublering","ompi_coll_base_barrier_intra_recursivedoubling","ompi_coll_base_barrier_intra_tree","ompi_coll_base_barrier_intra_two_procs","ompi_coll_base_bcast_intra_basic_linear","ompi_coll_base_bcast_intra_binomial","ompi_coll_base_bcast_intra_bintree","ompi_coll_base_bcast_intra_chain","ompi_coll_base_bcast_intra_generic","ompi_coll_base_bcast_intra_knomial","ompi_coll_base_bcast_intra_pipeline","ompi_coll_base_bcast_intra_scatter_allgather","ompi_coll_base_bcast_intra_scatter_allgather_ring","ompi_coll_base_bcast_intra_split_bintree","ompi_coll_base_comm_get_reqs","ompi_coll_base_exscan_intra_linear","ompi_coll_base_exscan_intra_recursivedoubling","ompi_coll_base_file_getnext_long","ompi_coll_base_file_getnext_size_t","ompi_coll_base_file_getnext_string","ompi_coll_base_file_peek_next_char_is","ompi_coll_base_file_peek_next_char_isdigit","ompi_coll_base_gather_intra_basic_linear","ompi_coll_base_gather_intra_binomial","ompi_coll_base_gather_intra_linear_sync","ompi_coll_base_iagree_noft","ompi_coll_base_reduce_generic","ompi_coll_base_reduce_intra_basic_linear","ompi_coll_base_reduce_intra_binary","ompi_coll_base_reduce_intra_binomial","ompi_coll_base_reduce_intra_chain","ompi_coll_base_reduce_intra_in_order_binary","ompi_coll_base_reduce_intra_pipeline","ompi_coll_base_reduce_intra_redscat_gather","ompi_coll_base_reduce_scatter_block_basic_linear","ompi_coll_base_reduce_scatter_block_intra_butterfly","ompi_coll_base_reduce_scatter_block_intra_recursivedoubling","ompi_coll_base_reduce_scatter_block_intra_recursivehalving","ompi_coll_base_reduce_scatter_intra_basic_recursivehalving","ompi_coll_base_reduce_scatter_intra_butterfly","ompi_coll_base_reduce_scatter_intra_nonoverlapping","ompi_coll_base_reduce_scatter_intra_ring","ompi_coll_base_retain_datatypes","ompi_coll_base_retain_datatypes_w","ompi_coll_base_retain_op","ompi_coll_base_scan_intra_linear","ompi_coll_base_scan_intra_recursivedoubling","ompi_coll_base_scatter_intra_basic_linear","ompi_coll_base_scatter_intra_binomial","ompi_coll_base_scatter_intra_linear_nb","ompi_coll_base_sendrecv_actual","ompi_coll_base_topo_build_bmtree","ompi_coll_base_topo_build_chain","ompi_coll_base_topo_build_in_order_bintree","ompi_coll_base_topo_build_in_order_bmtree","ompi_coll_base_topo_build_kmtree","ompi_coll_base_topo_build_tree","ompi_coll_base_topo_destroy_tree","ompi_coll_base_topo_dump_tree","ompi_coll_han_reorder_gather","ompi_coll_han_request_free","ompi_coll_libnbc_allgather_init","ompi_coll_libnbc_allgather_inter_init","ompi_coll_libnbc_allgatherv_init","ompi_coll_libnbc_allgatherv_inter_init","ompi_coll_libnbc_allreduce_init","ompi_coll_libnbc_allreduce_inter_init","ompi_coll_libnbc_alltoall_init","ompi_coll_libnbc_alltoall_inter_init","ompi_coll_libnbc_alltoallv_init","ompi_coll_libnbc_alltoallv_inter_init","ompi_coll_libnbc_alltoallw_init","ompi_coll_libnbc_alltoallw_inter_init","ompi_coll_libnbc_barrier_init","ompi_coll_libnbc_barrier_inter_init","ompi_coll_libnbc_bcast_init","ompi_coll_libnbc_bcast_inter_init","ompi_coll_libnbc_dict_destroy","ompi_coll_libnbc_dict_itor_destroy","ompi_coll_libnbc_dict_long_cmp","ompi_coll_libnbc_dict_ptr_cmp","ompi_coll_libnbc_dict_str_cmp","ompi_coll_libnbc_dict_uint_cmp","ompi_coll_libnbc_dict_ulong_cmp","ompi_coll_libnbc_exscan_init","ompi_coll_libnbc_gather_init","ompi_coll_libnbc_gather_inter_init","ompi_coll_libnbc_gatherv_init","ompi_coll_libnbc_gatherv_inter_init","ompi_coll_libnbc_hb_dict_itor_new","ompi_coll_libnbc_hb_dict_new","ompi_coll_libnbc_hb_itor_cdata","ompi_coll_libnbc_hb_itor_data","ompi_coll_libnbc_hb_itor_destroy","ompi_coll_libnbc_hb_itor_first","ompi_coll_libnbc_hb_itor_invalidate","ompi_coll_libnbc_hb_itor_key","ompi_coll_libnbc_hb_itor_last","ompi_coll_libnbc_hb_itor_new","ompi_coll_libnbc_hb_itor_next","ompi_coll_libnbc_hb_itor_nextn","ompi_coll_libnbc_hb_itor_prev","ompi_coll_libnbc_hb_itor_prevn","ompi_coll_libnbc_hb_itor_set_data","ompi_coll_libnbc_hb_itor_valid","ompi_coll_libnbc_hb_tree_count","ompi_coll_libnbc_hb_tree_destroy","ompi_coll_libnbc_hb_tree_empty","ompi_coll_libnbc_hb_tree_height","ompi_coll_libnbc_hb_tree_insert","ompi_coll_libnbc_hb_tree_max","ompi_coll_libnbc_hb_tree_mheight","ompi_coll_libnbc_hb_tree_min","ompi_coll_libnbc_hb_tree_new","ompi_coll_libnbc_hb_tree_pathlen","ompi_coll_libnbc_hb_tree_probe","ompi_coll_libnbc_hb_tree_remove","ompi_coll_libnbc_hb_tree_search","ompi_coll_libnbc_hb_tree_walk","ompi_coll_libnbc_iallgather","ompi_coll_libnbc_iallgather_inter","ompi_coll_libnbc_iallgatherv","ompi_coll_libnbc_iallgatherv_inter","ompi_coll_libnbc_iallreduce","ompi_coll_libnbc_iallreduce_inter","ompi_coll_libnbc_ialltoall","ompi_coll_libnbc_ialltoall_inter","ompi_coll_libnbc_ialltoallv","ompi_coll_libnbc_ialltoallv_inter","ompi_coll_libnbc_ialltoallw","ompi_coll_libnbc_ialltoallw_inter","ompi_coll_libnbc_ibarrier","ompi_coll_libnbc_ibarrier_inter","ompi_coll_libnbc_ibcast","ompi_coll_libnbc_ibcast_inter","ompi_coll_libnbc_iexscan","ompi_coll_libnbc_igather","ompi_coll_libnbc_igather_inter","ompi_coll_libnbc_igatherv","ompi_coll_libnbc_igatherv_inter","ompi_coll_libnbc_ineighbor_allgather","ompi_coll_libnbc_ineighbor_allgatherv","ompi_coll_libnbc_ineighbor_alltoall","ompi_coll_libnbc_ineighbor_alltoallv","ompi_coll_libnbc_ineighbor_alltoallw","ompi_coll_libnbc_ireduce","ompi_coll_libnbc_ireduce_inter","ompi_coll_libnbc_ireduce_scatter","ompi_coll_libnbc_ireduce_scatter_block","ompi_coll_libnbc_ireduce_scatter_block_inter","ompi_coll_libnbc_ireduce_scatter_inter","ompi_coll_libnbc_iscan","ompi_coll_libnbc_iscatter","ompi_coll_libnbc_iscatter_inter","ompi_coll_libnbc_iscatterv","ompi_coll_libnbc_iscatterv_inter","ompi_coll_libnbc_neighbor_allgather_init","ompi_coll_libnbc_neighbor_allgatherv_init","ompi_coll_libnbc_neighbor_alltoall_init","ompi_coll_libnbc_neighbor_alltoallv_init","ompi_coll_libnbc_neighbor_alltoallw_init","ompi_coll_libnbc_progress","ompi_coll_libnbc_reduce_init","ompi_coll_libnbc_reduce_inter_init","ompi_coll_libnbc_reduce_scatter_block_init","ompi_coll_libnbc_reduce_scatter_block_inter_init","ompi_coll_libnbc_reduce_scatter_init","ompi_coll_libnbc_reduce_scatter_inter_init","ompi_coll_libnbc_scan_init","ompi_coll_libnbc_scatter_init","ompi_coll_libnbc_scatter_inter_init","ompi_coll_libnbc_scatterv_init","ompi_coll_libnbc_scatterv_inter_init","ompi_coll_sm_lazy_enable","ompi_coll_tuned_allgather_intra_check_forced_init","ompi_coll_tuned_allgather_intra_dec_dynamic","ompi_coll_tuned_allgather_intra_dec_fixed","ompi_coll_tuned_allgather_intra_do_this","ompi_coll_tuned_allgatherv_intra_check_forced_init","ompi_coll_tuned_allgatherv_intra_dec_dynamic","ompi_coll_tuned_allgatherv_intra_dec_fixed","ompi_coll_tuned_allgatherv_intra_do_this","ompi_coll_tuned_allreduce_intra_check_forced_init","ompi_coll_tuned_allreduce_intra_dec_dynamic","ompi_coll_tuned_allreduce_intra_dec_fixed","ompi_coll_tuned_allreduce_intra_do_this","ompi_coll_tuned_alltoall_intra_check_forced_init","ompi_coll_tuned_alltoall_intra_dec_dynamic","ompi_coll_tuned_alltoall_intra_dec_fixed","ompi_coll_tuned_alltoall_intra_do_this","ompi_coll_tuned_alltoallv_intra_check_forced_init","ompi_coll_tuned_alltoallv_intra_dec_dynamic","ompi_coll_tuned_alltoallv_intra_dec_fixed","ompi_coll_tuned_alltoallv_intra_do_this","ompi_coll_tuned_barrier_intra_check_forced_init","ompi_coll_tuned_barrier_intra_dec_dynamic","ompi_coll_tuned_barrier_intra_dec_fixed","ompi_coll_tuned_barrier_intra_do_this","ompi_coll_tuned_bcast_intra_check_forced_init","ompi_coll_tuned_bcast_intra_dec_dynamic","ompi_coll_tuned_bcast_intra_dec_fixed","ompi_coll_tuned_bcast_intra_do_this","ompi_coll_tuned_comm_query","ompi_coll_tuned_dump_alg_rule","ompi_coll_tuned_dump_all_rules","ompi_coll_tuned_dump_com_rule","ompi_coll_tuned_dump_msg_rule","ompi_coll_tuned_exscan_intra_check_forced_init","ompi_coll_tuned_exscan_intra_dec_dynamic","ompi_coll_tuned_exscan_intra_do_this","ompi_coll_tuned_forced_getvalues.isra.0","ompi_coll_tuned_free_all_rules","ompi_coll_tuned_free_coms_in_alg_rule","ompi_coll_tuned_free_msg_rules_in_com_rule","ompi_coll_tuned_gather_intra_check_forced_init","ompi_coll_tuned_gather_intra_dec_dynamic","ompi_coll_tuned_gather_intra_dec_fixed","ompi_coll_tuned_gather_intra_do_this","ompi_coll_tuned_get_com_rule_ptr","ompi_coll_tuned_get_target_method_params","ompi_coll_tuned_init_query","ompi_coll_tuned_mk_alg_rules","ompi_coll_tuned_mk_com_rules","ompi_coll_tuned_mk_msg_rules","ompi_coll_tuned_read_rules_config_file","ompi_coll_tuned_reduce_intra_check_forced_init","ompi_coll_tuned_reduce_intra_dec_dynamic","ompi_coll_tuned_reduce_intra_dec_fixed","ompi_coll_tuned_reduce_intra_do_this","ompi_coll_tuned_reduce_scatter_block_intra_check_forced_init","ompi_coll_tuned_reduce_scatter_block_intra_dec_dynamic","ompi_coll_tuned_reduce_scatter_block_intra_dec_fixed","ompi_coll_tuned_reduce_scatter_block_intra_do_this","ompi_coll_tuned_reduce_scatter_intra_check_forced_init","ompi_coll_tuned_reduce_scatter_intra_dec_dynamic","ompi_coll_tuned_reduce_scatter_intra_dec_fixed","ompi_coll_tuned_reduce_scatter_intra_do_this","ompi_coll_tuned_scan_intra_check_forced_init","ompi_coll_tuned_scan_intra_dec_dynamic","ompi_coll_tuned_scan_intra_do_this","ompi_coll_tuned_scatter_intra_check_forced_init","ompi_coll_tuned_scatter_intra_dec_dynamic","ompi_coll_tuned_scatter_intra_dec_fixed","ompi_coll_tuned_scatter_intra_do_this","ompi_comm_ack_failed_internal","ompi_comm_activate","ompi_comm_activate_nb","ompi_comm_activate_nb_complete","ompi_comm_allgather_emulate_intra","ompi_comm_allreduce_bridged_reduce_complete","ompi_comm_allreduce_bridged_xchng_complete","ompi_comm_allreduce_context_construct","ompi_comm_allreduce_context_destruct","ompi_comm_allreduce_getnextcid","ompi_comm_allreduce_group_broadcast","ompi_comm_allreduce_group_nb","ompi_comm_allreduce_group_recv_complete","ompi_comm_allreduce_inter_bcast","ompi_comm_allreduce_inter_leader_exchange","ompi_comm_allreduce_inter_leader_reduce","ompi_comm_allreduce_inter_nb","ompi_comm_allreduce_intra_bridge_nb","ompi_comm_allreduce_intra_nb","ompi_comm_allreduce_intra_pmix_nb","ompi_comm_allreduce_pmix_reduce_complete","ompi_comm_assert_subscribe","ompi_comm_checkcid","ompi_comm_cid_init","ompi_comm_compare","ompi_comm_construct","ompi_comm_create","ompi_comm_create_from_group","ompi_comm_create_group","ompi_comm_create_w_info","ompi_comm_destruct","ompi_comm_determine_first","ompi_comm_determine_first_auto","ompi_comm_dump","ompi_comm_dup","ompi_comm_dup_fn_f","ompi_comm_dup_with_info","ompi_comm_enable","ompi_comm_failure_ack_internal","ompi_comm_failure_detector_finalize","ompi_comm_failure_detector_init","ompi_comm_failure_detector_register_params","ompi_comm_failure_detector_start","ompi_comm_failure_get_acked_internal","ompi_comm_failure_propagate","ompi_comm_failure_propagator_finalize","ompi_comm_failure_propagator_init","ompi_comm_failure_propagator_local","ompi_comm_failure_propagator_register_params","ompi_comm_finalize","ompi_comm_free","ompi_comm_free.localalias","ompi_comm_ft_allreduce_agree_completion","ompi_comm_ft_allreduce_inter_nb","ompi_comm_ft_allreduce_intra_nb","ompi_comm_ft_allreduce_intra_pmix_nb","ompi_comm_get_failed_internal","ompi_comm_get_remote_cid_from_pmix","ompi_comm_get_rprocs","ompi_comm_group","ompi_comm_idup","ompi_comm_idup_getcid","ompi_comm_idup_with_info","ompi_comm_idup_with_info_activate","ompi_comm_idup_with_info_finish","ompi_comm_init","ompi_comm_init_mpi3","ompi_comm_is_proc_active","ompi_comm_ishrink_check_activate","ompi_comm_ishrink_check_agree","ompi_comm_ishrink_check_cid","ompi_comm_ishrink_check_setrank","ompi_comm_ishrink_internal","ompi_comm_nextcid","ompi_comm_nextcid_check_flag","ompi_comm_nextcid_nb","ompi_comm_null_copy_fn_f","ompi_comm_null_delete_fn_f","ompi_comm_print_cid","ompi_comm_rbcast_bmg","ompi_comm_rbcast_bml_recv_cb","ompi_comm_rbcast_finalize","ompi_comm_rbcast_init","ompi_comm_rbcast_n2","ompi_comm_rbcast_null","ompi_comm_rbcast_register_cb_type","ompi_comm_rbcast_register_params","ompi_comm_rbcast_send_msg","ompi_comm_rbcast_unregister_cb_type","ompi_comm_request_cancel","ompi_comm_request_construct","ompi_comm_request_destruct","ompi_comm_request_fini","ompi_comm_request_free","ompi_comm_request_get","ompi_comm_request_init","ompi_comm_request_progress","ompi_comm_request_progress.cold","ompi_comm_request_return","ompi_comm_request_schedule_append","ompi_comm_request_schedule_append_w_flags","ompi_comm_request_start","ompi_comm_revoke_finalize","ompi_comm_revoke_init","ompi_comm_revoke_internal","ompi_comm_revoke_local","ompi_comm_set","ompi_comm_set_active_poll","ompi_comm_set_allow_overtake","ompi_comm_set_exact_length","ompi_comm_set_lazy_barrier","ompi_comm_set_name","ompi_comm_set_nb","ompi_comm_set_no_any_source","ompi_comm_set_no_any_tag","ompi_comm_set_rank_failed","ompi_comm_shrink_internal","ompi_comm_split","ompi_comm_split_type","ompi_comm_split_type_core","ompi_comm_split_type_get_part.constprop.0","ompi_comm_split_verify","ompi_comm_split_with_info","ompi_comm_start_detector","ompi_datatype_copy_args","ompi_datatype_create","ompi_datatype_create_contiguous","ompi_datatype_create_darray","ompi_datatype_create_from_packed_description","ompi_datatype_create_hindexed","ompi_datatype_create_hindexed_block","ompi_datatype_create_hvector","ompi_datatype_create_indexed","ompi_datatype_create_indexed_block","ompi_datatype_create_struct","ompi_datatype_create_subarray","ompi_datatype_create_vector","ompi_datatype_default_convertors_fini","ompi_datatype_default_convertors_init","ompi_datatype_destroy","ompi_datatype_dump","ompi_datatype_duplicate","ompi_datatype_finalize","ompi_datatype_get_args","ompi_datatype_get_elements","ompi_datatype_get_pack_description","ompi_datatype_get_single_predefined_type_from_args","ompi_datatype_get_single_predefined_type_from_args.localalias","ompi_datatype_init","ompi_datatype_init.cold","ompi_datatype_match_size","ompi_datatype_match_size.cold","ompi_datatype_pack_description_length","ompi_datatype_pack_external","ompi_datatype_pack_external_size","ompi_datatype_print_args","ompi_datatype_release_args","ompi_datatype_set_args","ompi_datatype_sndrcv","ompi_datatype_unpack_external","ompi_debugger_setup_dlls","ompi_dpm_close_port","ompi_dpm_connect_accept","ompi_dpm_disconnect","ompi_dpm_dyn_finalize","ompi_dpm_dyn_init","ompi_dpm_init","ompi_dpm_mark_dyncomm","ompi_dpm_open_port","ompi_dpm_spawn","ompi_dup_fn_f","ompi_errcode_get_mpi_code.part.0","ompi_errcode_get_mpi_code.part.0.cold","ompi_errcode_intern_construct","ompi_errcode_intern_destruct","ompi_errcode_intern_finalize","ompi_errcode_intern_init","ompi_errhandler_callback","ompi_errhandler_construct","ompi_errhandler_create","ompi_errhandler_destruct","ompi_errhandler_event_cb","ompi_errhandler_finalize","ompi_errhandler_free","ompi_errhandler_init","ompi_errhandler_invoke","ompi_errhandler_proc_failed_internal","ompi_errhandler_registration_callback","ompi_errhandler_request_invoke","ompi_errhandler_request_invoke.cold","ompi_fcoll_base_coll_allgather_array","ompi_fcoll_base_coll_allgatherv_array","ompi_fcoll_base_coll_bcast_array","ompi_fcoll_base_coll_gather_array","ompi_fcoll_base_coll_gatherv_array","ompi_fcoll_base_coll_scatterv_array","ompi_fcoll_base_sort_iovec","ompi_file_close","ompi_file_finalize","ompi_file_init","ompi_file_open","ompi_fortran_argv_blank_f2c","ompi_fortran_argv_count_f2c","ompi_fortran_multiple_argvs_f2c","ompi_fortran_string_c2f","ompi_fortran_string_f2c","ompi_grequest_cancel","ompi_grequest_complete","ompi_grequest_construct","ompi_grequest_destruct","ompi_grequest_free","ompi_grequest_invoke_query","ompi_grequest_start","ompi_group_allocate","ompi_group_allocate_bmap","ompi_group_allocate_plist_w_procs","ompi_group_allocate_sporadic","ompi_group_allocate_strided","ompi_group_calc_bmap","ompi_group_calc_plist","ompi_group_calc_sporadic","ompi_group_calc_strided","ompi_group_compare","ompi_group_construct","ompi_group_count_local_peers","ompi_group_decrement_proc_count","ompi_group_dense_overlap","ompi_group_destruct","ompi_group_difference","ompi_group_div_ceil","ompi_group_dump","ompi_group_excl","ompi_group_finalize","ompi_group_flatten","ompi_group_free","ompi_group_from_pset","ompi_group_have_remote_peers","ompi_group_incl","ompi_group_incl_bmap","ompi_group_incl_plist","ompi_group_incl_spor","ompi_group_incl_strided","ompi_group_increment_proc_count","ompi_group_init","ompi_group_intersection","ompi_group_minloc","ompi_group_overlap","ompi_group_range_excl","ompi_group_range_incl","ompi_group_to_proc_name_array","ompi_group_translate_ranks","ompi_group_translate_ranks_bmap","ompi_group_translate_ranks_bmap_reverse","ompi_group_translate_ranks_sporadic","ompi_group_translate_ranks_sporadic_reverse","ompi_group_translate_ranks_strided","ompi_group_translate_ranks_strided_reverse","ompi_group_union","ompi_hook_base_close","ompi_hook_base_deregister_callbacks","ompi_hook_base_mpi_finalize_bottom","ompi_hook_base_mpi_finalize_top","ompi_hook_base_mpi_finalized_bottom","ompi_hook_base_mpi_finalized_top","ompi_hook_base_mpi_init_bottom","ompi_hook_base_mpi_init_error","ompi_hook_base_mpi_init_thread_bottom","ompi_hook_base_mpi_init_thread_top","ompi_hook_base_mpi_init_top","ompi_hook_base_mpi_init_top_post_opal","ompi_hook_base_mpi_initialized_bottom","ompi_hook_base_mpi_initialized_top","ompi_hook_base_open","ompi_hook_base_register","ompi_hook_base_register_callbacks","ompi_hook_comm_method_component_close","ompi_hook_comm_method_component_open","ompi_hook_comm_method_component_register","ompi_hook_comm_method_mpi_finalize_top","ompi_hook_comm_method_mpi_init_bottom","ompi_info_allocate","ompi_info_close_components","ompi_info_delete","ompi_info_dup","ompi_info_free","ompi_info_get","ompi_info_get_bool","ompi_info_get_nkeys","ompi_info_get_nthkey","ompi_info_get_value_enum","ompi_info_get_valuelen","ompi_info_register_framework_params","ompi_info_register_types","ompi_info_set","ompi_info_set_value_enum","ompi_info_show_ompi_version","ompi_init_preconnect_mpi","ompi_initial_errhandler_init","ompi_instance_construct","ompi_instance_destruct","ompi_instance_get_nth_pset","ompi_instance_get_num_psets","ompi_instance_get_num_psets_complete","ompi_instance_get_pset_info","ompi_instance_group_pmix_pset","ompi_instance_group_shared","ompi_instance_print_error.part.0","ompi_instance_refresh_pmix_psets","ompi_intercomm_create","ompi_intercomm_create_from_groups","ompi_interlib_declare","ompi_io_ompio_generate_current_file_view","ompi_io_ompio_generate_current_file_view.cold","ompi_io_ompio_sort_offlen","ompi_isendrecv_complete_func","ompi_isendrecv_context_constructor","ompi_isendrecv_context_destructor","ompi_isendrecv_replace_complete_func","ompi_message_constructor","ompi_message_finalize","ompi_message_init","ompi_mirror_perm","ompi_mpi_abort","ompi_mpi_dynamics_disable","ompi_mpi_dynamics_finalize","ompi_mpi_dynamics_is_enabled","ompi_mpi_errclass_add","ompi_mpi_errcode_add","ompi_mpi_errcode_construct","ompi_mpi_errcode_destruct","ompi_mpi_errcode_finalize","ompi_mpi_errcode_init","ompi_mpi_errnum_add_string","ompi_mpi_errors_abort_comm_handler","ompi_mpi_errors_abort_file_handler","ompi_mpi_errors_abort_win_handler","ompi_mpi_errors_are_fatal_comm_handler","ompi_mpi_errors_are_fatal_file_handler","ompi_mpi_errors_are_fatal_instance_handler","ompi_mpi_errors_are_fatal_win_handler","ompi_mpi_errors_return_comm_handler","ompi_mpi_errors_return_file_handler","ompi_mpi_errors_return_instance_handler","ompi_mpi_errors_return_win_handler","ompi_mpi_finalize","ompi_mpi_init","ompi_mpi_instance_cleanup_pml","ompi_mpi_instance_finalize","ompi_mpi_instance_finalize_common","ompi_mpi_instance_init","ompi_mpi_instance_init_common","ompi_mpi_instance_release","ompi_mpi_instance_retain","ompi_mpi_register_params","ompi_mpi_thread_level","ompi_mpiext_fini","ompi_mpiext_init","ompi_mpiinfo_finalize","ompi_mpiinfo_init","ompi_mpiinfo_init_env","ompi_mpit_lock","ompi_mpit_unlock","ompi_mtl_base_close","ompi_mtl_base_select","ompi_null_copy_fn_f","ompi_null_delete_fn_f","ompi_op_avx_2buff_add_double_avx","ompi_op_avx_2buff_add_double_avx2","ompi_op_avx_2buff_add_double_avx512","ompi_op_avx_2buff_add_float_avx","ompi_op_avx_2buff_add_float_avx2","ompi_op_avx_2buff_add_float_avx512","ompi_op_avx_2buff_band_int16_t_avx","ompi_op_avx_2buff_band_int16_t_avx2","ompi_op_avx_2buff_band_int16_t_avx512","ompi_op_avx_2buff_band_int32_t_avx","ompi_op_avx_2buff_band_int32_t_avx2","ompi_op_avx_2buff_band_int32_t_avx512","ompi_op_avx_2buff_band_int64_t_avx","ompi_op_avx_2buff_band_int64_t_avx2","ompi_op_avx_2buff_band_int64_t_avx512","ompi_op_avx_2buff_band_int8_t_avx","ompi_op_avx_2buff_band_int8_t_avx2","ompi_op_avx_2buff_band_int8_t_avx512","ompi_op_avx_2buff_band_uint16_t_avx","ompi_op_avx_2buff_band_uint16_t_avx2","ompi_op_avx_2buff_band_uint16_t_avx512","ompi_op_avx_2buff_band_uint32_t_avx","ompi_op_avx_2buff_band_uint32_t_avx2","ompi_op_avx_2buff_band_uint32_t_avx512","ompi_op_avx_2buff_band_uint64_t_avx","ompi_op_avx_2buff_band_uint64_t_avx2","ompi_op_avx_2buff_band_uint64_t_avx512","ompi_op_avx_2buff_band_uint8_t_avx","ompi_op_avx_2buff_band_uint8_t_avx2","ompi_op_avx_2buff_band_uint8_t_avx512","ompi_op_avx_2buff_bor_int16_t_avx","ompi_op_avx_2buff_bor_int16_t_avx2","ompi_op_avx_2buff_bor_int16_t_avx512","ompi_op_avx_2buff_bor_int32_t_avx","ompi_op_avx_2buff_bor_int32_t_avx2","ompi_op_avx_2buff_bor_int32_t_avx512","ompi_op_avx_2buff_bor_int64_t_avx","ompi_op_avx_2buff_bor_int64_t_avx2","ompi_op_avx_2buff_bor_int64_t_avx512","ompi_op_avx_2buff_bor_int8_t_avx","ompi_op_avx_2buff_bor_int8_t_avx2","ompi_op_avx_2buff_bor_int8_t_avx512","ompi_op_avx_2buff_bor_uint16_t_avx","ompi_op_avx_2buff_bor_uint16_t_avx2","ompi_op_avx_2buff_bor_uint16_t_avx512","ompi_op_avx_2buff_bor_uint32_t_avx","ompi_op_avx_2buff_bor_uint32_t_avx2","ompi_op_avx_2buff_bor_uint32_t_avx512","ompi_op_avx_2buff_bor_uint64_t_avx","ompi_op_avx_2buff_bor_uint64_t_avx2","ompi_op_avx_2buff_bor_uint64_t_avx512","ompi_op_avx_2buff_bor_uint8_t_avx","ompi_op_avx_2buff_bor_uint8_t_avx2","ompi_op_avx_2buff_bor_uint8_t_avx512","ompi_op_avx_2buff_bxor_int16_t_avx","ompi_op_avx_2buff_bxor_int16_t_avx2","ompi_op_avx_2buff_bxor_int16_t_avx512","ompi_op_avx_2buff_bxor_int32_t_avx","ompi_op_avx_2buff_bxor_int32_t_avx2","ompi_op_avx_2buff_bxor_int32_t_avx512","ompi_op_avx_2buff_bxor_int64_t_avx","ompi_op_avx_2buff_bxor_int64_t_avx2","ompi_op_avx_2buff_bxor_int64_t_avx512","ompi_op_avx_2buff_bxor_int8_t_avx","ompi_op_avx_2buff_bxor_int8_t_avx2","ompi_op_avx_2buff_bxor_int8_t_avx512","ompi_op_avx_2buff_bxor_uint16_t_avx","ompi_op_avx_2buff_bxor_uint16_t_avx2","ompi_op_avx_2buff_bxor_uint16_t_avx512","ompi_op_avx_2buff_bxor_uint32_t_avx","ompi_op_avx_2buff_bxor_uint32_t_avx2","ompi_op_avx_2buff_bxor_uint32_t_avx512","ompi_op_avx_2buff_bxor_uint64_t_avx","ompi_op_avx_2buff_bxor_uint64_t_avx2","ompi_op_avx_2buff_bxor_uint64_t_avx512","ompi_op_avx_2buff_bxor_uint8_t_avx","ompi_op_avx_2buff_bxor_uint8_t_avx2","ompi_op_avx_2buff_bxor_uint8_t_avx512","ompi_op_avx_2buff_max_double_avx","ompi_op_avx_2buff_max_double_avx2","ompi_op_avx_2buff_max_double_avx512","ompi_op_avx_2buff_max_float_avx","ompi_op_avx_2buff_max_float_avx2","ompi_op_avx_2buff_max_float_avx512","ompi_op_avx_2buff_max_int16_t_avx","ompi_op_avx_2buff_max_int16_t_avx2","ompi_op_avx_2buff_max_int16_t_avx512","ompi_op_avx_2buff_max_int32_t_avx","ompi_op_avx_2buff_max_int32_t_avx2","ompi_op_avx_2buff_max_int32_t_avx512","ompi_op_avx_2buff_max_int64_t_avx512","ompi_op_avx_2buff_max_int8_t_avx","ompi_op_avx_2buff_max_int8_t_avx2","ompi_op_avx_2buff_max_int8_t_avx512","ompi_op_avx_2buff_max_uint16_t_avx","ompi_op_avx_2buff_max_uint16_t_avx2","ompi_op_avx_2buff_max_uint16_t_avx512","ompi_op_avx_2buff_max_uint32_t_avx","ompi_op_avx_2buff_max_uint32_t_avx2","ompi_op_avx_2buff_max_uint32_t_avx512","ompi_op_avx_2buff_max_uint64_t_avx512","ompi_op_avx_2buff_max_uint8_t_avx","ompi_op_avx_2buff_max_uint8_t_avx2","ompi_op_avx_2buff_max_uint8_t_avx512","ompi_op_avx_2buff_min_double_avx","ompi_op_avx_2buff_min_double_avx2","ompi_op_avx_2buff_min_double_avx512","ompi_op_avx_2buff_min_float_avx","ompi_op_avx_2buff_min_float_avx2","ompi_op_avx_2buff_min_float_avx512","ompi_op_avx_2buff_min_int16_t_avx","ompi_op_avx_2buff_min_int16_t_avx2","ompi_op_avx_2buff_min_int16_t_avx512","ompi_op_avx_2buff_min_int32_t_avx","ompi_op_avx_2buff_min_int32_t_avx2","ompi_op_avx_2buff_min_int32_t_avx512","ompi_op_avx_2buff_min_int64_t_avx512","ompi_op_avx_2buff_min_int8_t_avx","ompi_op_avx_2buff_min_int8_t_avx2","ompi_op_avx_2buff_min_int8_t_avx512","ompi_op_avx_2buff_min_uint16_t_avx","ompi_op_avx_2buff_min_uint16_t_avx2","ompi_op_avx_2buff_min_uint16_t_avx512","ompi_op_avx_2buff_min_uint32_t_avx","ompi_op_avx_2buff_min_uint32_t_avx2","ompi_op_avx_2buff_min_uint32_t_avx512","ompi_op_avx_2buff_min_uint64_t_avx512","ompi_op_avx_2buff_min_uint8_t_avx","ompi_op_avx_2buff_min_uint8_t_avx2","ompi_op_avx_2buff_min_uint8_t_avx512","ompi_op_avx_2buff_mul_double_avx","ompi_op_avx_2buff_mul_double_avx2","ompi_op_avx_2buff_mul_double_avx512","ompi_op_avx_2buff_mul_float_avx","ompi_op_avx_2buff_mul_float_avx2","ompi_op_avx_2buff_mul_float_avx512","ompi_op_avx_2buff_prod_int16_t_avx","ompi_op_avx_2buff_prod_int16_t_avx2","ompi_op_avx_2buff_prod_int16_t_avx512","ompi_op_avx_2buff_prod_int32_t_avx","ompi_op_avx_2buff_prod_int32_t_avx2","ompi_op_avx_2buff_prod_int32_t_avx512","ompi_op_avx_2buff_prod_int64_t_avx512","ompi_op_avx_2buff_prod_int8_t_avx","ompi_op_avx_2buff_prod_int8_t_avx2","ompi_op_avx_2buff_prod_int8_t_avx512","ompi_op_avx_2buff_prod_uint16_t_avx","ompi_op_avx_2buff_prod_uint16_t_avx2","ompi_op_avx_2buff_prod_uint16_t_avx512","ompi_op_avx_2buff_prod_uint32_t_avx","ompi_op_avx_2buff_prod_uint32_t_avx2","ompi_op_avx_2buff_prod_uint32_t_avx512","ompi_op_avx_2buff_prod_uint64_t_avx512","ompi_op_avx_2buff_prod_uint8_t_avx","ompi_op_avx_2buff_prod_uint8_t_avx2","ompi_op_avx_2buff_prod_uint8_t_avx512","ompi_op_avx_2buff_sum_int16_t_avx","ompi_op_avx_2buff_sum_int16_t_avx2","ompi_op_avx_2buff_sum_int16_t_avx512","ompi_op_avx_2buff_sum_int32_t_avx","ompi_op_avx_2buff_sum_int32_t_avx2","ompi_op_avx_2buff_sum_int32_t_avx512","ompi_op_avx_2buff_sum_int64_t_avx","ompi_op_avx_2buff_sum_int64_t_avx2","ompi_op_avx_2buff_sum_int64_t_avx512","ompi_op_avx_2buff_sum_int8_t_avx","ompi_op_avx_2buff_sum_int8_t_avx2","ompi_op_avx_2buff_sum_int8_t_avx512","ompi_op_avx_2buff_sum_uint16_t_avx","ompi_op_avx_2buff_sum_uint16_t_avx2","ompi_op_avx_2buff_sum_uint16_t_avx512","ompi_op_avx_2buff_sum_uint32_t_avx","ompi_op_avx_2buff_sum_uint32_t_avx2","ompi_op_avx_2buff_sum_uint32_t_avx512","ompi_op_avx_2buff_sum_uint64_t_avx","ompi_op_avx_2buff_sum_uint64_t_avx2","ompi_op_avx_2buff_sum_uint64_t_avx512","ompi_op_avx_2buff_sum_uint8_t_avx","ompi_op_avx_2buff_sum_uint8_t_avx2","ompi_op_avx_2buff_sum_uint8_t_avx512","ompi_op_avx_3buff_add_double_avx","ompi_op_avx_3buff_add_double_avx2","ompi_op_avx_3buff_add_double_avx512","ompi_op_avx_3buff_add_float_avx","ompi_op_avx_3buff_add_float_avx2","ompi_op_avx_3buff_add_float_avx512","ompi_op_avx_3buff_and_int16_t_avx","ompi_op_avx_3buff_and_int16_t_avx2","ompi_op_avx_3buff_and_int16_t_avx512","ompi_op_avx_3buff_and_int32_t_avx","ompi_op_avx_3buff_and_int32_t_avx2","ompi_op_avx_3buff_and_int32_t_avx512","ompi_op_avx_3buff_and_int64_t_avx","ompi_op_avx_3buff_and_int64_t_avx2","ompi_op_avx_3buff_and_int64_t_avx512","ompi_op_avx_3buff_and_int8_t_avx","ompi_op_avx_3buff_and_int8_t_avx2","ompi_op_avx_3buff_and_int8_t_avx512","ompi_op_avx_3buff_and_uint16_t_avx","ompi_op_avx_3buff_and_uint16_t_avx2","ompi_op_avx_3buff_and_uint16_t_avx512","ompi_op_avx_3buff_and_uint32_t_avx","ompi_op_avx_3buff_and_uint32_t_avx2","ompi_op_avx_3buff_and_uint32_t_avx512","ompi_op_avx_3buff_and_uint64_t_avx","ompi_op_avx_3buff_and_uint64_t_avx2","ompi_op_avx_3buff_and_uint64_t_avx512","ompi_op_avx_3buff_and_uint8_t_avx","ompi_op_avx_3buff_and_uint8_t_avx2","ompi_op_avx_3buff_and_uint8_t_avx512","ompi_op_avx_3buff_max_double_avx","ompi_op_avx_3buff_max_double_avx2","ompi_op_avx_3buff_max_double_avx512","ompi_op_avx_3buff_max_float_avx","ompi_op_avx_3buff_max_float_avx2","ompi_op_avx_3buff_max_float_avx512","ompi_op_avx_3buff_max_int16_t_avx","ompi_op_avx_3buff_max_int16_t_avx2","ompi_op_avx_3buff_max_int16_t_avx512","ompi_op_avx_3buff_max_int32_t_avx","ompi_op_avx_3buff_max_int32_t_avx2","ompi_op_avx_3buff_max_int32_t_avx512","ompi_op_avx_3buff_max_int64_t_avx512","ompi_op_avx_3buff_max_int8_t_avx","ompi_op_avx_3buff_max_int8_t_avx2","ompi_op_avx_3buff_max_int8_t_avx512","ompi_op_avx_3buff_max_uint16_t_avx","ompi_op_avx_3buff_max_uint16_t_avx2","ompi_op_avx_3buff_max_uint16_t_avx512","ompi_op_avx_3buff_max_uint32_t_avx","ompi_op_avx_3buff_max_uint32_t_avx2","ompi_op_avx_3buff_max_uint32_t_avx512","ompi_op_avx_3buff_max_uint64_t_avx512","ompi_op_avx_3buff_max_uint8_t_avx","ompi_op_avx_3buff_max_uint8_t_avx2","ompi_op_avx_3buff_max_uint8_t_avx512","ompi_op_avx_3buff_min_double_avx","ompi_op_avx_3buff_min_double_avx2","ompi_op_avx_3buff_min_double_avx512","ompi_op_avx_3buff_min_float_avx","ompi_op_avx_3buff_min_float_avx2","ompi_op_avx_3buff_min_float_avx512","ompi_op_avx_3buff_min_int16_t_avx","ompi_op_avx_3buff_min_int16_t_avx2","ompi_op_avx_3buff_min_int16_t_avx512","ompi_op_avx_3buff_min_int32_t_avx","ompi_op_avx_3buff_min_int32_t_avx2","ompi_op_avx_3buff_min_int32_t_avx512","ompi_op_avx_3buff_min_int64_t_avx512","ompi_op_avx_3buff_min_int8_t_avx","ompi_op_avx_3buff_min_int8_t_avx2","ompi_op_avx_3buff_min_int8_t_avx512","ompi_op_avx_3buff_min_uint16_t_avx","ompi_op_avx_3buff_min_uint16_t_avx2","ompi_op_avx_3buff_min_uint16_t_avx512","ompi_op_avx_3buff_min_uint32_t_avx","ompi_op_avx_3buff_min_uint32_t_avx2","ompi_op_avx_3buff_min_uint32_t_avx512","ompi_op_avx_3buff_min_uint64_t_avx512","ompi_op_avx_3buff_min_uint8_t_avx","ompi_op_avx_3buff_min_uint8_t_avx2","ompi_op_avx_3buff_min_uint8_t_avx512","ompi_op_avx_3buff_mul_double_avx","ompi_op_avx_3buff_mul_double_avx2","ompi_op_avx_3buff_mul_double_avx512","ompi_op_avx_3buff_mul_float_avx","ompi_op_avx_3buff_mul_float_avx2","ompi_op_avx_3buff_mul_float_avx512","ompi_op_avx_3buff_or_int16_t_avx","ompi_op_avx_3buff_or_int16_t_avx2","ompi_op_avx_3buff_or_int16_t_avx512","ompi_op_avx_3buff_or_int32_t_avx","ompi_op_avx_3buff_or_int32_t_avx2","ompi_op_avx_3buff_or_int32_t_avx512","ompi_op_avx_3buff_or_int64_t_avx","ompi_op_avx_3buff_or_int64_t_avx2","ompi_op_avx_3buff_or_int64_t_avx512","ompi_op_avx_3buff_or_int8_t_avx","ompi_op_avx_3buff_or_int8_t_avx2","ompi_op_avx_3buff_or_int8_t_avx512","ompi_op_avx_3buff_or_uint16_t_avx","ompi_op_avx_3buff_or_uint16_t_avx2","ompi_op_avx_3buff_or_uint16_t_avx512","ompi_op_avx_3buff_or_uint32_t_avx","ompi_op_avx_3buff_or_uint32_t_avx2","ompi_op_avx_3buff_or_uint32_t_avx512","ompi_op_avx_3buff_or_uint64_t_avx","ompi_op_avx_3buff_or_uint64_t_avx2","ompi_op_avx_3buff_or_uint64_t_avx512","ompi_op_avx_3buff_or_uint8_t_avx","ompi_op_avx_3buff_or_uint8_t_avx2","ompi_op_avx_3buff_or_uint8_t_avx512","ompi_op_avx_3buff_prod_int16_t_avx","ompi_op_avx_3buff_prod_int16_t_avx2","ompi_op_avx_3buff_prod_int16_t_avx512","ompi_op_avx_3buff_prod_int32_t_avx","ompi_op_avx_3buff_prod_int32_t_avx2","ompi_op_avx_3buff_prod_int32_t_avx512","ompi_op_avx_3buff_prod_int64_t_avx512","ompi_op_avx_3buff_prod_int8_t_avx","ompi_op_avx_3buff_prod_int8_t_avx2","ompi_op_avx_3buff_prod_int8_t_avx512","ompi_op_avx_3buff_prod_uint16_t_avx","ompi_op_avx_3buff_prod_uint16_t_avx2","ompi_op_avx_3buff_prod_uint16_t_avx512","ompi_op_avx_3buff_prod_uint32_t_avx","ompi_op_avx_3buff_prod_uint32_t_avx2","ompi_op_avx_3buff_prod_uint32_t_avx512","ompi_op_avx_3buff_prod_uint64_t_avx512","ompi_op_avx_3buff_prod_uint8_t_avx","ompi_op_avx_3buff_prod_uint8_t_avx2","ompi_op_avx_3buff_prod_uint8_t_avx512","ompi_op_avx_3buff_sum_int16_t_avx","ompi_op_avx_3buff_sum_int16_t_avx2","ompi_op_avx_3buff_sum_int16_t_avx512","ompi_op_avx_3buff_sum_int32_t_avx","ompi_op_avx_3buff_sum_int32_t_avx2","ompi_op_avx_3buff_sum_int32_t_avx512","ompi_op_avx_3buff_sum_int64_t_avx","ompi_op_avx_3buff_sum_int64_t_avx2","ompi_op_avx_3buff_sum_int64_t_avx512","ompi_op_avx_3buff_sum_int8_t_avx","ompi_op_avx_3buff_sum_int8_t_avx2","ompi_op_avx_3buff_sum_int8_t_avx512","ompi_op_avx_3buff_sum_uint16_t_avx","ompi_op_avx_3buff_sum_uint16_t_avx2","ompi_op_avx_3buff_sum_uint16_t_avx512","ompi_op_avx_3buff_sum_uint32_t_avx","ompi_op_avx_3buff_sum_uint32_t_avx2","ompi_op_avx_3buff_sum_uint32_t_avx512","ompi_op_avx_3buff_sum_uint64_t_avx","ompi_op_avx_3buff_sum_uint64_t_avx2","ompi_op_avx_3buff_sum_uint64_t_avx512","ompi_op_avx_3buff_sum_uint8_t_avx","ompi_op_avx_3buff_sum_uint8_t_avx2","ompi_op_avx_3buff_sum_uint8_t_avx512","ompi_op_avx_3buff_xor_int16_t_avx","ompi_op_avx_3buff_xor_int16_t_avx2","ompi_op_avx_3buff_xor_int16_t_avx512","ompi_op_avx_3buff_xor_int32_t_avx","ompi_op_avx_3buff_xor_int32_t_avx2","ompi_op_avx_3buff_xor_int32_t_avx512","ompi_op_avx_3buff_xor_int64_t_avx","ompi_op_avx_3buff_xor_int64_t_avx2","ompi_op_avx_3buff_xor_int64_t_avx512","ompi_op_avx_3buff_xor_int8_t_avx","ompi_op_avx_3buff_xor_int8_t_avx2","ompi_op_avx_3buff_xor_int8_t_avx512","ompi_op_avx_3buff_xor_uint16_t_avx","ompi_op_avx_3buff_xor_uint16_t_avx2","ompi_op_avx_3buff_xor_uint16_t_avx512","ompi_op_avx_3buff_xor_uint32_t_avx","ompi_op_avx_3buff_xor_uint32_t_avx2","ompi_op_avx_3buff_xor_uint32_t_avx512","ompi_op_avx_3buff_xor_uint64_t_avx","ompi_op_avx_3buff_xor_uint64_t_avx2","ompi_op_avx_3buff_xor_uint64_t_avx512","ompi_op_avx_3buff_xor_uint8_t_avx","ompi_op_avx_3buff_xor_uint8_t_avx2","ompi_op_avx_3buff_xor_uint8_t_avx512","ompi_op_base_2buff_band_byte","ompi_op_base_2buff_band_fortran_integer","ompi_op_base_2buff_band_fortran_integer1","ompi_op_base_2buff_band_fortran_integer2","ompi_op_base_2buff_band_fortran_integer4","ompi_op_base_2buff_band_fortran_integer8","ompi_op_base_2buff_band_int16_t","ompi_op_base_2buff_band_int32_t","ompi_op_base_2buff_band_int64_t","ompi_op_base_2buff_band_int8_t","ompi_op_base_2buff_band_long","ompi_op_base_2buff_band_uint16_t","ompi_op_base_2buff_band_uint32_t","ompi_op_base_2buff_band_uint64_t","ompi_op_base_2buff_band_uint8_t","ompi_op_base_2buff_band_unsigned_long","ompi_op_base_2buff_bor_byte","ompi_op_base_2buff_bor_fortran_integer","ompi_op_base_2buff_bor_fortran_integer1","ompi_op_base_2buff_bor_fortran_integer2","ompi_op_base_2buff_bor_fortran_integer4","ompi_op_base_2buff_bor_fortran_integer8","ompi_op_base_2buff_bor_int16_t","ompi_op_base_2buff_bor_int32_t","ompi_op_base_2buff_bor_int64_t","ompi_op_base_2buff_bor_int8_t","ompi_op_base_2buff_bor_long","ompi_op_base_2buff_bor_uint16_t","ompi_op_base_2buff_bor_uint32_t","ompi_op_base_2buff_bor_uint64_t","ompi_op_base_2buff_bor_uint8_t","ompi_op_base_2buff_bor_unsigned_long","ompi_op_base_2buff_bxor_byte","ompi_op_base_2buff_bxor_fortran_integer","ompi_op_base_2buff_bxor_fortran_integer1","ompi_op_base_2buff_bxor_fortran_integer2","ompi_op_base_2buff_bxor_fortran_integer4","ompi_op_base_2buff_bxor_fortran_integer8","ompi_op_base_2buff_bxor_int16_t","ompi_op_base_2buff_bxor_int32_t","ompi_op_base_2buff_bxor_int64_t","ompi_op_base_2buff_bxor_int8_t","ompi_op_base_2buff_bxor_long","ompi_op_base_2buff_bxor_uint16_t","ompi_op_base_2buff_bxor_uint32_t","ompi_op_base_2buff_bxor_uint64_t","ompi_op_base_2buff_bxor_uint8_t","ompi_op_base_2buff_bxor_unsigned_long","ompi_op_base_2buff_land_bool","ompi_op_base_2buff_land_fortran_logical","ompi_op_base_2buff_land_int16_t","ompi_op_base_2buff_land_int32_t","ompi_op_base_2buff_land_int64_t","ompi_op_base_2buff_land_int8_t","ompi_op_base_2buff_land_long","ompi_op_base_2buff_land_uint16_t","ompi_op_base_2buff_land_uint32_t","ompi_op_base_2buff_land_uint64_t","ompi_op_base_2buff_land_uint8_t","ompi_op_base_2buff_land_unsigned_long","ompi_op_base_2buff_lor_bool","ompi_op_base_2buff_lor_fortran_logical","ompi_op_base_2buff_lor_int16_t","ompi_op_base_2buff_lor_int32_t","ompi_op_base_2buff_lor_int64_t","ompi_op_base_2buff_lor_int8_t","ompi_op_base_2buff_lor_long","ompi_op_base_2buff_lor_uint16_t","ompi_op_base_2buff_lor_uint32_t","ompi_op_base_2buff_lor_uint64_t","ompi_op_base_2buff_lor_uint8_t","ompi_op_base_2buff_lor_unsigned_long","ompi_op_base_2buff_lxor_bool","ompi_op_base_2buff_lxor_fortran_logical","ompi_op_base_2buff_lxor_int16_t","ompi_op_base_2buff_lxor_int32_t","ompi_op_base_2buff_lxor_int64_t","ompi_op_base_2buff_lxor_int8_t","ompi_op_base_2buff_lxor_long","ompi_op_base_2buff_lxor_uint16_t","ompi_op_base_2buff_lxor_uint32_t","ompi_op_base_2buff_lxor_uint64_t","ompi_op_base_2buff_lxor_uint8_t","ompi_op_base_2buff_lxor_unsigned_long","ompi_op_base_2buff_max_double","ompi_op_base_2buff_max_float","ompi_op_base_2buff_max_fortran_double_precision","ompi_op_base_2buff_max_fortran_integer","ompi_op_base_2buff_max_fortran_integer1","ompi_op_base_2buff_max_fortran_integer2","ompi_op_base_2buff_max_fortran_integer4","ompi_op_base_2buff_max_fortran_integer8","ompi_op_base_2buff_max_fortran_real","ompi_op_base_2buff_max_fortran_real16","ompi_op_base_2buff_max_fortran_real4","ompi_op_base_2buff_max_fortran_real8","ompi_op_base_2buff_max_int16_t","ompi_op_base_2buff_max_int32_t","ompi_op_base_2buff_max_int64_t","ompi_op_base_2buff_max_int8_t","ompi_op_base_2buff_max_long","ompi_op_base_2buff_max_long_double","ompi_op_base_2buff_max_uint16_t","ompi_op_base_2buff_max_uint32_t","ompi_op_base_2buff_max_uint64_t","ompi_op_base_2buff_max_uint8_t","ompi_op_base_2buff_max_unsigned_long","ompi_op_base_2buff_maxloc_2double_precision","ompi_op_base_2buff_maxloc_2int","ompi_op_base_2buff_maxloc_2integer","ompi_op_base_2buff_maxloc_2real","ompi_op_base_2buff_maxloc_double_int","ompi_op_base_2buff_maxloc_float_int","ompi_op_base_2buff_maxloc_long_double_int","ompi_op_base_2buff_maxloc_long_int","ompi_op_base_2buff_maxloc_short_int","ompi_op_base_2buff_min_double","ompi_op_base_2buff_min_float","ompi_op_base_2buff_min_fortran_double_precision","ompi_op_base_2buff_min_fortran_integer","ompi_op_base_2buff_min_fortran_integer1","ompi_op_base_2buff_min_fortran_integer2","ompi_op_base_2buff_min_fortran_integer4","ompi_op_base_2buff_min_fortran_integer8","ompi_op_base_2buff_min_fortran_real","ompi_op_base_2buff_min_fortran_real16","ompi_op_base_2buff_min_fortran_real4","ompi_op_base_2buff_min_fortran_real8","ompi_op_base_2buff_min_int16_t","ompi_op_base_2buff_min_int32_t","ompi_op_base_2buff_min_int64_t","ompi_op_base_2buff_min_int8_t","ompi_op_base_2buff_min_long","ompi_op_base_2buff_min_long_double","ompi_op_base_2buff_min_uint16_t","ompi_op_base_2buff_min_uint32_t","ompi_op_base_2buff_min_uint64_t","ompi_op_base_2buff_min_uint8_t","ompi_op_base_2buff_min_unsigned_long","ompi_op_base_2buff_minloc_2double_precision","ompi_op_base_2buff_minloc_2int","ompi_op_base_2buff_minloc_2integer","ompi_op_base_2buff_minloc_2real","ompi_op_base_2buff_minloc_double_int","ompi_op_base_2buff_minloc_float_int","ompi_op_base_2buff_minloc_long_double_int","ompi_op_base_2buff_minloc_long_int","ompi_op_base_2buff_minloc_short_int","ompi_op_base_2buff_prod_c_double_complex","ompi_op_base_2buff_prod_c_float_complex","ompi_op_base_2buff_prod_c_long_double_complex","ompi_op_base_2buff_prod_double","ompi_op_base_2buff_prod_float","ompi_op_base_2buff_prod_fortran_double_precision","ompi_op_base_2buff_prod_fortran_integer","ompi_op_base_2buff_prod_fortran_integer1","ompi_op_base_2buff_prod_fortran_integer2","ompi_op_base_2buff_prod_fortran_integer4","ompi_op_base_2buff_prod_fortran_integer8","ompi_op_base_2buff_prod_fortran_real","ompi_op_base_2buff_prod_fortran_real16","ompi_op_base_2buff_prod_fortran_real4","ompi_op_base_2buff_prod_fortran_real8","ompi_op_base_2buff_prod_int16_t","ompi_op_base_2buff_prod_int32_t","ompi_op_base_2buff_prod_int64_t","ompi_op_base_2buff_prod_int8_t","ompi_op_base_2buff_prod_long","ompi_op_base_2buff_prod_long_double","ompi_op_base_2buff_prod_uint16_t","ompi_op_base_2buff_prod_uint32_t","ompi_op_base_2buff_prod_uint64_t","ompi_op_base_2buff_prod_uint8_t","ompi_op_base_2buff_prod_unsigned_long","ompi_op_base_2buff_sum_c_double_complex","ompi_op_base_2buff_sum_c_float_complex","ompi_op_base_2buff_sum_c_long_double_complex","ompi_op_base_2buff_sum_double","ompi_op_base_2buff_sum_float","ompi_op_base_2buff_sum_fortran_double_precision","ompi_op_base_2buff_sum_fortran_integer","ompi_op_base_2buff_sum_fortran_integer1","ompi_op_base_2buff_sum_fortran_integer2","ompi_op_base_2buff_sum_fortran_integer4","ompi_op_base_2buff_sum_fortran_integer8","ompi_op_base_2buff_sum_fortran_real","ompi_op_base_2buff_sum_fortran_real16","ompi_op_base_2buff_sum_fortran_real4","ompi_op_base_2buff_sum_fortran_real8","ompi_op_base_2buff_sum_int16_t","ompi_op_base_2buff_sum_int32_t","ompi_op_base_2buff_sum_int64_t","ompi_op_base_2buff_sum_int8_t","ompi_op_base_2buff_sum_long","ompi_op_base_2buff_sum_long_double","ompi_op_base_2buff_sum_uint16_t","ompi_op_base_2buff_sum_uint32_t","ompi_op_base_2buff_sum_uint64_t","ompi_op_base_2buff_sum_uint8_t","ompi_op_base_2buff_sum_unsigned_long","ompi_op_base_3buff_band_byte","ompi_op_base_3buff_band_fortran_integer","ompi_op_base_3buff_band_fortran_integer1","ompi_op_base_3buff_band_fortran_integer2","ompi_op_base_3buff_band_fortran_integer4","ompi_op_base_3buff_band_fortran_integer8","ompi_op_base_3buff_band_int16_t","ompi_op_base_3buff_band_int32_t","ompi_op_base_3buff_band_int64_t","ompi_op_base_3buff_band_int8_t","ompi_op_base_3buff_band_long","ompi_op_base_3buff_band_uint16_t","ompi_op_base_3buff_band_uint32_t","ompi_op_base_3buff_band_uint64_t","ompi_op_base_3buff_band_uint8_t","ompi_op_base_3buff_band_unsigned_long","ompi_op_base_3buff_bor_byte","ompi_op_base_3buff_bor_fortran_integer","ompi_op_base_3buff_bor_fortran_integer1","ompi_op_base_3buff_bor_fortran_integer2","ompi_op_base_3buff_bor_fortran_integer4","ompi_op_base_3buff_bor_fortran_integer8","ompi_op_base_3buff_bor_int16_t","ompi_op_base_3buff_bor_int32_t","ompi_op_base_3buff_bor_int64_t","ompi_op_base_3buff_bor_int8_t","ompi_op_base_3buff_bor_long","ompi_op_base_3buff_bor_uint16_t","ompi_op_base_3buff_bor_uint32_t","ompi_op_base_3buff_bor_uint64_t","ompi_op_base_3buff_bor_uint8_t","ompi_op_base_3buff_bor_unsigned_long","ompi_op_base_3buff_bxor_byte","ompi_op_base_3buff_bxor_fortran_integer","ompi_op_base_3buff_bxor_fortran_integer1","ompi_op_base_3buff_bxor_fortran_integer2","ompi_op_base_3buff_bxor_fortran_integer4","ompi_op_base_3buff_bxor_fortran_integer8","ompi_op_base_3buff_bxor_int16_t","ompi_op_base_3buff_bxor_int32_t","ompi_op_base_3buff_bxor_int64_t","ompi_op_base_3buff_bxor_int8_t","ompi_op_base_3buff_bxor_long","ompi_op_base_3buff_bxor_uint16_t","ompi_op_base_3buff_bxor_uint32_t","ompi_op_base_3buff_bxor_uint64_t","ompi_op_base_3buff_bxor_uint8_t","ompi_op_base_3buff_bxor_unsigned_long","ompi_op_base_3buff_land_bool","ompi_op_base_3buff_land_fortran_logical","ompi_op_base_3buff_land_int16_t","ompi_op_base_3buff_land_int32_t","ompi_op_base_3buff_land_int64_t","ompi_op_base_3buff_land_int8_t","ompi_op_base_3buff_land_long","ompi_op_base_3buff_land_uint16_t","ompi_op_base_3buff_land_uint32_t","ompi_op_base_3buff_land_uint64_t","ompi_op_base_3buff_land_uint8_t","ompi_op_base_3buff_land_unsigned_long","ompi_op_base_3buff_lor_bool","ompi_op_base_3buff_lor_fortran_logical","ompi_op_base_3buff_lor_int16_t","ompi_op_base_3buff_lor_int32_t","ompi_op_base_3buff_lor_int64_t","ompi_op_base_3buff_lor_int8_t","ompi_op_base_3buff_lor_long","ompi_op_base_3buff_lor_uint16_t","ompi_op_base_3buff_lor_uint32_t","ompi_op_base_3buff_lor_uint64_t","ompi_op_base_3buff_lor_uint8_t","ompi_op_base_3buff_lor_unsigned_long","ompi_op_base_3buff_lxor_bool","ompi_op_base_3buff_lxor_fortran_logical","ompi_op_base_3buff_lxor_int16_t","ompi_op_base_3buff_lxor_int32_t","ompi_op_base_3buff_lxor_int64_t","ompi_op_base_3buff_lxor_int8_t","ompi_op_base_3buff_lxor_long","ompi_op_base_3buff_lxor_uint16_t","ompi_op_base_3buff_lxor_uint32_t","ompi_op_base_3buff_lxor_uint64_t","ompi_op_base_3buff_lxor_uint8_t","ompi_op_base_3buff_lxor_unsigned_long","ompi_op_base_3buff_max_double","ompi_op_base_3buff_max_float","ompi_op_base_3buff_max_fortran_double_precision","ompi_op_base_3buff_max_fortran_integer","ompi_op_base_3buff_max_fortran_integer1","ompi_op_base_3buff_max_fortran_integer2","ompi_op_base_3buff_max_fortran_integer4","ompi_op_base_3buff_max_fortran_integer8","ompi_op_base_3buff_max_fortran_real","ompi_op_base_3buff_max_fortran_real16","ompi_op_base_3buff_max_fortran_real4","ompi_op_base_3buff_max_fortran_real8","ompi_op_base_3buff_max_int16_t","ompi_op_base_3buff_max_int32_t","ompi_op_base_3buff_max_int64_t","ompi_op_base_3buff_max_int8_t","ompi_op_base_3buff_max_long","ompi_op_base_3buff_max_long_double","ompi_op_base_3buff_max_uint16_t","ompi_op_base_3buff_max_uint32_t","ompi_op_base_3buff_max_uint64_t","ompi_op_base_3buff_max_uint8_t","ompi_op_base_3buff_max_unsigned_long","ompi_op_base_3buff_maxloc_2double_precision","ompi_op_base_3buff_maxloc_2int","ompi_op_base_3buff_maxloc_2integer","ompi_op_base_3buff_maxloc_2real","ompi_op_base_3buff_maxloc_double_int","ompi_op_base_3buff_maxloc_float_int","ompi_op_base_3buff_maxloc_long_double_int","ompi_op_base_3buff_maxloc_long_int","ompi_op_base_3buff_maxloc_short_int","ompi_op_base_3buff_min_double","ompi_op_base_3buff_min_float","ompi_op_base_3buff_min_fortran_double_precision","ompi_op_base_3buff_min_fortran_integer","ompi_op_base_3buff_min_fortran_integer1","ompi_op_base_3buff_min_fortran_integer2","ompi_op_base_3buff_min_fortran_integer4","ompi_op_base_3buff_min_fortran_integer8","ompi_op_base_3buff_min_fortran_real","ompi_op_base_3buff_min_fortran_real16","ompi_op_base_3buff_min_fortran_real4","ompi_op_base_3buff_min_fortran_real8","ompi_op_base_3buff_min_int16_t","ompi_op_base_3buff_min_int32_t","ompi_op_base_3buff_min_int64_t","ompi_op_base_3buff_min_int8_t","ompi_op_base_3buff_min_long","ompi_op_base_3buff_min_long_double","ompi_op_base_3buff_min_uint16_t","ompi_op_base_3buff_min_uint32_t","ompi_op_base_3buff_min_uint64_t","ompi_op_base_3buff_min_uint8_t","ompi_op_base_3buff_min_unsigned_long","ompi_op_base_3buff_minloc_2double_precision","ompi_op_base_3buff_minloc_2int","ompi_op_base_3buff_minloc_2integer","ompi_op_base_3buff_minloc_2real","ompi_op_base_3buff_minloc_double_int","ompi_op_base_3buff_minloc_float_int","ompi_op_base_3buff_minloc_long_double_int","ompi_op_base_3buff_minloc_long_int","ompi_op_base_3buff_minloc_short_int","ompi_op_base_3buff_prod_c_double_complex","ompi_op_base_3buff_prod_c_float_complex","ompi_op_base_3buff_prod_c_long_double_complex","ompi_op_base_3buff_prod_double","ompi_op_base_3buff_prod_float","ompi_op_base_3buff_prod_fortran_double_precision","ompi_op_base_3buff_prod_fortran_integer","ompi_op_base_3buff_prod_fortran_integer1","ompi_op_base_3buff_prod_fortran_integer2","ompi_op_base_3buff_prod_fortran_integer4","ompi_op_base_3buff_prod_fortran_integer8","ompi_op_base_3buff_prod_fortran_real","ompi_op_base_3buff_prod_fortran_real16","ompi_op_base_3buff_prod_fortran_real4","ompi_op_base_3buff_prod_fortran_real8","ompi_op_base_3buff_prod_int16_t","ompi_op_base_3buff_prod_int32_t","ompi_op_base_3buff_prod_int64_t","ompi_op_base_3buff_prod_int8_t","ompi_op_base_3buff_prod_long","ompi_op_base_3buff_prod_long_double","ompi_op_base_3buff_prod_uint16_t","ompi_op_base_3buff_prod_uint32_t","ompi_op_base_3buff_prod_uint64_t","ompi_op_base_3buff_prod_uint8_t","ompi_op_base_3buff_prod_unsigned_long","ompi_op_base_3buff_sum_c_double_complex","ompi_op_base_3buff_sum_c_float_complex","ompi_op_base_3buff_sum_c_long_double_complex","ompi_op_base_3buff_sum_double","ompi_op_base_3buff_sum_float","ompi_op_base_3buff_sum_fortran_double_precision","ompi_op_base_3buff_sum_fortran_integer","ompi_op_base_3buff_sum_fortran_integer1","ompi_op_base_3buff_sum_fortran_integer2","ompi_op_base_3buff_sum_fortran_integer4","ompi_op_base_3buff_sum_fortran_integer8","ompi_op_base_3buff_sum_fortran_real","ompi_op_base_3buff_sum_fortran_real16","ompi_op_base_3buff_sum_fortran_real4","ompi_op_base_3buff_sum_fortran_real8","ompi_op_base_3buff_sum_int16_t","ompi_op_base_3buff_sum_int32_t","ompi_op_base_3buff_sum_int64_t","ompi_op_base_3buff_sum_int8_t","ompi_op_base_3buff_sum_long","ompi_op_base_3buff_sum_long_double","ompi_op_base_3buff_sum_uint16_t","ompi_op_base_3buff_sum_uint32_t","ompi_op_base_3buff_sum_uint64_t","ompi_op_base_3buff_sum_uint8_t","ompi_op_base_3buff_sum_unsigned_long","ompi_op_base_find_available","ompi_op_base_op_select","ompi_op_construct","ompi_op_create_user","ompi_op_destruct","ompi_op_finalize","ompi_op_init","ompi_op_reduce:0x103bf0","ompi_op_reduce:0x105a40","ompi_op_reduce:0x109a40","ompi_op_reduce:0x11a690","ompi_op_reduce:0x11d440","ompi_op_reduce:0x128cd0","ompi_op_reduce:0x153a70","ompi_op_reduce:0x15a800","ompi_op_reduce:0x15ce80","ompi_op_reduce:0x15ed30","ompi_op_reduce:0x1642a0","ompi_op_reduce:0x1c2ff0","ompi_op_reduce:0x1ce8e0","ompi_op_reduce:0x1e8750","ompi_op_reduce:0x5eb80","ompi_op_reduce:0xef780","ompi_op_reduce:0xf6ab0","ompi_op_reduce:0xfc2b0","ompi_op_reduce:0xff940","ompi_op_set_java_callback","ompi_osc_base_finalize","ompi_osc_base_find_available","ompi_osc_base_get_primitive_type_info","ompi_osc_base_process_op","ompi_osc_base_select","ompi_osc_base_set_memory_alignment","ompi_osc_base_sndrcv_op","ompi_osc_get_data_blocking","ompi_osc_get_data_complete","ompi_osc_module_add_peer","ompi_osc_monitoring_portals4_accumulate","ompi_osc_monitoring_portals4_attach","ompi_osc_monitoring_portals4_compare_and_swap","ompi_osc_monitoring_portals4_complete","ompi_osc_monitoring_portals4_detach","ompi_osc_monitoring_portals4_fence","ompi_osc_monitoring_portals4_fetch_and_op","ompi_osc_monitoring_portals4_flush","ompi_osc_monitoring_portals4_flush_all","ompi_osc_monitoring_portals4_flush_local","ompi_osc_monitoring_portals4_flush_local_all","ompi_osc_monitoring_portals4_free","ompi_osc_monitoring_portals4_get","ompi_osc_monitoring_portals4_get_accumulate","ompi_osc_monitoring_portals4_lock","ompi_osc_monitoring_portals4_lock_all","ompi_osc_monitoring_portals4_post","ompi_osc_monitoring_portals4_put","ompi_osc_monitoring_portals4_raccumulate","ompi_osc_monitoring_portals4_rget","ompi_osc_monitoring_portals4_rget_accumulate","ompi_osc_monitoring_portals4_rput","ompi_osc_monitoring_portals4_set_template","ompi_osc_monitoring_portals4_start","ompi_osc_monitoring_portals4_sync","ompi_osc_monitoring_portals4_test","ompi_osc_monitoring_portals4_unlock","ompi_osc_monitoring_portals4_unlock_all","ompi_osc_monitoring_portals4_wait","ompi_osc_monitoring_rdma_accumulate","ompi_osc_monitoring_rdma_attach","ompi_osc_monitoring_rdma_compare_and_swap","ompi_osc_monitoring_rdma_complete","ompi_osc_monitoring_rdma_detach","ompi_osc_monitoring_rdma_fence","ompi_osc_monitoring_rdma_fetch_and_op","ompi_osc_monitoring_rdma_flush","ompi_osc_monitoring_rdma_flush_all","ompi_osc_monitoring_rdma_flush_local","ompi_osc_monitoring_rdma_flush_local_all","ompi_osc_monitoring_rdma_free","ompi_osc_monitoring_rdma_get","ompi_osc_monitoring_rdma_get_accumulate","ompi_osc_monitoring_rdma_lock","ompi_osc_monitoring_rdma_lock_all","ompi_osc_monitoring_rdma_post","ompi_osc_monitoring_rdma_put","ompi_osc_monitoring_rdma_raccumulate","ompi_osc_monitoring_rdma_rget","ompi_osc_monitoring_rdma_rget_accumulate","ompi_osc_monitoring_rdma_rput","ompi_osc_monitoring_rdma_set_template","ompi_osc_monitoring_rdma_start","ompi_osc_monitoring_rdma_sync","ompi_osc_monitoring_rdma_test","ompi_osc_monitoring_rdma_unlock","ompi_osc_monitoring_rdma_unlock_all","ompi_osc_monitoring_rdma_wait","ompi_osc_monitoring_sm_accumulate","ompi_osc_monitoring_sm_attach","ompi_osc_monitoring_sm_compare_and_swap","ompi_osc_monitoring_sm_complete","ompi_osc_monitoring_sm_detach","ompi_osc_monitoring_sm_fence","ompi_osc_monitoring_sm_fetch_and_op","ompi_osc_monitoring_sm_flush","ompi_osc_monitoring_sm_flush_all","ompi_osc_monitoring_sm_flush_local","ompi_osc_monitoring_sm_flush_local_all","ompi_osc_monitoring_sm_free","ompi_osc_monitoring_sm_get","ompi_osc_monitoring_sm_get_accumulate","ompi_osc_monitoring_sm_lock","ompi_osc_monitoring_sm_lock_all","ompi_osc_monitoring_sm_post","ompi_osc_monitoring_sm_put","ompi_osc_monitoring_sm_raccumulate","ompi_osc_monitoring_sm_rget","ompi_osc_monitoring_sm_rget_accumulate","ompi_osc_monitoring_sm_rput","ompi_osc_monitoring_sm_set_template","ompi_osc_monitoring_sm_start","ompi_osc_monitoring_sm_sync","ompi_osc_monitoring_sm_test","ompi_osc_monitoring_sm_unlock","ompi_osc_monitoring_sm_unlock_all","ompi_osc_monitoring_sm_wait","ompi_osc_monitoring_ucx_accumulate","ompi_osc_monitoring_ucx_attach","ompi_osc_monitoring_ucx_compare_and_swap","ompi_osc_monitoring_ucx_complete","ompi_osc_monitoring_ucx_detach","ompi_osc_monitoring_ucx_fence","ompi_osc_monitoring_ucx_fetch_and_op","ompi_osc_monitoring_ucx_flush","ompi_osc_monitoring_ucx_flush_all","ompi_osc_monitoring_ucx_flush_local","ompi_osc_monitoring_ucx_flush_local_all","ompi_osc_monitoring_ucx_free","ompi_osc_monitoring_ucx_get","ompi_osc_monitoring_ucx_get_accumulate","ompi_osc_monitoring_ucx_lock","ompi_osc_monitoring_ucx_lock_all","ompi_osc_monitoring_ucx_post","ompi_osc_monitoring_ucx_put","ompi_osc_monitoring_ucx_raccumulate","ompi_osc_monitoring_ucx_rget","ompi_osc_monitoring_ucx_rget_accumulate","ompi_osc_monitoring_ucx_rput","ompi_osc_monitoring_ucx_set_template","ompi_osc_monitoring_ucx_start","ompi_osc_monitoring_ucx_sync","ompi_osc_monitoring_ucx_test","ompi_osc_monitoring_ucx_unlock","ompi_osc_monitoring_ucx_unlock_all","ompi_osc_monitoring_ucx_wait","ompi_osc_rdma_accumulate","ompi_osc_rdma_add_attachment","ompi_osc_rdma_atomic_complete","ompi_osc_rdma_attach","ompi_osc_rdma_btl_op.constprop.0","ompi_osc_rdma_cas_put_complete","ompi_osc_rdma_check_posts","ompi_osc_rdma_compare_and_swap","ompi_osc_rdma_compare_and_swap.cold","ompi_osc_rdma_complete_atomic","ompi_osc_rdma_component_finalize","ompi_osc_rdma_component_init","ompi_osc_rdma_component_query","ompi_osc_rdma_component_register","ompi_osc_rdma_component_select","ompi_osc_rdma_demand_lock_peer","ompi_osc_rdma_detach","ompi_osc_rdma_fence_atomic","ompi_osc_rdma_fetch_and_op","ompi_osc_rdma_find_dynamic_region","ompi_osc_rdma_flush","ompi_osc_rdma_flush_all","ompi_osc_rdma_flush_local","ompi_osc_rdma_flush_local_all","ompi_osc_rdma_frag_alloc","ompi_osc_rdma_frag_alloc.constprop.0:0x1dafc0","ompi_osc_rdma_frag_alloc.constprop.0:0x1dd090","ompi_osc_rdma_frag_alloc.constprop.0:0x1e0770","ompi_osc_rdma_free","ompi_osc_rdma_gacc_amo.constprop.0","ompi_osc_rdma_gacc_master","ompi_osc_rdma_gacc_master_cleanup","ompi_osc_rdma_gacc_master_cleanup.cold","ompi_osc_rdma_get","ompi_osc_rdma_get_accumulate","ompi_osc_rdma_get_complete","ompi_osc_rdma_get_contig","ompi_osc_rdma_get_partial","ompi_osc_rdma_get_peers","ompi_osc_rdma_handle_fini","ompi_osc_rdma_handle_init","ompi_osc_rdma_initialize_region.isra.0","ompi_osc_rdma_lock_all_atomic","ompi_osc_rdma_lock_atomic","ompi_osc_rdma_lock_atomic_internal","ompi_osc_rdma_lock_release_exclusive.constprop.0.isra.0","ompi_osc_rdma_lock_release_exclusive.constprop.0.isra.0.cold","ompi_osc_rdma_master_noncontig","ompi_osc_rdma_new_peer","ompi_osc_rdma_new_peer.cold","ompi_osc_rdma_peer_accumulate_cleanup","ompi_osc_rdma_peer_accumulate_cleanup.cold","ompi_osc_rdma_peer_basic_construct","ompi_osc_rdma_peer_basic_destruct","ompi_osc_rdma_peer_btl_endpoint","ompi_osc_rdma_peer_construct","ompi_osc_rdma_peer_destruct","ompi_osc_rdma_peer_dynamic_construct","ompi_osc_rdma_peer_dynamic_destruct","ompi_osc_rdma_peer_lookup","ompi_osc_rdma_peer_setup","ompi_osc_rdma_pending_op_construct","ompi_osc_rdma_pending_op_destruct","ompi_osc_rdma_post_atomic","ompi_osc_rdma_put","ompi_osc_rdma_put_complete","ompi_osc_rdma_put_complete_flush","ompi_osc_rdma_put_contig","ompi_osc_rdma_pvar_read","ompi_osc_rdma_raccumulate","ompi_osc_rdma_release_peers","ompi_osc_rdma_request_complete:0x1c62b0","ompi_osc_rdma_request_complete:0x1cee10","ompi_osc_rdma_rget","ompi_osc_rdma_rget_accumulate","ompi_osc_rdma_rget_accumulate_internal","ompi_osc_rdma_rget_accumulate_internal.cold","ompi_osc_rdma_rput","ompi_osc_rdma_set_no_lock_info","ompi_osc_rdma_start_atomic","ompi_osc_rdma_sync","ompi_osc_rdma_sync_allocate","ompi_osc_rdma_sync_constructor","ompi_osc_rdma_sync_destructor","ompi_osc_rdma_sync_pscw_peer","ompi_osc_rdma_sync_return","ompi_osc_rdma_test_atomic","ompi_osc_rdma_unlock_all_atomic","ompi_osc_rdma_unlock_all_atomic.cold","ompi_osc_rdma_unlock_atomic","ompi_osc_rdma_unlock_atomic.cold","ompi_osc_rdma_wait_atomic","ompi_osc_sm_accumulate","ompi_osc_sm_attach","ompi_osc_sm_compare_and_swap","ompi_osc_sm_complete","ompi_osc_sm_detach","ompi_osc_sm_fence","ompi_osc_sm_fetch_and_op","ompi_osc_sm_flush","ompi_osc_sm_flush_all","ompi_osc_sm_flush_local","ompi_osc_sm_flush_local_all","ompi_osc_sm_free","ompi_osc_sm_get","ompi_osc_sm_get_accumulate","ompi_osc_sm_get_info","ompi_osc_sm_group_ranks","ompi_osc_sm_lock","ompi_osc_sm_lock_all","ompi_osc_sm_post","ompi_osc_sm_put","ompi_osc_sm_raccumulate","ompi_osc_sm_rget","ompi_osc_sm_rget_accumulate","ompi_osc_sm_rput","ompi_osc_sm_set_info","ompi_osc_sm_shared_query","ompi_osc_sm_start","ompi_osc_sm_sync","ompi_osc_sm_test","ompi_osc_sm_unlock","ompi_osc_sm_unlock_all","ompi_osc_sm_wait","ompi_pmix_print_id","ompi_pmix_print_name","ompi_pmix_snprintf_jobid","ompi_pml_ob1_append_frag_to_ordered_list","ompi_pml_ob1_check_cantmatch_for_match","ompi_pml_v_output_close","ompi_pml_v_output_open","ompi_proc_all","ompi_proc_allocate","ompi_proc_compare_vid","ompi_proc_complete_init","ompi_proc_complete_init_single","ompi_proc_construct","ompi_proc_destruct","ompi_proc_finalize","ompi_proc_find","ompi_proc_find_and_add","ompi_proc_for_name","ompi_proc_get_allocated","ompi_proc_init","ompi_proc_lookup","ompi_proc_pack","ompi_proc_refresh","ompi_proc_self","ompi_proc_unpack","ompi_proc_world","ompi_proc_world_size","ompi_rbcast_bml_send_complete_cb","ompi_report_comm_methods","ompi_request_check_same_instance","ompi_request_construct","ompi_request_default_test","ompi_request_default_test_all","ompi_request_default_test_any","ompi_request_default_test_some","ompi_request_default_wait","ompi_request_default_wait_all","ompi_request_default_wait_any","ompi_request_default_wait_some","ompi_request_destruct","ompi_request_empty_free","ompi_request_finalize","ompi_request_init","ompi_request_is_failed_fn","ompi_request_null_cancel","ompi_request_null_free","ompi_request_persistent_noop_create","ompi_request_persistent_noop_free","ompi_request_wait_completion:0x1f3e20","ompi_request_wait_completion:0x1f56c0","ompi_request_wait_completion:0x1f7c70","ompi_request_wait_completion:0x212b80","ompi_request_wait_completion:0x5d7f0","ompi_rounddown","ompi_rte_abort","ompi_rte_abort_peers","ompi_rte_breakpoint","ompi_rte_compare_name_fields","ompi_rte_convert_process_name_to_string","ompi_rte_convert_string_to_process_name","ompi_rte_finalize","ompi_rte_init","ompi_rte_wait_for_debugger","ompi_seq_tracker_check_duplicate","ompi_seq_tracker_construct","ompi_seq_tracker_copy","ompi_seq_tracker_destruct","ompi_seq_tracker_insert","ompi_set_group_rank","ompi_show_all_mca_params","ompi_test_fortran_constants","ompi_test_fortran_constants_","ompi_test_fortran_constants__","ompi_test_fortran_constants_f","ompi_type_dup_fn_f","ompi_type_null_copy_fn_f","ompi_type_null_delete_fn_f","ompi_vprotocol_pessimist_delivery_replay","ompi_vprotocol_pessimist_event_logger_connect","ompi_vprotocol_pessimist_event_logger_connect.cold","ompi_vprotocol_pessimist_event_logger_disconnect","ompi_vprotocol_pessimist_matching_replay","ompi_vprotocol_pessimist_sender_based_alloc","ompi_vprotocol_pessimist_sender_based_finalize","ompi_vprotocol_pessimist_sender_based_init","ompi_win_allocate","ompi_win_allocate_shared","ompi_win_construct","ompi_win_create","ompi_win_create_dynamic","ompi_win_destruct","ompi_win_dup_fn_f","ompi_win_finalize","ompi_win_free","ompi_win_get_name","ompi_win_group","ompi_win_init","ompi_win_null_copy_fn_f","ompi_win_null_delete_fn_f","ompi_win_set_name","ompit_opal_to_mpit_error","ompit_var_type_to_datatype","opal_free_list_wait","opal_free_list_wait.constprop.0:0x1f8730","opal_free_list_wait.constprop.0:0x1fbad0","open_component","optimize_arity","partial_aggregate_aff_mat","partial_exhaustive_search","partial_update_val","rankkeycompare","recurs_select_independent_groups","recv_cb:0x1613b0","recv_cb:0x1647d0","recv_request_pml_complete","reduce_inorder","register_component:0x1686b0","register_component:0x175430","register_component:0x17baa0","register_datarep","register_tm_clones","release_objs_callback","release_vecs_callback","request_cancel:0x127800","request_cancel:0x1da890","request_construct:0x127810","request_construct:0x1da8a0","request_free:0x127b50","request_free:0x1da910","request_start","result_request","retreive_size","retreive_size.cold","save_ptr","select_independent_groups","self_register","send_cb:0x160b60","send_cb:0x163f50","send_msg","send_msg.cold","send_request_pml_complete","set_handler_default","set_value","shuffle_init.constprop.0:0x16bb70","shuffle_init.constprop.0:0x16f180","sm_close","sm_module_enable","sm_register:0x108080","sm_register:0x215be0","sync_register","tab_cmp","tgt_to_tm","thread_loop","tm_bucket_grouping","tm_build_affinity_mat","tm_build_synthetic_topology","tm_build_tree_from_topology","tm_calloc","tm_close_verbose_file","tm_complete_obj_weight","tm_compute_mapping","tm_compute_nb_leaves_from_level","tm_create_work","tm_destroy_work","tm_display_arity","tm_display_other_heuristics","tm_display_solution","tm_display_tab","tm_display_topology","tm_enable_oversubscribing","tm_fiboTreeDel","tm_fiboTreeExit","tm_fiboTreeFree","tm_fiboTreeInit","tm_fiboTreeMin","tm_fill_tab","tm_finalize","tm_free","tm_free_affinity_mat","tm_free_solution","tm_free_topology","tm_free_tree","tm_genrand_int31","tm_genrand_int32","tm_genrand_real1","tm_genrand_real2","tm_genrand_real3","tm_genrand_res53","tm_get_exhaustive_search_flag","tm_get_greedy_flag","tm_get_local_topology_with_hwloc","tm_get_local_topology_with_hwloc.cold","tm_get_nb_threads","tm_get_numbering","tm_get_time","tm_get_verbose_level","tm_get_verbose_output","tm_in_tab","tm_init_genrand","tm_intCIV_get","tm_intCIV_init","tm_intCIV_isInitialized","tm_intCIV_set","tm_int_cmp_inc","tm_kPartitioning","tm_kpartition","tm_kpartition.cold","tm_kpartition_build_tree_from_topology","tm_load_aff_mat","tm_load_topology","tm_load_topology.cold","tm_malloc","tm_map_MPIPP","tm_map_Packed","tm_map_RR","tm_map_topology","tm_mem_check","tm_nb_processing_units","tm_new_affinity_mat","tm_open_verbose_file","tm_optimize_topology","tm_print_1D_tab","tm_realloc","tm_set_exhaustive_search_flag","tm_set_greedy_flag","tm_set_max_nb_threads","tm_set_node","tm_set_numbering","tm_set_verbose_level","tm_submit_work","tm_terminate_thread_pool","tm_test_main","tm_time_diff","tm_topology_add_binding_constraints","tm_topology_set_binding_constraints","tm_try_add_edge","tm_update_val","tm_wait_work_completion","treematch_module_constructor","treematch_module_destructor","tuned_close","tuned_module_enable","tuned_open","tuned_register","vprotocol_pessimist_delivery_log","vprotocol_pessimist_request_construct","vprotocol_pessimist_request_no_free","vulcan_register","weighted_degree_dsc","write_init","write_init.constprop.0"],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/openmpi-5.0.7-y6xplmqxukxsuvvwnv2jqvztli5rhevm/lib/libmpi.so.40","include_offsets":false},{"type":2,"name":"ior","functions":["AllocResults","CheckFileSize","CheckForOutliers","CheckRunSettings","CompareBuffers","CountErrors","CreateTest","CurrentTimeString","DUMMY_Close","DUMMY_Create","DUMMY_Delete","DUMMY_Fsync","DUMMY_GetFileSize","DUMMY_Open","DUMMY_Sync","DUMMY_Xfer","DUMMY_access","DUMMY_check_params","DUMMY_getVersion","DUMMY_mkdir","DUMMY_options","DUMMY_rmdir","DUMMY_stat","DUMMY_statfs","DecodeDirective","DelaySecs","DestroyTest","DestroyTests","DisplayFreespace","DisplayOutliers","DistributeHints","DumpBuffer","ExtractHint","FailMessage","FillBuffer","FillIncompressibleBuffer","FreeResults","GetNumNodes","GetNumTasks","GetNumTasksOnNode0","GetOffsetArrayRandom","GetOffsetArraySequential","GetPlatformName","GetTestFileName","GetTimeStamp","HDF5_Access","HDF5_Close","HDF5_Create","HDF5_Delete","HDF5_Fsync","HDF5_GetFileSize","HDF5_GetVersion","HDF5_Open","HDF5_Xfer","HDF5_options","HogMemory","HumanReadable","InitTests","MMAP_Close","MMAP_Create","MMAP_Fsync","MMAP_Open","MMAP_Xfer","MMAP_options","MPIIO_Access","MPIIO_Close","MPIIO_Create","MPIIO_Delete","MPIIO_Fsync","MPIIO_GetFileSize","MPIIO_GetVersion","MPIIO_Open","MPIIO_Xfer","NodeMemoryStringToBytes","POSIX_Close","POSIX_Create","POSIX_Delete","POSIX_Fsync","POSIX_GetFileSize","POSIX_Mknod","POSIX_Open","POSIX_Sync","POSIX_Xfer","POSIX_options","PPDouble","ParseCommandLine","ParseFileName","ParseLine","PrependDir","PrintArrayEnd","PrintArrayNamedStart","PrintArrayStart","PrintEndSection","PrintHeader","PrintIndent","PrintKeyVal","PrintKeyValDouble","PrintKeyValEnd","PrintKeyValInt","PrintKeyValStart","PrintLongSummaryAllTests","PrintLongSummaryHeader","PrintLongSummaryOneOperation","PrintLongSummaryOneTest","PrintNamedArrayStart","PrintNamedSectionStart","PrintNextToken","PrintReducedResult","PrintRemoveTiming","PrintRepeatEnd","PrintRepeatStart","PrintShortSummary","PrintStartSection","PrintTableHeader","PrintTestEnds","PrintTimestamp","QueryNodeMapping","ReadConfigScript","ReadStoneWallingIterations","ReduceIterResults","Regex","RemoveFile","SeedRandGen","SetHints","SetupDataSet","ShowFileSystemSize","ShowHints","ShowSetup","ShowTestEnd","ShowTestStart","StoreStoneWallingIterations","StringToBytes","TestIoSys","TimeDeviation","ValidateTests","WriteOrRead","WriteOrReadSingle","WriteTimes","XferBuffersFree","XferBuffersSetup","__do_global_dtors_aux","aiori_count","aiori_default","aiori_finalize","aiori_get_version","aiori_initialize","aiori_posix_access","aiori_posix_mkdir","aiori_posix_rmdir","aiori_posix_stat","aiori_posix_statfs","aiori_select","aiori_supported_apis","airoi_create_all_module_options","airoi_update_module_options","aligned_buffer_alloc","aligned_buffer_free","bw_ops_values","bw_values","contains_only","createGlobalOptions","decodeDirectiveWrapper","deregister_tm_clones","file_hits_histogram","frame_dummy","init_IOR_Param_t","init_clock","init_or_fini","init_or_fini_internal","ior_main","ior_mmap_file","ior_run","main","malloc_and_touch","mean_of_array_of_doubles","ops_values","option_parse","option_parse_key_value","option_parse_str","option_parse_token","option_print_current","option_print_help","print_current_option_section","print_help_section","print_option_value","print_value","register_tm_clones","safeMalloc","set_o_direct_flag","string_to_bytes","test_time_elapsed","updateParsedOptions"],"binary_path":"/home/haridev/spack/opt/spack/linux-haswell/ior-3.3.0-ip47j26fw7xxfftdzjvy2h36phgcuypv/bin/ior","include_offsets":false},{"type":1,"name":"lustre","functions":["cap_drop"]}] diff --git a/etc/datacrumbs/data/probes-invalid-haridev-lead.json b/etc/datacrumbs/data/probes-invalid-haridev-lead.json index e38f0cab..fd9f7654 100644 --- a/etc/datacrumbs/data/probes-invalid-haridev-lead.json +++ b/etc/datacrumbs/data/probes-invalid-haridev-lead.json @@ -1 +1 @@ -[{"type":4,"name":"custom1","functions":[],"bpf_path":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c","start_event_id":100000,"process_header":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h","event_type":2},{"type":0,"name":"sys","functions":[]},{"type":1,"name":"os_page_cache","functions":[]},{"type":1,"name":"lustre","functions":["__pfx___pcc_inode_create","__pfx___pcc_layout_invalidate.part.0.constprop.0","__pfx___sa_make_ready","__pfx_alloc_rw_stats_info","__pfx_blocksize_show","__pfx_can_populate_pages.isra.0","__pfx_cap_drop","__pfx_cfs_cdebug_show.part.0.constprop.0:0x1b60","__pfx_cfs_cdebug_show.part.0.constprop.0:0x2b120","__pfx_cfs_cdebug_show.part.0.constprop.0:0x480c0","__pfx_cfs_cdebug_show.part.0.constprop.0:0x4b040","__pfx_cfs_cdebug_show.part.0.constprop.0:0x54740","__pfx_cfs_cdebug_show.part.0.constprop.0:0x57840","__pfx_cfs_cdebug_show.part.0.constprop.0:0x60ab0","__pfx_cfs_cdebug_show.part.0.constprop.0:0x612b0","__pfx_cfs_cdebug_show.part.0.constprop.0:0x6a0b0","__pfx_cfs_cdebug_show.part.0.constprop.0:0x6cad0","__pfx_cfs_cdebug_show.part.0.constprop.0:0x73ad0","__pfx_cfs_cdebug_show.part.0.constprop.0:0x7f620","__pfx_cfs_cdebug_show.part.0.constprop.0:0x82e50","__pfx_cfs_cdebug_show.part.0.constprop.0:0xea90","__pfx_cfs_cpt_bind_workqueue.constprop.0","__pfx_cfs_match_wildcard","__pfx_cfs_race.constprop.0","__pfx_checksums_show","__pfx_checksums_store","__pfx_cl_falloc","__pfx_cl_fid_build_gen","__pfx_cl_fid_build_ino","__pfx_cl_file_inode_init","__pfx_cl_get_grouplock","__pfx_cl_glimpse_lock","__pfx_cl_glimpse_size0","__pfx_cl_init_ea_size.isra.0","__pfx_cl_inode2vvp","__pfx_cl_inode_fini","__pfx_cl_io_get","__pfx_cl_ocd_update","__pfx_cl_put_grouplock","__pfx_cl_sb_fini","__pfx_cl_sb_init","__pfx_cl_setattr_ost","__pfx_cl_sync_file_range","__pfx_cleanup_module","__pfx_client_common_fill_super","__pfx_client_type_show","__pfx_copy_and_ct_start.constprop.0","__pfx_default_easize_show","__pfx_default_easize_store","__pfx_dirty_cnt","__pfx_do_release_page.constprop.0","__pfx_fast_read_show","__pfx_fast_read_store","__pfx_file_heat_show","__pfx_file_heat_store","__pfx_file_read_confine_iter","__pfx_filesfree_show","__pfx_filestotal_show","__pfx_foreign_symlink_alloc_and_copy_prefix","__pfx_foreign_symlink_enable_show","__pfx_foreign_symlink_enable_store","__pfx_foreign_symlink_prefix_show","__pfx_foreign_symlink_prefix_store","__pfx_foreign_symlink_upcall_info_store","__pfx_foreign_symlink_upcall_show","__pfx_foreign_symlink_upcall_store","__pfx_free_dentry_data","__pfx_fstype_show","__pfx_get_hsm_state.constprop.0","__pfx_get_uuid2int","__pfx_get_xattr_type","__pfx_has_same_mount_namespace","__pfx_heat_decay_percentage_show","__pfx_heat_decay_percentage_store","__pfx_heat_period_second_show","__pfx_heat_period_second_store","__pfx_init_module","__pfx_inode_cache_show","__pfx_inode_cache_store","__pfx_is_first_dirent","__pfx_kbytesavail_show","__pfx_kbytesfree_show","__pfx_kbytestotal_show","__pfx_kickoff_async_readahead","__pfx_lazystatfs_show","__pfx_lazystatfs_store","__pfx_ll_agl_add","__pfx_ll_agl_thread","__pfx_ll_agl_trigger","__pfx_ll_alloc_inode","__pfx_ll_atomic_open","__pfx_ll_authorize_statahead","__pfx_ll_check_swap_layouts_validity","__pfx_ll_cl_add","__pfx_ll_cl_find","__pfx_ll_cl_remove","__pfx_ll_clear_inode","__pfx_ll_close_inode_openhandle","__pfx_ll_compute_rootsquash_state","__pfx_ll_copy_user_md","__pfx_ll_create_it","__pfx_ll_create_nd","__pfx_ll_create_node","__pfx_ll_d_init","__pfx_ll_data_version","__pfx_ll_dcompare","__pfx_ll_ddelete","__pfx_ll_deauthorize_statahead","__pfx_ll_debugfs_register_super","__pfx_ll_debugfs_unregister_super","__pfx_ll_delete_inode","__pfx_ll_dentry_init_security","__pfx_ll_destroy_inode","__pfx_ll_dir_clear_lsm_md","__pfx_ll_dir_flush","__pfx_ll_dir_get_default_layout","__pfx_ll_dir_get_parent_fid","__pfx_ll_dir_getstripe","__pfx_ll_dir_getstripe_default","__pfx_ll_dir_ioctl","__pfx_ll_dir_open","__pfx_ll_dir_read","__pfx_ll_dir_release","__pfx_ll_dir_seek","__pfx_ll_dir_setdirstripe","__pfx_ll_dir_setstripe","__pfx_ll_direct_IO","__pfx_ll_direct_IO_impl","__pfx_ll_direct_rw_pages","__pfx_ll_dirty_page_discard_warn","__pfx_ll_display_extents_info","__pfx_ll_do_fiemap","__pfx_ll_do_tiny_write","__pfx_ll_dom_finish_open","__pfx_ll_dom_lock_cancel","__pfx_ll_dom_read_folio","__pfx_ll_dom_readpage","__pfx_ll_dput_later","__pfx_ll_drop_inode","__pfx_ll_dummy_context","__pfx_ll_empty_dir","__pfx_ll_encode_fh","__pfx_ll_fallocate","__pfx_ll_fault","__pfx_ll_fault0","__pfx_ll_fault_io_init","__pfx_ll_fh_to_dentry","__pfx_ll_fh_to_parent","__pfx_ll_fid2path","__pfx_ll_fiemap","__pfx_ll_file_data_put.part.0","__pfx_ll_file_flock","__pfx_ll_file_futimes_3","__pfx_ll_file_getstripe","__pfx_ll_file_io_generic","__pfx_ll_file_ioctl","__pfx_ll_file_lock_ahead","__pfx_ll_file_mmap","__pfx_ll_file_noflock","__pfx_ll_file_open","__pfx_ll_file_open_encrypt","__pfx_ll_file_read_iter","__pfx_ll_file_release","__pfx_ll_file_seek","__pfx_ll_file_set_lease","__pfx_ll_file_unlock_lease","__pfx_ll_file_write_iter","__pfx_ll_filemap_fault","__pfx_ll_filemap_get_one_page_contig","__pfx_ll_filename_enc_seq_show","__pfx_ll_filename_enc_seq_write","__pfx_ll_filename_enc_single_open","__pfx_ll_fill_super","__pfx_ll_find_alias","__pfx_ll_finish_md_op_data","__pfx_ll_flush","__pfx_ll_flush_ctx","__pfx_ll_fname_disk_to_usr","__pfx_ll_foreign_dir_lookup","__pfx_ll_foreign_get_link","__pfx_ll_foreign_is_openable","__pfx_ll_foreign_is_removable","__pfx_ll_foreign_put_link","__pfx_ll_foreign_readlink_internal","__pfx_ll_foreign_symlink_default_parse","__pfx_ll_foreign_symlink_getattr","__pfx_ll_foreign_symlink_upcall_parse","__pfx_ll_free_rw_stats_info","__pfx_ll_free_sbi.isra.0","__pfx_ll_fsync","__pfx_ll_get_acl","__pfx_ll_get_acl_common","__pfx_ll_get_context","__pfx_ll_get_default_mdsize","__pfx_ll_get_dir_page","__pfx_ll_get_fid_by_name","__pfx_ll_get_grouplock","__pfx_ll_get_inode_acl","__pfx_ll_get_link","__pfx_ll_get_max_mdsize","__pfx_ll_get_mdt_idx","__pfx_ll_get_mdt_idx_by_fid","__pfx_ll_get_name","__pfx_ll_get_obd_name","__pfx_ll_get_parent","__pfx_ll_getattr","__pfx_ll_getattr_dentry","__pfx_ll_getattr_link","__pfx_ll_getname","__pfx_ll_getparent","__pfx_ll_getxattr_lov","__pfx_ll_have_md_lock","__pfx_ll_heat_add","__pfx_ll_hsm_import","__pfx_ll_hsm_release","__pfx_ll_hsm_state_set","__pfx_ll_i2gids","__pfx_ll_i2suppgid","__pfx_ll_iget","__pfx_ll_iget_anon_dir","__pfx_ll_iget_for_nfs.constprop.0","__pfx_ll_init_lsm_md","__pfx_ll_init_sbi","__pfx_ll_initxattrs","__pfx_ll_inode2fid.part.0:0x1ad0","__pfx_ll_inode2fid.part.0:0x2abb0","__pfx_ll_inode2fid.part.0:0x4b000","__pfx_ll_inode2fid.part.0:0x54700","__pfx_ll_inode2fid.part.0:0x61270","__pfx_ll_inode2fid.part.0:0x7f5e0","__pfx_ll_inode2fid.part.0:0xe9d0","__pfx_ll_inode_destroy_callback","__pfx_ll_inode_from_resource_lock","__pfx_ll_inode_init_security","__pfx_ll_inode_notifysecctx","__pfx_ll_inode_permission","__pfx_ll_inode_revalidate","__pfx_ll_inode_size_lock","__pfx_ll_inode_size_unlock","__pfx_ll_intent_drop_lock","__pfx_ll_intent_drop_lock.part.0","__pfx_ll_intent_file_open","__pfx_ll_intent_release","__pfx_ll_invalidate_folio","__pfx_ll_io_init","__pfx_ll_io_read_page","__pfx_ll_io_set_mirror","__pfx_ll_io_zero_page","__pfx_ll_ioc_copy_end","__pfx_ll_ioc_copy_start","__pfx_ll_ioc_data_version","__pfx_ll_iocontrol","__pfx_ll_ioctl_check_project","__pfx_ll_ioctl_fsgetxattr","__pfx_ll_ioctl_fssetxattr","__pfx_ll_ioctl_project","__pfx_ll_iterate","__pfx_ll_kill_super","__pfx_ll_ladvise.constprop.0","__pfx_ll_ladvise_sanity.isra.0","__pfx_ll_layout_conf","__pfx_ll_layout_fetch","__pfx_ll_layout_intent","__pfx_ll_layout_lock_set","__pfx_ll_layout_refresh","__pfx_ll_layout_restore","__pfx_ll_layout_write_intent","__pfx_ll_lease_close_intent","__pfx_ll_lease_file_resync","__pfx_ll_lease_och_acquire","__pfx_ll_lease_open","__pfx_ll_link","__pfx_ll_linkea_decode","__pfx_ll_listxattr","__pfx_ll_lli_init","__pfx_ll_local_open","__pfx_ll_lock_cancel_bits","__pfx_ll_lookup_finish_locks","__pfx_ll_lookup_it","__pfx_ll_lookup_it_finish.constprop.0","__pfx_ll_lookup_nd","__pfx_ll_lov_getstripe_ea_info","__pfx_ll_lov_setea","__pfx_ll_lov_setstripe","__pfx_ll_lov_setstripe_ea_info","__pfx_ll_lseek","__pfx_ll_manage_foreign","__pfx_ll_manage_foreign_dir","__pfx_ll_manage_foreign_file","__pfx_ll_max_cached_mb_seq_show","__pfx_ll_max_cached_mb_seq_write","__pfx_ll_max_cached_mb_single_open","__pfx_ll_md_blocking_ast","__pfx_ll_md_blocking_lease_ast","__pfx_ll_md_close","__pfx_ll_md_need_convert","__pfx_ll_md_real_close","__pfx_ll_md_setattr","__pfx_ll_merge_attr","__pfx_ll_merge_md_attr","__pfx_ll_migrate","__pfx_ll_migrate_folio","__pfx_ll_mkdir","__pfx_ll_mknod","__pfx_ll_new_node","__pfx_ll_nfs_get_name_filldir","__pfx_ll_nosquash_nids_seq_show","__pfx_ll_nosquash_nids_seq_write","__pfx_ll_nosquash_nids_single_open","__pfx_ll_obd_statfs","__pfx_ll_och_fill","__pfx_ll_old_b64_enc_seq_show","__pfx_ll_old_b64_enc_seq_write","__pfx_ll_old_b64_enc_single_open","__pfx_ll_open_cleanup","__pfx_ll_options.isra.0","__pfx_ll_page_mkwrite","__pfx_ll_page_mkwrite0.constprop.0","__pfx_ll_pcc_seq_show","__pfx_ll_pcc_seq_write","__pfx_ll_pcc_single_open","__pfx_ll_prep_inode","__pfx_ll_prep_md_op_data","__pfx_ll_prepare_close","__pfx_ll_prepare_partial_page","__pfx_ll_prune_aliases","__pfx_ll_prune_negative_children","__pfx_ll_put_grouplock.isra.0","__pfx_ll_put_link","__pfx_ll_put_super","__pfx_ll_ra_count_get.constprop.0","__pfx_ll_ra_count_put","__pfx_ll_ra_stats_inc","__pfx_ll_ras_enter","__pfx_ll_read_ahead_page","__pfx_ll_read_ahead_pages","__pfx_ll_read_cache_page.constprop.0","__pfx_ll_read_folio","__pfx_ll_read_inode2","__pfx_ll_readahead.constprop.0","__pfx_ll_readahead_file_kms","__pfx_ll_readahead_handle_work","__pfx_ll_readahead_init","__pfx_ll_readlink_internal.constprop.0","__pfx_ll_readpage","__pfx_ll_readpages","__pfx_ll_release","__pfx_ll_release_folio","__pfx_ll_release_openhandle","__pfx_ll_release_page","__pfx_ll_remount_fs","__pfx_ll_rename","__pfx_ll_revalidate_d_crypto","__pfx_ll_revalidate_dentry","__pfx_ll_revalidate_it_finish","__pfx_ll_revalidate_statahead","__pfx_ll_rmdir","__pfx_ll_rmdir_entry","__pfx_ll_rmfid","__pfx_ll_root_squash_seq_show","__pfx_ll_root_squash_seq_write","__pfx_ll_root_squash_single_open","__pfx_ll_rw_extents_stats_pp_seq_show","__pfx_ll_rw_extents_stats_pp_seq_write","__pfx_ll_rw_extents_stats_pp_single_open","__pfx_ll_rw_extents_stats_seq_show","__pfx_ll_rw_extents_stats_seq_write","__pfx_ll_rw_extents_stats_single_open","__pfx_ll_rw_offset_stats_seq_show","__pfx_ll_rw_offset_stats_seq_write","__pfx_ll_rw_offset_stats_single_open","__pfx_ll_rw_stats_tally","__pfx_ll_sai_alloc","__pfx_ll_sai_free","__pfx_ll_sai_put","__pfx_ll_sb_has_test_dummy_encryption","__pfx_ll_sbi_flags_seq_show","__pfx_ll_sbi_flags_single_open","__pfx_ll_sbi_has_encrypt","__pfx_ll_sbi_has_name_encrypt","__pfx_ll_sbi_set_encrypt","__pfx_ll_sbi_set_name_encrypt","__pfx_ll_secctx_name_free","__pfx_ll_secctx_name_get","__pfx_ll_secctx_name_store","__pfx_ll_security_secctx_name_filter","__pfx_ll_select_file_operations","__pfx_ll_set_acl","__pfx_ll_set_context","__pfx_ll_set_default_mdsize","__pfx_ll_set_encflags","__pfx_ll_set_inode","__pfx_ll_set_lock_data.constprop.0:0x5b620","__pfx_ll_set_lock_data.constprop.0:0x62560","__pfx_ll_set_lock_data:0x11720","__pfx_ll_set_lock_data:0x4b5a0","__pfx_ll_set_lock_data:0x960","__pfx_ll_set_project","__pfx_ll_setattr","__pfx_ll_setattr_raw","__pfx_ll_setstripe_ea","__pfx_ll_setup_filename","__pfx_ll_show_options","__pfx_ll_site_stats_seq_show","__pfx_ll_site_stats_single_open","__pfx_ll_splice_alias","__pfx_ll_start_agl","__pfx_ll_start_statahead","__pfx_ll_statahead_interpret","__pfx_ll_statahead_stats_seq_show","__pfx_ll_statahead_stats_single_open","__pfx_ll_statahead_thread","__pfx_ll_statfs","__pfx_ll_statfs_internal","__pfx_ll_statfs_project.constprop.0","__pfx_ll_stats_ops_tally","__pfx_ll_stats_pid_write","__pfx_ll_stop_agl","__pfx_ll_swap_layouts","__pfx_ll_swap_layouts_close","__pfx_ll_symlink","__pfx_ll_take_md_lock","__pfx_ll_test_inode","__pfx_ll_test_inode_by_fid","__pfx_ll_thread_key_fini","__pfx_ll_thread_key_init","__pfx_ll_track_file_opens","__pfx_ll_truncate_inode_pages_final","__pfx_ll_umount_begin","__pfx_ll_unlink","__pfx_ll_unlock_md_op_lsm","__pfx_ll_unstable_stats_seq_show","__pfx_ll_unstable_stats_seq_write","__pfx_ll_unstable_stats_single_open","__pfx_ll_update_default_lsm_md","__pfx_ll_update_dir_depth","__pfx_ll_update_inode","__pfx_ll_update_inode_flags","__pfx_ll_update_lsm_md","__pfx_ll_update_times","__pfx_ll_vm_close","__pfx_ll_vm_open","__pfx_ll_write_begin","__pfx_ll_write_end","__pfx_ll_writepage","__pfx_ll_writepages","__pfx_ll_xattr_cache_add","__pfx_ll_xattr_cache_del.constprop.0","__pfx_ll_xattr_cache_destroy","__pfx_ll_xattr_cache_destroy_locked","__pfx_ll_xattr_cache_empty","__pfx_ll_xattr_cache_find","__pfx_ll_xattr_cache_get","__pfx_ll_xattr_cache_init","__pfx_ll_xattr_cache_insert","__pfx_ll_xattr_cache_list","__pfx_ll_xattr_cache_refill","__pfx_ll_xattr_find_get_lock","__pfx_ll_xattr_fini","__pfx_ll_xattr_get","__pfx_ll_xattr_get_common","__pfx_ll_xattr_init","__pfx_ll_xattr_list","__pfx_ll_xattr_set","__pfx_ll_xattr_set_common","__pfx_llcrypt_free_ctx","__pfx_llcrypt_require_key","__pfx_llite_kobj_release","__pfx_llite_tunables_register","__pfx_llite_tunables_unregister","__pfx_lsm_md_dump","__pfx_lustre_fill_super","__pfx_lustre_kill_super","__pfx_lustre_mount","__pfx_max_easize_show","__pfx_max_read_ahead_async_active_show","__pfx_max_read_ahead_async_active_store","__pfx_max_read_ahead_mb_show","__pfx_max_read_ahead_mb_store","__pfx_max_read_ahead_per_file_mb_show","__pfx_max_read_ahead_per_file_mb_store","__pfx_max_read_ahead_whole_mb_show","__pfx_max_read_ahead_whole_mb_store","__pfx_mkwrite_commit_callback","__pfx_obd_connect.constprop.0","__pfx_obd_disconnect.isra.0","__pfx_obd_get_info.constprop.0:0x2650","__pfx_obd_get_info.constprop.0:0x2c120","__pfx_obd_get_info.constprop.0:0x69180","__pfx_obd_iocontrol.constprop.0:0x2bdb0","__pfx_obd_iocontrol.constprop.0:0x57870","__pfx_obd_iocontrol.constprop.0:0x74a70","__pfx_obd_iocontrol:0x10460","__pfx_obd_iocontrol:0x22e0","__pfx_obd_quotactl","__pfx_obd_set_info_async.constprop.0:0x2c490","__pfx_obd_set_info_async.constprop.0:0x492e0","__pfx_obd_statfs.constprop.0","__pfx_opencache_max_ms_show","__pfx_opencache_max_ms_store","__pfx_opencache_threshold_count_show","__pfx_opencache_threshold_count_store","__pfx_opencache_threshold_ms_show","__pfx_opencache_threshold_ms_store","__pfx_our_vma","__pfx_page_list_sanity_check.constprop.0","__pfx_parallel_dio_show","__pfx_parallel_dio_store","__pfx_pathname_is_valid","__pfx_pcc_cmd_fini.part.0","__pfx_pcc_cmd_handle","__pfx_pcc_cmd_parse.constprop.0","__pfx_pcc_conds_parse","__pfx_pcc_conjunction_free","__pfx_pcc_copy_data","__pfx_pcc_create_attach_cleanup","__pfx_pcc_dataset_add","__pfx_pcc_dataset_get","__pfx_pcc_dataset_match_get","__pfx_pcc_dataset_put","__pfx_pcc_dataset_rule_fini","__pfx_pcc_dataset_rule_init","__pfx_pcc_expression_free","__pfx_pcc_expression_parse","__pfx_pcc_fault","__pfx_pcc_fid2dataset_path.constprop.0.isra.0","__pfx_pcc_file_init","__pfx_pcc_file_mmap","__pfx_pcc_file_open","__pfx_pcc_file_read_iter","__pfx_pcc_file_release","__pfx_pcc_file_splice_read","__pfx_pcc_file_write_iter","__pfx_pcc_fname_list_add","__pfx_pcc_fname_list_free","__pfx_pcc_fsync","__pfx_pcc_get_layout_info","__pfx_pcc_hsm_remove","__pfx_pcc_id_list_free","__pfx_pcc_id_list_parse","__pfx_pcc_id_parse","__pfx_pcc_inode_attach_set.constprop.0","__pfx_pcc_inode_create","__pfx_pcc_inode_create_fini","__pfx_pcc_inode_free","__pfx_pcc_inode_getattr","__pfx_pcc_inode_put","__pfx_pcc_inode_remove.isra.0","__pfx_pcc_inode_reset_iattr","__pfx_pcc_inode_setattr","__pfx_pcc_io_fini","__pfx_pcc_io_init","__pfx_pcc_ioctl_detach","__pfx_pcc_ioctl_state","__pfx_pcc_layout_invalidate","__pfx_pcc_layout_xattr_set.isra.0","__pfx_pcc_lookup","__pfx_pcc_mkdir_p.constprop.0","__pfx_pcc_page_mkwrite","__pfx_pcc_parse_value_pair","__pfx_pcc_parse_value_pairs","__pfx_pcc_readwrite_attach","__pfx_pcc_readwrite_attach_fini","__pfx_pcc_remove_datasets","__pfx_pcc_rule_conds_free","__pfx_pcc_super_dump","__pfx_pcc_super_fini","__pfx_pcc_super_init","__pfx_pcc_try_auto_attach","__pfx_pcc_try_dataset_attach.constprop.0","__pfx_pcc_vm_close","__pfx_pcc_vm_open","__pfx_policy_from_vma","__pfx_posix_acl_release.part.0","__pfx_quotactl_ioctl","__pfx_ras_detect_read_pattern","__pfx_ras_reset","__pfx_ras_stride_increase_window","__pfx_ras_stride_reset","__pfx_ras_update","__pfx_read_ahead_async_file_threshold_mb_show","__pfx_read_ahead_async_file_threshold_mb_store","__pfx_read_ahead_range_kb_show","__pfx_read_ahead_range_kb_store","__pfx_read_in_stride_window","__pfx_revalidate_statahead_dentry","__pfx_ria_page_count","__pfx_sa_alloc","__pfx_sa_fini_data","__pfx_sa_free","__pfx_sa_handle_callback","__pfx_sa_instantiate","__pfx_sa_lookup","__pfx_sa_make_ready","__pfx_sa_prep_data","__pfx_sa_revalidate","__pfx_sa_statahead","__pfx_sbi_kobj_release","__pfx_search_inode_for_lustre","__pfx_start_statahead_thread","__pfx_stat_blocksize_show","__pfx_stat_blocksize_store","__pfx_statahead_agl_show","__pfx_statahead_agl_store","__pfx_statahead_max_show","__pfx_statahead_max_store","__pfx_statahead_running_max_show","__pfx_statahead_running_max_store","__pfx_statfs_max_age_show","__pfx_statfs_max_age_store","__pfx_stats_track_gid_show","__pfx_stats_track_gid_store","__pfx_stats_track_pid_show","__pfx_stats_track_pid_store","__pfx_stats_track_ppid_show","__pfx_stats_track_ppid_store","__pfx_stride_byte_count","__pfx_tiny_write_show","__pfx_tiny_write_store","__pfx_trunc_sem_down_read","__pfx_trunc_sem_down_write","__pfx_uuid_show","__pfx_volatile_ref_file","__pfx_vvp_attr_get","__pfx_vvp_attr_update","__pfx_vvp_conf_set","__pfx_vvp_device_alloc","__pfx_vvp_device_fini","__pfx_vvp_device_free","__pfx_vvp_device_init","__pfx_vvp_dump_pgcache_seq_open","__pfx_vvp_dump_pgcache_seq_release","__pfx_vvp_global_fini","__pfx_vvp_global_init","__pfx_vvp_io_advance","__pfx_vvp_io_commit_sync","__pfx_vvp_io_fault_end","__pfx_vvp_io_fault_fini","__pfx_vvp_io_fault_iter_init","__pfx_vvp_io_fault_lock","__pfx_vvp_io_fault_start","__pfx_vvp_io_fini","__pfx_vvp_io_fsync_start","__pfx_vvp_io_init","__pfx_vvp_io_kernel_fault","__pfx_vvp_io_lseek_end","__pfx_vvp_io_lseek_lock","__pfx_vvp_io_lseek_start","__pfx_vvp_io_one_lock_index","__pfx_vvp_io_read_ahead","__pfx_vvp_io_read_iter_init","__pfx_vvp_io_read_lock","__pfx_vvp_io_read_start","__pfx_vvp_io_rw_end","__pfx_vvp_io_rw_lock","__pfx_vvp_io_setattr_end","__pfx_vvp_io_setattr_fini","__pfx_vvp_io_setattr_iter_init","__pfx_vvp_io_setattr_lock","__pfx_vvp_io_setattr_start","__pfx_vvp_io_write_commit","__pfx_vvp_io_write_iter_fini","__pfx_vvp_io_write_iter_init","__pfx_vvp_io_write_lock","__pfx_vvp_io_write_start","__pfx_vvp_key_init_generic.constprop.0","__pfx_vvp_mmap_locks","__pfx_vvp_object_alloc","__pfx_vvp_object_free","__pfx_vvp_object_free_rcu","__pfx_vvp_object_glimpse","__pfx_vvp_object_init","__pfx_vvp_object_invariant","__pfx_vvp_object_print","__pfx_vvp_page_completion_read","__pfx_vvp_page_completion_write","__pfx_vvp_page_delete","__pfx_vvp_page_discard","__pfx_vvp_page_init","__pfx_vvp_pgcache_current","__pfx_vvp_pgcache_next","__pfx_vvp_pgcache_page_show.constprop.0","__pfx_vvp_pgcache_show","__pfx_vvp_pgcache_start","__pfx_vvp_pgcache_stop","__pfx_vvp_prep_size","__pfx_vvp_prune","__pfx_vvp_req_attr_set","__pfx_vvp_session_key_fini","__pfx_vvp_session_key_init","__pfx_vvp_set_batch_dirty","__pfx_vvp_thread_key_fini","__pfx_vvp_thread_key_init","__pfx_vvp_type_fini","__pfx_vvp_type_init","__pfx_vvp_type_start","__pfx_vvp_type_stop","__pfx_vvp_vmpage_error","__pfx_write_commit_callback","__pfx_xattr_cache_show","__pfx_xattr_cache_store","__pfx_xattr_type_filter","__pfx_zero_user_segments.constprop.0","cap_drop","cfs_cdebug_show.part.0.constprop.0:0x1b70","cfs_cdebug_show.part.0.constprop.0:0x2b130","cfs_cdebug_show.part.0.constprop.0:0x480d0","cfs_cdebug_show.part.0.constprop.0:0x4b050","cfs_cdebug_show.part.0.constprop.0:0x54750","cfs_cdebug_show.part.0.constprop.0:0x57850","cfs_cdebug_show.part.0.constprop.0:0x60ac0","cfs_cdebug_show.part.0.constprop.0:0x612c0","cfs_cdebug_show.part.0.constprop.0:0x6a0c0","cfs_cdebug_show.part.0.constprop.0:0x6cae0","cfs_cdebug_show.part.0.constprop.0:0x73ae0","cfs_cdebug_show.part.0.constprop.0:0x7f630","cfs_cdebug_show.part.0.constprop.0:0x82e60","cfs_cdebug_show.part.0.constprop.0:0xeaa0","cfs_cpt_bind_workqueue.constprop.0","cfs_race.constprop.0","cleanup_module","init_module","ll_dom_read_folio","ll_dom_readpage","ll_inode2fid.part.0:0x1ae0","ll_inode2fid.part.0:0x2abc0","ll_inode2fid.part.0:0x4b010","ll_inode2fid.part.0:0x54710","ll_inode2fid.part.0:0x61280","ll_inode2fid.part.0:0x7f5f0","ll_inode2fid.part.0:0xe9e0","ll_read_cache_page.constprop.0","ll_readlink_internal.constprop.0.cold","ll_sai_free","ll_set_lock_data.constprop.0:0x5b630","ll_set_lock_data.constprop.0:0x62570","ll_set_lock_data:0x11730","ll_set_lock_data:0x4b5b0","ll_set_lock_data:0x970","llcrypt_require_key","lsm_md_dump","lustre_exit","lustre_init","obd_connect.constprop.0","obd_disconnect.isra.0","obd_get_info.constprop.0:0x2660","obd_get_info.constprop.0:0x2c130","obd_get_info.constprop.0:0x69190","obd_iocontrol.constprop.0:0x2bdc0","obd_iocontrol.constprop.0:0x57880","obd_iocontrol.constprop.0:0x74a80","obd_iocontrol:0x10470","obd_iocontrol:0x22f0","obd_quotactl","obd_set_info_async.constprop.0:0x2c4a0","obd_set_info_async.constprop.0:0x492f0","obd_statfs.constprop.0","posix_acl_release.part.0","trunc_sem_down_read","trunc_sem_down_write","zero_user_segments.constprop.0"]},{"type":2,"name":"mpiio","functions":[],"binary_path":"/opt/toss/openmpi/4.1/gnu/lib/libmpi.so","include_offsets":false},{"type":2,"name":"ior","functions":[],"binary_path":"/home/haridev/software/ior/install/bin/ior","include_offsets":false}] +[{"type":4,"name":"custom1","functions":[],"bpf_path":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c","start_event_id":100000,"process_header":"/home/haridev/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h","event_type":2},{"type":0,"name":"sys","functions":[]},{"type":1,"name":"os_page_cache","functions":["page_cache_sync_readahead"]},{"type":1,"name":"lustre","functions":["cap_drop","cleanup_module","init_module","ll_dom_read_folio","ll_dom_readpage","ll_sai_free","llcrypt_require_key","lsm_md_dump","lustre_exit","lustre_init","obd_quotactl","posix_acl_release.part.0","trunc_sem_down_read","trunc_sem_down_write"]},{"type":1,"name":"mdc","functions":["cfs_delete_from_page_cache","cleanup_module","init_module","mdc_attr_pack","mdc_clear_replay_flag.part.0","mdc_exit","mdc_init","mdc_read_folio_remote","obd_notify","obd_quotactl"]},{"type":1,"name":"mgc","functions":["cleanup_module","init_module","mgc_exit","mgc_init"]},{"type":1,"name":"osc","functions":["_compound_head","cleanup_module","ext_flags","init_module","libcfs_nidstr","obd_notify","osc_exit","osc_init","osc_release_bounce_pages","ostid_id","ostid_seq"]},{"type":1,"name":"ptlrpc","functions":["cfs_race","cleanup_module","cpumask_weight","dt_delete","dt_insert","enc_pools_alloc","enc_pools_free","exp_connect_healthy","exp_finished","exp_finished_or_from_mdt","exp_lock_replay_healthy","exp_req_replay_healthy_or_from_mdt","exp_vbr_healthy","init_module","lcd_cpu_to_le","lcd_le_to_cpu","ldlm_callback_errmsg","ldlm_flock_destroy","ldlm_plain_compat_queue","libcfs_nid2str","lsd_cpu_to_le","lsd_le_to_cpu","obd_cksum_type_unpack","obd_commitrw","obd_connect","obd_disconnect","obd_preprw","obd_reconnect","ost_fid_from_resid","ostid_id","ostid_seq","page_from_bulkdesc","page_from_pagearray","ptlrpc_exit","ptlrpc_init","ptlrpc_release_bulk_noop","ptlrpc_req_drop_rs.part.0","ptlrpc_set_producer","tgt_fmd_put_nolock"]},{"type":2,"name":"mpi","functions":[],"binary_path":"/opt/toss/openmpi/4.1/gnu/lib/libmpi.so","include_offsets":false},{"type":2,"name":"ior","functions":[],"binary_path":"/home/haridev/software/ior/install/bin/ior","include_offsets":false},{"type":1,"name":"iomap","functions":["iomap_init","iomap_iter_advance","iomap_iter_done"]},{"type":1,"name":"xfs","functions":["xfs_ag_resv_rmapbt_alloc","xfs_attri_log_nameval_alloc","xfs_attri_recover_work","xfs_buf_lookup.constprop.0","xfs_bui_copy_format","xfs_cui_copy_format","xfs_defer_pending_cancel_work","xfs_fs_eofblocks_from_user","xfs_has_finobt","xfs_has_reflink","xfs_has_rmapbt","xfs_icount_range","xfs_iext_count","xfs_inobt_maxlevels_ondisk","xfs_internal_inum","xfs_rui_copy_format","xfs_sysfs_del.constprop.0","xfs_sysfs_release","xfs_verify_fsbno","xfs_verify_ino","xfs_verify_rtbno"]}] diff --git a/notes.MD b/notes.MD index e9a4fcf9..9909f654 100644 --- a/notes.MD +++ b/notes.MD @@ -53,7 +53,7 @@ sudo ssh lead${i} << 'EOF' rm /etc/systemd/system/datacrumbs.service EOF done -for i in 2 {4..6} {9..11}; do +for i in 2; do sudo ssh lead${i} << 'EOF' /admin/scripts/flux_reconfig.sh flux config reload @@ -61,10 +61,10 @@ EOF done ``` ```bash -for i in 2 {4..6} {9..11}; do +for i in {2..6} {9..11}; do echo Checking lead${i} sudo ssh lead${i} << 'EOF' -systemctl daemon-reload +chmod 777 /p/ssd EOF done ``` @@ -119,4 +119,11 @@ DIR=/p/ssd pdsh -g compute mkdir -p $DIR pdsh -g compute 'mount /dev/sda $DIR' pdsh -g compute 'chmod 777 $DIR' +``` + +```bash +for i in {0..16}; do +done +flux run -n 1 ~/software/ior/install/bin/ior -o /p/ssd/test -t 1g -b 64g +flux run -n 16 ~/software/ior/install/bin/ior -o /p/ssd/test -t 32m -b 4g ``` \ No newline at end of file diff --git a/scripts/datacrumbs/datacrumbs_run_validator.in b/scripts/datacrumbs/datacrumbs_run_validator.in index dd19c23d..4a120b63 100755 --- a/scripts/datacrumbs/datacrumbs_run_validator.in +++ b/scripts/datacrumbs/datacrumbs_run_validator.in @@ -2,6 +2,14 @@ SCRIPT_DIR=@DATACRUMBS_INSTALL_BINARYDIR@ +# Source argument parser +source "$SCRIPT_DIR/datacrumbs_args" + +dc_args_init "DATACRUMBS_VALIDATOR" +dc_args_add_subcommand "DATACRUMBS_VALIDATOR" "enable_mpi" "1" "nodes" "ppn" + +dc_args_parse "DATACRUMBS_VALIDATOR" "datacrumbs_run_validator" "$@" + source $SCRIPT_DIR/datacrumbs_setup check_root_user diff --git a/scripts/datacrumbs/datacrumbs_utility.in b/scripts/datacrumbs/datacrumbs_utility.in index 2903579b..3455b73e 100755 --- a/scripts/datacrumbs/datacrumbs_utility.in +++ b/scripts/datacrumbs/datacrumbs_utility.in @@ -30,7 +30,6 @@ function datacrumbs_parse_yaml { function datacrumbs_run_command() { local err_msg="$1" shift - if [[ "${DRY_RUN:-0}" == "1" ]]; then if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would run: $*" return 0 @@ -47,7 +46,6 @@ function datacrumbs_run_command() { # datacrumbs_run_command "Failed to list directory" ls /nonexistent/path function datacrumbs_finalize() { - if [[ "${DRY_RUN:-0}" == "1" ]]; then if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would finalize for user: $DATACRUMBS_USER, log path: $DATACRUMBS_TRACE_DIR" return 0 diff --git a/src/datacrumbs/common/logging.h b/src/datacrumbs/common/logging.h index 2e0f06f5..f5d83d1e 100644 --- a/src/datacrumbs/common/logging.h +++ b/src/datacrumbs/common/logging.h @@ -150,20 +150,40 @@ namespace datacrumbs::logging_internal { inline void log_progress(const std::string& message, size_t current, size_t total) { using namespace std::chrono; static auto start_time = steady_clock::now(); + static size_t last_printed = 0; + constexpr size_t PRINT_INTERVAL = 10000; // Print every 10K events + + // Only print every PRINT_INTERVAL events or when done + if (current != total && (current - last_printed) < PRINT_INTERVAL) { + return; + } + + last_printed = current; float percent = (total > 0) ? (100.0f * current / total) : 0.0f; auto now = steady_clock::now(); double elapsed = duration_cast>(now - start_time).count(); double rate = (elapsed > 0.0) ? (current / elapsed) : 0.0; +#ifdef LOG_TO_FILE + // For file logging, write complete lines without \r to avoid log file bloat + DC_LOG_PRINT("%s [%zu/%zu] %d%% completed | %.2fs elapsed | %.2f events/s", message.c_str(), + current, total, static_cast(percent), elapsed, rate); +#else + // For console logging, use \r for in-place updates DC_LOG_PRINT_NO_NEW_LINE("\r%s [%zu/%zu] %d%% completed | %.2fs elapsed | %.2f events/s", message.c_str(), current, total, static_cast(percent), elapsed, rate); +#endif if (current == total) { +#ifndef LOG_TO_FILE + DC_LOG_PRINT(""); // Print newline to finish the progress line +#endif DC_LOG_PRINT("%s done. Total time: %.2fs, Avg rate: %.2f events/s", message.c_str(), elapsed, rate); start_time = steady_clock::now(); // Reset for next progress + last_printed = 0; } } @@ -171,6 +191,16 @@ inline void log_progress(const std::string& message, size_t current) { using namespace std::chrono; static auto start_time = steady_clock::now(); static std::mutex mtx; + static size_t last_printed = 0; + constexpr size_t PRINT_INTERVAL = 10000; // Print every 10K events + + // Only print every PRINT_INTERVAL events + if ((current - last_printed) < PRINT_INTERVAL) { + return; + } + + last_printed = current; + auto now = steady_clock::now(); double elapsed = duration_cast>(now - start_time).count(); double rate = (elapsed > 0.0) ? (current / elapsed) : 0.0; @@ -220,10 +250,17 @@ inline void log_progress(const std::string& message, size_t current) { current_str.resize(current_str.find('.') != std::string::npos ? current_str.find('.') + 3 : current_str.size()); current_str += multiplier; + +#ifdef LOG_TO_FILE + // For file logging, write complete lines without \r to avoid log file bloat + DC_LOG_PRINT("%s [%s events] | %s elapsed | %s events/s", message.c_str(), current_str.c_str(), + elapsed_str, rate_str.c_str()); +#else + // For console logging, use \r for in-place updates DC_LOG_PRINT_NO_NEW_LINE( "\r \r%s [%s events] | %s elapsed | %s events/s ", message.c_str(), current_str.c_str(), elapsed_str, rate_str.c_str()); - // Optionally, print newline if desired when called with a special value +#endif } } // namespace datacrumbs::logging_internal // Progress logging macro diff --git a/src/datacrumbs/common/utils.h b/src/datacrumbs/common/utils.h index 663de1f8..b2b37aa8 100644 --- a/src/datacrumbs/common/utils.h +++ b/src/datacrumbs/common/utils.h @@ -164,7 +164,7 @@ inline std::string remove_non_utf8(const std::string& input) { // Only keep characters valid for filenames/paths if ((byte >= 'A' && byte <= 'Z') || (byte >= 'a' && byte <= 'z') || (byte >= '0' && byte <= '9') || byte == '_' || byte == '-' || byte == '.' || - byte == '/' || byte == '\\') { + byte == '/') { result += input[i]; } else { DC_LOG_DEBUG("Skipping invalid filename character 0x%02X at position %zu", byte, i); diff --git a/src/datacrumbs/explorer/mechanism/elf_capture.cpp b/src/datacrumbs/explorer/mechanism/elf_capture.cpp index 5364fda5..0d4c3e7c 100644 --- a/src/datacrumbs/explorer/mechanism/elf_capture.cpp +++ b/src/datacrumbs/explorer/mechanism/elf_capture.cpp @@ -93,7 +93,7 @@ std::vector ElfSymbolExtractor::extract_symbols() { if (symbols_map.find(name) == symbols_map.end()) { symbols_map[name] = std::unordered_set(); } - if (!name.empty()) { + if (!name.empty() && name.find(':') == std::string::npos) { char buffer[32]; unsigned long offset = static_cast( syms[j].st_value); // TODO(Hari): Explore if i have to relocate for virtual address diff --git a/src/datacrumbs/server/process/event_processor.cpp b/src/datacrumbs/server/process/event_processor.cpp index ac192fc7..2fb9ed8b 100644 --- a/src/datacrumbs/server/process/event_processor.cpp +++ b/src/datacrumbs/server/process/event_processor.cpp @@ -148,9 +148,9 @@ int EventProcessor::handle_event(void* data, size_t data_sz) { DC_LOG_WARN("No category found for event_id %llu", event->event_id); } DC_LOG_TRACE("handle_event: end"); - std::string progress_msg = - "Processed events failed: " + std::to_string(failed_events) + " current:"; - if (configManager_->mpi_rank == 0) DC_LOG_PROGRESS_SINGLE(progress_msg.c_str(), event_index); + // std::string progress_msg = + // "Processed events failed: " + std::to_string(failed_events) + " current:"; + // if (configManager_->mpi_rank == 0) DC_LOG_PROGRESS_SINGLE(progress_msg.c_str(), event_index); return 0; } int EventProcessor::update_filename(const char* filename, unsigned int hash) { @@ -172,6 +172,7 @@ int EventProcessor::update_filename(const char* filename, unsigned int hash) { return 0; } int EventProcessor::finalize() { + DC_LOG_PRINT("Collected %d events and failed %d events", event_index.load(), failed_events); auto writer_ = datacrumbs::Singleton::get_instance(); if (writer_) { writer_->finalize(); diff --git a/src/datacrumbs/validator/probe_validator.cpp b/src/datacrumbs/validator/probe_validator.cpp index 8f216bc7..4e2148d2 100644 --- a/src/datacrumbs/validator/probe_validator.cpp +++ b/src/datacrumbs/validator/probe_validator.cpp @@ -10,21 +10,84 @@ #include // Logging header #include // std headers +#include #include +#include #include #include #include #include +#include +#include #include #include #include #include #include #include -#include #include + namespace datacrumbs { + +// Function to pretty print invalid probes categorized by probe name +void prettyPrintInvalidProbes( + const std::unordered_map>& invalid_function_names, + size_t total_probes, size_t invalid_probes) { + std::cout << "\n"; + std::cout << "╔════════════════════════════════════════════════════════════════════════════╗\n"; + std::cout << "║ PROBE VALIDATION SUMMARY ║\n"; + std::cout << "╠════════════════════════════════════════════════════════════════════════════╣\n"; + std::cout << "║ Total Probes: " << std::setw(58) << std::left << total_probes << "║\n"; + std::cout << "║ Invalid Probes: " << std::setw(58) << std::left << invalid_probes << "║\n"; + std::cout << "║ Valid Probes: " << std::setw(58) << std::left << (total_probes - invalid_probes) + << "║\n"; + std::cout << "╚════════════════════════════════════════════════════════════════════════════╝\n"; + + if (invalid_function_names.empty()) { + std::cout << "\n✅ All probes validated successfully!\n\n"; + return; + } + + std::cout << "\n"; + std::cout << "╔════════════════════════════════════════════════════════════════════════════╗\n"; + std::cout << "║ INVALID PROBES BY CATEGORY ║\n"; + std::cout << "╚════════════════════════════════════════════════════════════════════════════╝\n"; + + for (const auto& [category, functions] : invalid_function_names) { + std::cout << "\n┌─ Category: " << category << " (" << functions.size() << " invalid)\n"; + std::cout << "│\n"; + + // Show first 10 invalid functions for each category + size_t max_display = std::min(10, functions.size()); + for (size_t i = 0; i < max_display; ++i) { + std::cout << "│ ✗ " << functions[i] << "\n"; + } + + if (functions.size() > max_display) { + std::cout << "│ ... and " << (functions.size() - max_display) << " more\n"; + } + std::cout << "└─────────────────────────────────────────────────────────────────────────────\n"; + } + + std::cout << "\n"; +} + +// Function to set memory limit to 2GB +bool setMemoryLimit(size_t limit_mb = 2048) { + struct rlimit limit; + limit.rlim_cur = limit_mb * 1024 * 1024; // 2GB in bytes + limit.rlim_max = limit_mb * 1024 * 1024; // 2GB in bytes + + if (setrlimit(RLIMIT_AS, &limit) != 0) { + DC_LOG_ERROR("Failed to set memory limit: %s", strerror(errno)); + return false; + } + + DC_LOG_INFO("Memory limit set to %zu MB", limit_mb); + return true; +} + class ProbeValidator { public: ProbeValidator(int argc, char** argv) { @@ -45,6 +108,16 @@ class ProbeValidator { DC_LOG_ERROR("Failed to read probes file: %s", probesFile.c_str()); return invalid_function_names; } + + // Use RAII wrapper for automatic cleanup + auto json_cleanup = [](struct json_object* ptr) { + if (ptr) { + json_object_put(ptr); + } + }; + std::unique_ptr json_guard(probesJson, + json_cleanup); + int arr_len = json_object_array_length(probesJson); DC_LOG_INFO("[ProbeGenerator] Number of probes: %d", arr_len); struct bpf_program* kprobe_prog = bpf_object__find_program_by_name(skel->obj, "kprobe_test"); @@ -70,12 +143,12 @@ class ProbeValidator { std::atomic atomic_invalid_probes{0}; std::atomic atomic_current_probe{0}; - auto validate_func = [&](const Probe& probe, const std::string& func, - struct json_object* jprobe) { + auto validate_func = [&](const std::string& probe_name, ProbeType probe_type, + const std::string& func, struct json_object* jprobe) { atomic_current_probe++; DC_LOG_PROGRESS("Validating probe", atomic_current_probe.load(), total_probes); bool is_invalid = false; - if (probe.type == ProbeType::KPROBE) { + if (probe_type == ProbeType::KPROBE) { struct bpf_kprobe_opts opts = { .sz = sizeof(struct bpf_kprobe_opts), }; @@ -85,7 +158,7 @@ class ProbeValidator { } else { bpf_link__destroy(link); } - } else if (probe.type == ProbeType::UPROBE) { + } else if (probe_type == ProbeType::UPROBE) { auto uprobe = UProbe::fromJson(jprobe); std::string function_name, offset; auto pos = func.find(':'); @@ -109,7 +182,7 @@ class ProbeValidator { } else { bpf_link__destroy(link); } - } else if (probe.type == ProbeType::SYSCALLS) { + } else if (probe_type == ProbeType::SYSCALLS) { struct bpf_ksyscall_opts opts = { .sz = sizeof(struct bpf_ksyscall_opts), }; @@ -123,7 +196,7 @@ class ProbeValidator { if (is_invalid) { atomic_invalid_probes++; std::lock_guard lock(invalid_mutex); - invalid_function_names[probe.name].push_back(func); + invalid_function_names[probe_name].push_back(func); } }; @@ -134,7 +207,9 @@ class ProbeValidator { std::mutex queue_mutex; std::condition_variable cv; bool done = false; - std::queue> task_queue; + + // Store probe_name, probe_type, function_name, and json_object + std::queue> task_queue; // Producer: enqueue all validation tasks for (int i = 0; i < arr_len; ++i) { @@ -143,7 +218,8 @@ class ProbeValidator { for (size_t func_index = 0; func_index < probe.functions.size(); ++func_index) { const auto& func = probe.functions[func_index]; std::lock_guard lock(queue_mutex); - task_queue.emplace(probe, func, jprobe); + // Store copies of probe.name and probe.type to avoid race conditions + task_queue.emplace(probe.name, probe.type, func, jprobe); } } @@ -151,7 +227,6 @@ class ProbeValidator { for (size_t i = 0; i < num_workers; ++i) { workers.emplace_back([&]() { while (true) { - std::tuple task; { std::unique_lock lock(queue_mutex); cv.wait(lock, [&]() { return !task_queue.empty() || done; }); @@ -161,10 +236,19 @@ class ProbeValidator { else continue; } - // Move declaration and initialization together to avoid default construction - auto task = std::move(task_queue.front()); + // Extract data from the queue with proper copies + auto& front_task = task_queue.front(); + std::string probe_name = std::get<0>(front_task); + ProbeType probe_type = std::get<1>(front_task); + std::string func = std::get<2>(front_task); + struct json_object* jprobe = std::get<3>(front_task); task_queue.pop(); - validate_func(std::get<0>(task), std::get<1>(task), std::get<2>(task)); + + // Release lock before validation (which can be slow) + lock.unlock(); + + // Now validate with copied data + validate_func(probe_name, probe_type, func, jprobe); } } }); @@ -180,6 +264,21 @@ class ProbeValidator { for (auto& t : workers) t.join(); invalid_probes = atomic_invalid_probes.load(); + + // Verify counts match - diagnostic check + size_t total_invalid_stored = 0; + for (const auto& [name, functions] : invalid_function_names) { + total_invalid_stored += functions.size(); + } + + if (total_invalid_stored != invalid_probes) { + DC_LOG_ERROR("Race condition detected! Invalid probes counted: %zu, but stored: %zu", + invalid_probes, total_invalid_stored); + } else { + DC_LOG_INFO("Validation counts verified: %zu invalid probes counted and stored", + invalid_probes); + } + return invalid_function_names; } size_t total_probes() const { return configManager_->category_map.size(); } @@ -191,13 +290,26 @@ class ProbeValidator { } // namespace datacrumbs int main(int argc, char** argv) { + // Set memory limit to 2GB + if (!datacrumbs::setMemoryLimit(2048)) { + DC_LOG_ERROR("Failed to set memory limit, continuing anyway..."); + } + auto configManager_ = datacrumbs::Singleton::get_instance(argc, argv); + struct validator* skel = validator__open_and_load(); if (!skel) { DC_LOG_ERROR("Failed to open and load datacrumbs_validator BPF skeleton"); return 1; } + + // Use RAII for skeleton cleanup + auto skel_cleanup = [](struct validator* s) { + if (s) validator__destroy(s); + }; + std::unique_ptr skel_guard(skel, skel_cleanup); + size_t invalid_probes = 0; try { datacrumbs::ProbeValidator validator(argc, argv); @@ -206,6 +318,10 @@ int main(int argc, char** argv) { invalid_probes = validator.invalid_probes; DC_LOG_INFO("\nProbe validation completed: total_probes=%zu, invalid_probes=%zu", total_probes, invalid_probes); + + // Pretty print the invalid probes categorized by category + datacrumbs::prettyPrintInvalidProbes(invalid_function_names, total_probes, invalid_probes); + struct json_object* invalid_probesJson = json_object_from_file(configManager_->probe_file_path.c_str()); // Iterate over probesJson array, clear functions attribute for all probes, then add invalid @@ -249,10 +365,8 @@ int main(int argc, char** argv) { chmod(configManager_->probe_invalid_file_path.c_str(), 0640); } catch (const std::exception& ex) { DC_LOG_ERROR("Exception: %s", ex.what()); - validator__destroy(skel); return -1; } - validator__destroy(skel); return invalid_probes > 0 ? -1 : 0; } \ No newline at end of file diff --git a/valgrind.supp b/valgrind.supp new file mode 100644 index 00000000..1f6aaa78 --- /dev/null +++ b/valgrind.supp @@ -0,0 +1,34 @@ +# Valgrind suppression file for probe_validator +# This file helps suppress known false positives in BPF/libbpf libraries + +{ + libbpf_allocation + Memcheck:Leak + match-leak-kinds: definite,indirect + ... + fun:*bpf* +} + +{ + json_c_allocation + Memcheck:Leak + match-leak-kinds: definite,indirect + ... + fun:*json* +} + +{ + glibc_dl_allocation + Memcheck:Leak + match-leak-kinds: definite,indirect + ... + fun:_dl_* +} + +{ + pthread_allocation + Memcheck:Leak + match-leak-kinds: definite,indirect + ... + fun:pthread_* +} \ No newline at end of file From 66a44fa36030232263f83b21507b943a757aa81f Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Thu, 13 Nov 2025 12:28:51 -0800 Subject: [PATCH 06/12] Added slurm integration 1. Generalized scheduler implementation to be updated by any user. 2. Specialized implementation for prolog and epilog script for slurm and flux and general. --- CMakeLists.txt | 15 ++ cmake/configure_files/datacrumbs_config.h.in | 2 +- cmake/modules/datacrumbs-utils.cmake | 59 ++++++- etc/datacrumbs/configs/project.yaml.in | 30 ++-- etc/datacrumbs/systemd/datacrumbs@.service.in | 10 +- scripts/datacrumbs/datacrumbs_compose_run.in | 8 +- scripts/datacrumbs/datacrumbs_run.in | 8 +- .../datacrumbs/datacrumbs_server_run.sh.in | 12 +- .../datacrumbs/datacrumbs_server_stop.sh.in | 10 +- .../datacrumbs_service_common.sh.in | 167 +++++++++++++++--- .../datacrumbs/datacrumbs_service_run.sh.in | 8 +- .../datacrumbs/datacrumbs_service_stop.sh.in | 3 +- scripts/datacrumbs/datacrumbs_setup.in | 7 +- scripts/datacrumbs/datacrumbs_utility.in | 55 +++--- src/datacrumbs/server/process/server.impl.cpp | 60 +++++-- 15 files changed, 333 insertions(+), 121 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1840cb6..bed1d895 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,6 +62,7 @@ option(DATACRUMBS_TRACE_ALL_PROCESSES_OPT "Trace all processes" OFF) set(DATACRUMBS_INCLUSION_PATH "NONE" CACHE STRING "Inclusion path for datacrumbs") set(DATACRUMBS_CONFIGURED_TRACE_DIR "/tmp" CACHE STRING "Trace directory for datacrumbs") set(DATACRUMBS_CONFIGURED_LOG_DIR "/tmp" CACHE STRING "Log directory for datacrumbs") +set(DATACRUMBS_CONFIGURED_RUN_DIR "NONE" CACHE STRING "Run directory for datacrumbs") option(DATACRUMBS_BPF_PRINT_ENABLE "Enable BPF print" OFF) set(DATACRUMBS_MODE_STR "TRACE" CACHE STRING "Mode for datacrumbs (TRACE or PROFILE)") @@ -84,6 +85,15 @@ set(DATACRUMBS_SKIP_SMALL_EVENTS_THRESHOLD_NS "1000" CACHE STRING "Threshold in # Profiling Options set(DATACRUMBS_TIME_INTERVAL_NS "1000000" CACHE STRING "Profiling time interval in nanosecond") +# Scheduling Options +set(DATACRUMBS_SCHEDULER_TYPE "FLUX" CACHE STRING "Scheduler type for datacrumbs (FLUX, SLURM, OPENMPI, or NONE)") +set_property(CACHE DATACRUMBS_SCHEDULER_TYPE PROPERTY STRINGS FLUX SLURM OPENMPI NONE) +set(DATACRUMBS_SCHEDULER_JOBID_ENV_VAR "NONE" CACHE STRING "Scheduler job ID environment variable name") +set(DATACRUMBS_SCHEDULER_NODES_CMD_OPT "NONE" CACHE STRING "Scheduler option for setting nodes") +set(DATACRUMBS_SCHEDULER_PPN_CMD_OPT "NONE" CACHE STRING "Scheduler option for setting processes per node") +set(DATACRUMBS_SCHEDULER_RUN_CMD "NONE" CACHE STRING "Scheduler run command") +set(DATACRUMBS_SCHEDULER_RUN_EXTRA_ARGS "" CACHE STRING "Scheduler run extra args") + # Other options set(DATACRUMBS_LOG_LEVEL_STR "INFO" CACHE STRING "Log Level for compiling ${UPPER_PROJECT_NAME}") set_property(CACHE DATACRUMBS_LOG_LEVEL_STR PROPERTY STRINGS ERROR WARN INFO DEBUG TRACE) @@ -139,6 +149,11 @@ message(STATUS " - Found kernel headers at: ${DATACRUMBS_KERNEL_HEAD message(STATUS " - DATACRUMBS_KERNEL_UNAME_R: ${DATACRUMBS_KERNEL_UNAME_R}") message(STATUS " - DATACRUMBS_CONFIGURED_TRACE_DIR: ${DATACRUMBS_CONFIGURED_TRACE_DIR}") message(STATUS " - DATACRUMBS_CONFIGURED_LOG_DIR: ${DATACRUMBS_CONFIGURED_LOG_DIR}") +message(STATUS " - DATACRUMBS_SCHEDULER_TYPE: ${DATACRUMBS_SCHEDULER_TYPE}") +message(STATUS " - DATACRUMBS_SCHEDULER_JOBID_ENV_VAR: ${DATACRUMBS_SCHEDULER_JOBID_ENV_VAR}") +message(STATUS " - DATACRUMBS_SCHEDULER_NODES_CMD_OPT: ${DATACRUMBS_SCHEDULER_NODES_CMD_OPT}") +message(STATUS " - DATACRUMBS_SCHEDULER_PPN_CMD_OPT: ${DATACRUMBS_SCHEDULER_PPN_CMD_OPT}") +message(STATUS " - DATACRUMBS_SCHEDULER_RUN_CMD: ${DATACRUMBS_SCHEDULER_RUN_CMD}") if(NOT EXISTS "${DATACRUMBS_CONFIGURED_TRACE_DIR}") message(FATAL_ERROR "[${UPPER_PROJECT_NAME}] DATACRUMBS_CONFIGURED_TRACE_DIR does not exist: ${DATACRUMBS_CONFIGURED_TRACE_DIR}") diff --git a/cmake/configure_files/datacrumbs_config.h.in b/cmake/configure_files/datacrumbs_config.h.in index 773491e8..24e361e0 100644 --- a/cmake/configure_files/datacrumbs_config.h.in +++ b/cmake/configure_files/datacrumbs_config.h.in @@ -42,7 +42,7 @@ #cmakedefine DATACRUMBS_CONFIG_PATH "@DATACRUMBS_CONFIG_PATH@" #cmakedefine DATACRUMBS_LOG_DIR "@DATACRUMBS_LOG_DIR@" #cmakedefine DATACRUMBS_DATA_DIR "@DATACRUMBS_DATA_DIR@" -#cmakedefine DATACRUMBS_INSTALL_RUNSTATEDIR "@DATACRUMBS_INSTALL_RUNSTATEDIR@" +#cmakedefine DATACRUMBS_INSTALL_RUNSTATEDIR "@DATACRUMBS_INSTALL_RUNSTATEDIR@/@PROJECT_NAME@" #cmakedefine DATACRUMBS_ENABLE_INCLUSION_PATH @DATACRUMBS_ENABLE_INCLUSION_PATH@ #ifndef DATACRUMBS_ENABLE_INCLUSION_PATH diff --git a/cmake/modules/datacrumbs-utils.cmake b/cmake/modules/datacrumbs-utils.cmake index eb68d0a1..1c86f0fb 100644 --- a/cmake/modules/datacrumbs-utils.cmake +++ b/cmake/modules/datacrumbs-utils.cmake @@ -264,6 +264,59 @@ macro(derive_configurations) endif() set(DATACRUMBS_CMAKE_KERNEL_VERSION "(${KERNEL_VERSION_MAJOR}, ${KERNEL_VERSION_MINOR}, ${KERNEL_VERSION_PATCH})") + + # Set Scheduler options + # Check if scheduler configuration is complete + if((DATACRUMBS_SCHEDULER_JOBID_ENV_VAR STREQUAL "NONE" OR + DATACRUMBS_SCHEDULER_NODES_CMD_OPT STREQUAL "NONE" OR + DATACRUMBS_SCHEDULER_PPN_CMD_OPT STREQUAL "NONE" OR + DATACRUMBS_SCHEDULER_RUN_CMD STREQUAL "NONE") AND + DATACRUMBS_SCHEDULER_TYPE STREQUAL "NONE") + message(FATAL_ERROR "[${UPPER_PROJECT_NAME}] Incomplete scheduler configuration. Either use a predefined scheduler option by setting DATACRUMBS_SCHEDULER_TYPE, or set all of the following variables: DATACRUMBS_SCHEDULER_ALLOC_CMD, DATACRUMBS_SCHEDULER_JOBID_ENV_VAR, DATACRUMBS_SCHEDULER_NODES_CMD_OPT, DATACRUMBS_SCHEDULER_PPN_CMD_OPT, DATACRUMBS_SCHEDULER_RUN_CMD") + endif() + + if (DATACRUMBS_SCHEDULER_JOBID_ENV_VAR STREQUAL "NONE") + if(DATACRUMBS_SCHEDULER_TYPE STREQUAL "SLURM") + set(DATACRUMBS_SCHEDULER_JOBID_ENV_VAR "SLURM_JOB_ID") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "OPENMPI") + set(DATACRUMBS_SCHEDULER_JOBID_ENV_VAR "OMPI_COMM_WORLD_RANK") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "FLUX") + set(DATACRUMBS_SCHEDULER_JOBID_ENV_VAR "FLUX_JOB_ID") + endif() + endif() + + if (DATACRUMBS_SCHEDULER_NODES_CMD_OPT STREQUAL "NONE") + if(DATACRUMBS_SCHEDULER_TYPE STREQUAL "SLURM") + set(DATACRUMBS_SCHEDULER_NODES_CMD_OPT "-N") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "OPENMPI") + set(DATACRUMBS_SCHEDULER_NODES_CMD_OPT "-N") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "FLUX") + set(DATACRUMBS_SCHEDULER_NODES_CMD_OPT "-N") + endif() + endif() + + if (DATACRUMBS_SCHEDULER_PPN_CMD_OPT STREQUAL "NONE") + if(DATACRUMBS_SCHEDULER_TYPE STREQUAL "SLURM") + set(DATACRUMBS_SCHEDULER_PPN_CMD_OPT "--ntasks-per-node") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "OPENMPI") + set(DATACRUMBS_SCHEDULER_PPN_CMD_OPT "--map-by ppr:") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "FLUX") + set(DATACRUMBS_SCHEDULER_PPN_CMD_OPT "--tasks-per-node") + endif() + endif() + + if (DATACRUMBS_SCHEDULER_RUN_CMD STREQUAL "NONE") + if(DATACRUMBS_SCHEDULER_TYPE STREQUAL "SLURM") + set(DATACRUMBS_SCHEDULER_RUN_CMD "srun") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "OPENMPI") + set(DATACRUMBS_SCHEDULER_RUN_CMD "mpirun") + elseif(DATACRUMBS_SCHEDULER_TYPE STREQUAL "FLUX") + set(DATACRUMBS_SCHEDULER_RUN_CMD "flux run") + endif() + endif() + + + endmacro(derive_configurations) macro(find_system_details) @@ -463,7 +516,11 @@ macro(load_build_variables) set(DATACRUMBS_INSTALL_ETC_CMAKE ${DATACRUMBS_INSTALL_SYSCONFDIR}/cmake) set(DATACRUMBS_INSTALL_ETC_SYSTEMD ${DATACRUMBS_INSTALL_SYSCONFDIR}/systemd) set(DATACRUMBS_INSTALL_ETC_FLUX ${DATACRUMBS_INSTALL_SYSCONFDIR}/flux) - set(DATACRUMBS_INSTALL_RUNSTATEDIR /${CMAKE_INSTALL_RUNSTATEDIR}) + if (DATACRUMBS_CONFIGURED_RUN_DIR AND NOT DATACRUMBS_CONFIGURED_RUN_DIR STREQUAL "" AND NOT DATACRUMBS_CONFIGURED_RUN_DIR STREQUAL "NONE") + set(DATACRUMBS_INSTALL_RUNSTATEDIR ${DATACRUMBS_CONFIGURED_RUN_DIR}) + else() + set(DATACRUMBS_INSTALL_RUNSTATEDIR /${CMAKE_INSTALL_RUNSTATEDIR}) + endif() # Set this at the top level of your project, before any install commands set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE) diff --git a/etc/datacrumbs/configs/project.yaml.in b/etc/datacrumbs/configs/project.yaml.in index fcb3d4c9..b0e1afaf 100644 --- a/etc/datacrumbs/configs/project.yaml.in +++ b/etc/datacrumbs/configs/project.yaml.in @@ -19,17 +19,25 @@ client: bin: ${DATACRUMBS_INSTALL_LIBEXEC_DIR}/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER} trace: dir_pattern: @DATACRUMBS_CONFIGURED_TRACE_DIR@/%YY%/%MM%/%DD% -log: - dir: @DATACRUMBS_CONFIGURED_LOG_DIR@ +job: + scheduler: @DATACRUMBS_SCHEDULER_TYPE@ + run: @DATACRUMBS_SCHEDULER_RUN_CMD@ + node_flag: @DATACRUMBS_SCHEDULER_NODES_CMD_OPT@ + ppn_flag: @DATACRUMBS_SCHEDULER_PPN_CMD_OPT@ + other_flags: @DATACRUMBS_SCHEDULER_RUN_EXTRA_ARGS@ + id_var: @DATACRUMBS_SCHEDULER_JOBID_ENV_VAR@ server: load_timeout: ${DATACRUMBS_SERVER_TIMEOUT_USER:-600} - pid_file: @DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs.pid - runid_file: @DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs.runid + run_dir: @DATACRUMBS_INSTALL_RUNSTATEDIR@/@PROJECT_NAME@ + run_id_file: ${DATACRUMBS_SERVER_RUN_DIR}/datacrumbs.runid + run_id: $(if [ "${!DATACRUMBS_JOB_ID_VAR}" == "" ]; then if [[ -f "${DATACRUMBS_SERVER_RUN_ID_FILE}" ]]; then cat "$DATACRUMBS_SERVER_RUN_ID_FILE" 2>/dev/null; else echo $(date +"%Y%m%d%H%M%S"); fi else echo ${!DATACRUMBS_JOB_ID_VAR}; fi) + pid_file: ${DATACRUMBS_SERVER_RUN_DIR}/datacrumbs-${DATACRUMBS_SERVER_RUN_ID}.pid + systemd_pid_file: ${DATACRUMBS_SERVER_RUN_DIR}/datacrumbs-systemd-${DATACRUMBS_SERVER_RUN_ID}.pid + ready_file: ${DATACRUMBS_SERVER_RUN_DIR}/datacrumbs-${DATACRUMBS_SERVER_RUN_ID}.ready + status_file: ${DATACRUMBS_SERVER_RUN_DIR}/datacrumbs-${DATACRUMBS_SERVER_RUN_ID}.json + env_file: ${DATACRUMBS_SERVER_RUN_DIR}/datacrumbs-${DATACRUMBS_SERVER_RUN_ID}.env module: 0 - preamble: -job: - run: flux run - node_flag: -N - ppn_flag: --tasks-per-node - other_flags: - id_var: FLUX_JOB_ID \ No newline at end of file + preamble: +log: + dir: @DATACRUMBS_CONFIGURED_LOG_DIR@ + file: ${DATACRUMBS_LOG_DIR}/datacrumbs_${DATACRUMBS_USER}_${DATACRUMBS_SERVER_RUN_ID}.log \ No newline at end of file diff --git a/etc/datacrumbs/systemd/datacrumbs@.service.in b/etc/datacrumbs/systemd/datacrumbs@.service.in index 658ae80e..36d5ea40 100644 --- a/etc/datacrumbs/systemd/datacrumbs@.service.in +++ b/etc/datacrumbs/systemd/datacrumbs@.service.in @@ -4,15 +4,17 @@ After=network.target [Service] Type=forking -ExecStart=@DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_server_run.sh --verbose --composite-name %i -ExecStop=@DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_server_stop.sh --verbose --composite-name %i +ExecStart=@DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_server_run.sh --verbose +ExecStop=@DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_server_stop.sh --verbose User=root # Optional: RemainAfterExit=no -PIDFile=/run/datacrumbs.pid +# Copy PIDFile path to project yaml +PIDFile=@DATACRUMBS_INSTALL_RUNSTATEDIR@/@PROJECT_NAME@/datacrumbs-systemd-%i.pid TimeoutStartSec=10min TimeoutStopSec=5min -EnvironmentFile=/run/datacrumbs.env +# Copy ENVFile path to project yaml +EnvironmentFile=@DATACRUMBS_INSTALL_RUNSTATEDIR@/@PROJECT_NAME@/datacrumbs-%i.env [Install] WantedBy=multi-user.target \ No newline at end of file diff --git a/scripts/datacrumbs/datacrumbs_compose_run.in b/scripts/datacrumbs/datacrumbs_compose_run.in index d3765493..0c9eb9ff 100755 --- a/scripts/datacrumbs/datacrumbs_compose_run.in +++ b/scripts/datacrumbs/datacrumbs_compose_run.in @@ -64,15 +64,11 @@ if [[ -z "$DRY_RUN" ]]; then datacrumbs_init "$DATACRUMBS_USER" "$DATACRUMBS_TRACE_DIR" fi -RUNID=${!DATACRUMBS_JOB_ID_VAR} -RUNID=${RUNID:-1000} -DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" -debug "RUNID: $RUNID" +debug "DATACRUMBS_SERVER_RUN_ID: $DATACRUMBS_SERVER_RUN_ID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" debug "DATACRUMBS_LOG_FILE: $DATACRUMBS_LOG_FILE" -debug "READY_FILE: $READY_FILE" +debug "DATACRUMBS_SERVER_READY_FILE: $DATACRUMBS_SERVER_READY_FILE" exec=("${DATACRUMBS_INSTALL_SBIN_DIR}/datacrumbs_compose_wrapper" "${DATACRUMBS_COMPOSABLE_NAME}") debug "Starting datacrumbs server with exec: ${exec[*]}" datacrumbs_start_server "${exec[*]}" diff --git a/scripts/datacrumbs/datacrumbs_run.in b/scripts/datacrumbs/datacrumbs_run.in index 02ee45fa..eb694cdd 100755 --- a/scripts/datacrumbs/datacrumbs_run.in +++ b/scripts/datacrumbs/datacrumbs_run.in @@ -47,15 +47,11 @@ check_regular_user -RUNID=${!DATACRUMBS_JOB_ID_VAR} -RUNID=${RUNID:-1000} -DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" -debug "RUNID: $RUNID" +debug "DATACRUMBS_SERVER_RUN_ID: $DATACRUMBS_SERVER_RUN_ID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" debug "DATACRUMBS_LOG_FILE: $DATACRUMBS_LOG_FILE" -debug "READY_FILE: $READY_FILE" +debug "DATACRUMBS_SERVER_READY_FILE: $DATACRUMBS_SERVER_READY_FILE" datacrumbs_init $DATACRUMBS_USER $DATACRUMBS_TRACE_DIR diff --git a/scripts/datacrumbs/datacrumbs_server_run.sh.in b/scripts/datacrumbs/datacrumbs_server_run.sh.in index fd2c7442..323c1f69 100755 --- a/scripts/datacrumbs/datacrumbs_server_run.sh.in +++ b/scripts/datacrumbs/datacrumbs_server_run.sh.in @@ -12,7 +12,7 @@ fi source "$SCRIPT_DIR/datacrumbs_args" dc_args_init "DATACRUMBS" -dc_args_add_option "DATACRUMBS" "composite-name" "OPTIONAL" "Composable name" "string" +dc_args_add_option "DATACRUMBS" "composite-name" "OPTIONAL" "Composable name" "string" "$DATACRUMBS_COMPOSABLE_NAME" dc_args_add_option "DATACRUMBS" "enable-mpi" "OPTIONAL" "switch to enable MPI" "bool" "0" dc_args_add_option "DATACRUMBS" "nodes" "OPTIONAL" "Set number of nodes" "int" "1" dc_args_add_option "DATACRUMBS" "ppn" "OPTIONAL" "Set processes per node" "int" "1" @@ -43,16 +43,12 @@ fi check_sudo_user - -RUNID=${!DATACRUMBS_JOB_ID_VAR} -RUNID=${RUNID:-1000} -DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" -debug "RUNID: $RUNID" + +debug "DATACRUMBS_SERVER_RUN_ID: $DATACRUMBS_SERVER_RUN_ID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" debug "DATACRUMBS_LOG_FILE: $DATACRUMBS_LOG_FILE" -debug "READY_FILE: $READY_FILE" +debug "DATACRUMBS_SERVER_READY_FILE: $DATACRUMBS_SERVER_READY_FILE" log "Running as USER = $DATACRUMBS_USER and storing traces in $DATACRUMBS_TRACE_DIR and log file $DATACRUMBS_LOG_FILE" datacrumbs_init $DATACRUMBS_USER $DATACRUMBS_TRACE_DIR exec=() diff --git a/scripts/datacrumbs/datacrumbs_server_stop.sh.in b/scripts/datacrumbs/datacrumbs_server_stop.sh.in index 5bceafef..cb424072 100755 --- a/scripts/datacrumbs/datacrumbs_server_stop.sh.in +++ b/scripts/datacrumbs/datacrumbs_server_stop.sh.in @@ -12,7 +12,7 @@ fi source "$SCRIPT_DIR/datacrumbs_args" dc_args_init "DATACRUMBS" -dc_args_add_option "DATACRUMBS" "composite-name" "OPTIONAL" "Composable name" "string" +dc_args_add_option "DATACRUMBS" "composite-name" "OPTIONAL" "Composable name" "string" "$DATACRUMBS_COMPOSABLE_NAME" dc_args_add_option "DATACRUMBS" "enable-mpi" "OPTIONAL" "switch to enable MPI" "bool" "0" dc_args_add_option "DATACRUMBS" "nodes" "OPTIONAL" "Set number of nodes" "int" "1" dc_args_add_option "DATACRUMBS" "ppn" "OPTIONAL" "Set processes per node" "int" "1" @@ -49,15 +49,11 @@ read -ra APP_CMD <<< "${DATACRUMBS_APP}" check_sudo_user -RUNID=${!DATACRUMBS_JOB_ID_VAR} -RUNID=${RUNID:-1000} -DATACRUMBS_LOG_FILE=${DATACRUMBS_LOG_DIR:-/tmp}/datacrumbs_${DATACRUMBS_USER}_${RUNID}.log -READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" -debug "RUNID: $RUNID" +debug "DATACRUMBS_SERVER_RUN_ID: $DATACRUMBS_SERVER_RUN_ID" debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" debug "DATACRUMBS_LOG_FILE: $DATACRUMBS_LOG_FILE" -debug "READY_FILE: $READY_FILE" +debug "DATACRUMBS_SERVER_READY_FILE: $DATACRUMBS_SERVER_READY_FILE" echo "Running cmd: ${APP_CMD[*]} as USER = $DATACRUMBS_USER and storing traces in $DATACRUMBS_TRACE_DIR and log file $DATACRUMBS_LOG_FILE" exec=() diff --git a/scripts/datacrumbs/datacrumbs_service_common.sh.in b/scripts/datacrumbs/datacrumbs_service_common.sh.in index ff4ebd9c..244d7bf4 100755 --- a/scripts/datacrumbs/datacrumbs_service_common.sh.in +++ b/scripts/datacrumbs/datacrumbs_service_common.sh.in @@ -1,41 +1,152 @@ #!/bin/bash -FLUX_DATACRUMBS=$(flux job info $FLUX_JOB_ID jobspec | jq -r .attributes.system.datacrumbs) +source @DATACRUMBS_INSTALL_BINARYDIR@/datacrumbs_setup + +log_user() { + logger "[LOG] datacrumbs-prolog: $@" +} warn_user() { - ## post exception to flux log, cancel job - flux job raise --severity=1 ${FLUX_JOB_ID} "datacrumbs-prolog: $@" + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + flux job raise --severity=1 ${FLUX_JOB_ID} "datacrumbs-prolog: $@" + elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then + logger "[WARN] ${SLURM_JOB_ID} datacrumbs-prolog: $@" + else + logger "[WARN] datacrumbs-prolog: $@" + fi +} +function get_general_datacrumbs_enabled() { + local enabled=${DATACRUMBS_ENABLED:-0} + enabled_value="no" + if [[ "${enabled}" -eq "1" ]]; then + enabled_value="yes" + fi + log_user "get_general_datacrumbs_enabled returned enabled:${enabled_value}" + echo "${enabled_value}" +} + +function get_flux_datacrumbs_enabled() { + local enabled=$(flux job info $FLUX_JOB_ID jobspec 2>/dev/null | jq -r .attributes.system.datacrumbs 2>/dev/null) + enabled_value="no" + if [[ ${enabled} == "null" ]]; then + logger "User hasn't requested datacrumbs feature enabled:${enabled}, exiting." + else + FLUX_DATACRUMBS=$(flux job info $FLUX_JOB_ID jobspec 2>/dev/null | jq -r .attributes.system.datacrumbs.enable 2>/dev/null) + if [[ ${FLUX_DATACRUMBS} == "null" || "${FLUX_DATACRUMBS}" != "yes" ]]; then + logger "User hasn't requested datacrumbs feature FLUX_DATACRUMBS:${FLUX_DATACRUMBS}, exiting." + else + enabled_value="yes" + fi + fi + log_user "get_flux_datacrumbs_enabled returned enabled:${enabled_value}" + echo "${enabled_value}" } -if [[ ${FLUX_DATACRUMBS} == "null" ]]; then - logger "User hasn't requested datacrumbs feature, exiting." - return 1 -fi -FLUX_DATACRUMBS=$(flux job info $FLUX_JOB_ID jobspec | jq -r .attributes.system.datacrumbs.enable) -if [[ ${FLUX_DATACRUMBS} == "null" || "${FLUX_DATACRUMBS}" != "yes" ]]; then - logger "User hasn't requested datacrumbs feature, exiting." - return 1 -fi -FLUX_DATACRUMBS_COMPOSE=$(flux job info $FLUX_JOB_ID jobspec | jq -r .attributes.system.datacrumbs.composite) -if [[ ${FLUX_DATACRUMBS_COMPOSE} == "null" || ${FLUX_DATACRUMBS_COMPOSE} == "" ]]; then - DATACRUMBS_COMPOSABLE_NAME="NONE" - logger "User hasn't requested datacrumbs' composite feature using ${DATACRUMBS_COMPOSABLE_NAME}." -else - DATACRUMBS_COMPOSABLE_NAME=${FLUX_DATACRUMBS_COMPOSE} - if [[ -n "$FLUX_JOB_USERID" ]]; then - DATACRUMBS_USER=$(id -nu $FLUX_JOB_USERID) +function get_slurm_datacrumbs_enabled() { + enabled_value=$(get_general_datacrumbs_enabled) + if [[ "${enabled_value}" == "no" ]]; then + if [[ ${SLURM_JOB_PARTITION} != "datacrumbs" ]]; then + enabled_value="no" + else + enabled_value="yes" + fi fi - if [[ ! -f "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER}/datacrumbs_${DATACRUMBS_COMPOSABLE_NAME}" ]]; then - warn_user "Error: Composable name ${DATACRUMBS_COMPOSABLE_NAME} does not exist." - return 1 + log_user "get_slurm_datacrumbs_enabled returned enabled:${enabled_value}" + echo "${enabled_value}" +} + + +function get_datacrumbs_enabled() { + local enabled="no" + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + enabled=$(get_flux_datacrumbs_enabled) + elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then + enabled=$(get_slurm_datacrumbs_enabled) + else + enabled=$(get_general_datacrumbs_enabled) fi - logger "User has requested datacrumbs' composite feature using ${DATACRUMBS_COMPOSABLE_NAME}." -fi + log_user "get_datacrumbs_enabled returned enabled:${enabled}" + echo "${enabled}" +} + + +function validate_datacrumbs_composite_name() { + local name="$1" + return_code=0 + if [[ ! ${name} =~ ^[a-zA-Z_]+$ ]]; then + warn_user "Error: DATACRUMBS_COMPOSABLE_NAME: ${name} contains invalid characters. Only alphabets and underscores are allowed." + return_code=1 + fi + if [[ ${return_code} -eq 0 && ! -f "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER}/datacrumbs_${name}" ]]; then + warn_user "Error: Composable name ${name} does not exist." + return_code=1 + fi + log_user "validate_datacrumbs_composite_name validated name:${name} return_code:${return_code}" + return ${return_code} +} + +function get_default_datacrumbs_composite_name() { + echo "NONE" +} + +function get_flux_datacrumbs_composite_name() { + local composite_name=$(flux job info $FLUX_JOB_ID jobspec | jq -r .attributes.system.datacrumbs.composite) + if [[ ${composite_name} == "null" || ${composite_name} == "" ]]; then + logger "User hasn't requested datacrumbs' composite feature using ${composite_name}.""ERROR" + else + logger "User has requested datacrumbs' composite feature using ${composite_name}." + fi + log_user "get_flux_datacrumbs_composite_name returned composite_name:${composite_name}" + echo "${composite_name}" +} + +function get_general_datacrumbs_composite_name() { + local composite_name=$(get_default_datacrumbs_composite_name) + if [[ ${DATACRUMBS_COMPOSITE_NAME} == "null" || ${composite_name} == "" ]]; then + logger "User hasn't requested datacrumbs' composite feature using ${composite_name}." + else + logger "User has requested datacrumbs' composite feature using ${composite_name}." + fi + log_user "get_general_datacrumbs_composite_name returned composite_name:${composite_name}" + echo "${composite_name}" +} -if [[ ! ${DATACRUMBS_COMPOSABLE_NAME} =~ ^[a-zA-Z_]+$ ]]; then - warn_user "Error: DATACRUMBS_COMPOSABLE_NAME: ${DATACRUMBS_COMPOSABLE_NAME} contains invalid characters. Only alphabets and underscores are allowed." + +function get_slurm_datacrumbs_composite_name() { + local composite_name=$(get_general_datacrumbs_composite_name) + log_user "get_slurm_datacrumbs_composite_name returned composite_name:${composite_name}" + echo "${composite_name}" +} + +function get_datacrumbs_composite_name() { + local name=$(get_default_datacrumbs_composite_name) + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + name=$(get_flux_datacrumbs_composite_name) + elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then + name=$(get_slurm_datacrumbs_composite_name) + else + name=$(get_general_datacrumbs_composite_name) + fi + if [[ "${name}" != "$(get_default_datacrumbs_composite_name)" && "${name}" != "ERROR" ]]; then + if ! validate_datacrumbs_composite_name "${name}"; then + name="ERROR" + fi + fi + log_user "get_datacrumbs_composite_name returned name:${name}" + echo "${name}" +} + +DATACRUMBS_ENABLED=$(get_datacrumbs_enabled) +if [[ "${DATACRUMBS_ENABLED}" != "yes" ]]; then + logger "User hasn't requested datacrumbs feature, exiting." + return 1 +fi +DATACRUMBS_COMPOSABLE_NAME=$(get_datacrumbs_composite_name) +if [[ "${DATACRUMBS_COMPOSABLE_NAME}" == "ERROR" ]]; then return 1 fi -export DATACRUMBS_COMPOSABLE_NAME \ No newline at end of file +readonly DATACRUMBS_COMPOSABLE_NAME +export DATACRUMBS_COMPOSABLE_NAME +export DATACRUMBS_USER \ No newline at end of file diff --git a/scripts/datacrumbs/datacrumbs_service_run.sh.in b/scripts/datacrumbs/datacrumbs_service_run.sh.in index 6ef0b518..14b39ac6 100755 --- a/scripts/datacrumbs/datacrumbs_service_run.sh.in +++ b/scripts/datacrumbs/datacrumbs_service_run.sh.in @@ -2,9 +2,9 @@ source @DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_service_common.sh if [[ $? -eq 0 ]]; then umask 022 - printenv > /run/datacrumbs.env - echo datacrumbs_service_run "Starting datacrumbs service run script on job ${FLUX_JOB_ID}" - sudo systemctl enable datacrumbs@$DATACRUMBS_COMPOSABLE_NAME.service - sudo systemctl start datacrumbs@$DATACRUMBS_COMPOSABLE_NAME.service + printenv > ${DATACRUMBS_SERVER_ENV_FILE} + echo datacrumbs_service_run "Starting datacrumbs service run script on job ${DATACRUMBS_SERVER_RUN_ID}" + sudo systemctl enable datacrumbs@${DATACRUMBS_SERVER_RUN_ID}.service + sudo systemctl start datacrumbs@${DATACRUMBS_SERVER_RUN_ID}.service fi exit 0 \ No newline at end of file diff --git a/scripts/datacrumbs/datacrumbs_service_stop.sh.in b/scripts/datacrumbs/datacrumbs_service_stop.sh.in index 23a50b54..278ca082 100755 --- a/scripts/datacrumbs/datacrumbs_service_stop.sh.in +++ b/scripts/datacrumbs/datacrumbs_service_stop.sh.in @@ -1,7 +1,8 @@ #!/bin/bash source @DATACRUMBS_INSTALL_SBINARYDIR@/datacrumbs_service_common.sh if [[ $? -eq 0 ]]; then - sudo systemctl stop datacrumbs@$DATACRUMBS_COMPOSABLE_NAME.service + sudo systemctl stop datacrumbs@${DATACRUMBS_SERVER_RUN_ID}.service + sudo rm ${DATACRUMBS_SERVER_ENV_FILE} fi exit 0 diff --git a/scripts/datacrumbs/datacrumbs_setup.in b/scripts/datacrumbs/datacrumbs_setup.in index 8c292deb..864c5c47 100755 --- a/scripts/datacrumbs/datacrumbs_setup.in +++ b/scripts/datacrumbs/datacrumbs_setup.in @@ -23,9 +23,7 @@ if [[ "${DATACRUMBS_ENV_LOADED:-0}" == "0" ]]; then debug "User is root." fi if [[ -z "$DATACRUMBS_USER" ]] || [[ "$DATACRUMBS_USER" = "root" ]]; then - if [[ -n "$FLUX_JOB_USERID" ]]; then - DATACRUMBS_USER=$(id -nu $FLUX_JOB_USERID) - fi + DATACRUMBS_USER=$(get_actual_user) fi fi @@ -39,6 +37,9 @@ if [[ "${DATACRUMBS_ENV_LOADED:-0}" == "0" ]]; then export DATACRUMBS_TRACE_DIR=$(echo "$DATACRUMBS_TRACE_DIR_PATTERN" | sed "s|%YY%|$YEAR|g; s|%MM%|$MONTH|g; s|%DD%|$DAY|g") readonly DATACRUMBS_TRACE_DIR debug "Log directory set to $DATACRUMBS_TRACE_DIR" + + mkdir -p "${DATACRUMBS_SERVER_RUN_DIR}" 2> /dev/null + export DATACRUMBS_ENV_LOADED=1 readonly DATACRUMBS_ENV_LOADED diff --git a/scripts/datacrumbs/datacrumbs_utility.in b/scripts/datacrumbs/datacrumbs_utility.in index 3455b73e..db7728b2 100755 --- a/scripts/datacrumbs/datacrumbs_utility.in +++ b/scripts/datacrumbs/datacrumbs_utility.in @@ -68,17 +68,17 @@ function datacrumbs_init() { } function datacrumbs_start_server() { - if [[ "$RUNID" == "1000" ]]; then - RUNID=$(date +"%Y-%m-%d-%H-%M-%S") + if [[ ! -w "$DATACRUMBS_SERVER_RUN_DIR" ]]; then + warn "Cannot write to DATACRUMBS_SERVER_RUN_DIR: $DATACRUMBS_SERVER_RUN_DIR. Trying sudo." + sudo mkdir -p "$DATACRUMBS_SERVER_RUN_DIR" fi - READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" exec=$1 exec=($exec) if [[ -z "$DATACRUMBS_TRACE_DIR" ]]; then error "DATACRUMBS_TRACE_DIR is empty. Please set the trace directory." exit 1 fi - common_cmd=("$DATACRUMBS_INSTALL_HOST" "--user" "$DATACRUMBS_USER" "--config_path" "$DATACRUMBS_INSTALL_CONFIGS_DIR" "--data_dir" "$DATACRUMBS_INSTALL_DATA_DIR" "--trace_log_dir" "$DATACRUMBS_TRACE_DIR" --run_id "$RUNID") + common_cmd=("$DATACRUMBS_INSTALL_HOST" "--user" "$DATACRUMBS_USER" "--config_path" "$DATACRUMBS_INSTALL_CONFIGS_DIR" "--data_dir" "$DATACRUMBS_INSTALL_DATA_DIR" "--trace_log_dir" "$DATACRUMBS_TRACE_DIR" --run_id "$DATACRUMBS_SERVER_RUN_ID") cmd=("${exec[@]}" "run" "${common_cmd[@]}") WAIT_INTERVAL=2 ELAPSED=0 @@ -89,41 +89,37 @@ function datacrumbs_start_server() { else server_launch "${cmd[@]}" > $DATACRUMBS_LOG_FILE 2>&1 & PID=$! - echo $PID > "$DATACRUMBS_SERVER_PID_FILE" + echo $PID > "$DATACRUMBS_SERVER_SYSTEMD_PID_FILE" log "Service started with PID: $PID" chown ${DATACRUMBS_USER}:${DATACRUMBS_USER} $DATACRUMBS_LOG_FILE fi if [[ "${DRY_RUN:-0}" == "1" ]]; then - log "[DRY RUN] Would wait for ready file: $READY_FILE (DATACRUMBS_SERVER_LOAD_TIMEOUT: $DATACRUMBS_SERVER_LOAD_TIMEOUT seconds)" + log "[DRY RUN] Would wait for ready file: $DATACRUMBS_SERVER_READY_FILE (DATACRUMBS_SERVER_LOAD_TIMEOUT: $DATACRUMBS_SERVER_LOAD_TIMEOUT seconds)" return 0 fi - while [[ ! -f "$READY_FILE" ]]; do + while [[ ! -f "$DATACRUMBS_SERVER_READY_FILE" ]]; do sleep $WAIT_INTERVAL log "Waiting for ${ELAPSED} seconds $Server..." ELAPSED=$((ELAPSED + WAIT_INTERVAL)) if [[ $ELAPSED -ge $DATACRUMBS_SERVER_LOAD_TIMEOUT ]]; then - log "DATACRUMBS_SERVER_LOAD_TIMEOUT waiting for $READY_FILE" + log "DATACRUMBS_SERVER_LOAD_TIMEOUT waiting for $DATACRUMBS_SERVER_READY_FILE" server_launch $DATACRUMBS_INSTALL_SBIN_DIR/datacrumbs_stop cat $DATACRUMBS_LOG_FILE exit 1 fi done - echo $RUNID > "$DATACRUMBS_SERVER_RUNID_FILE" + echo $DATACRUMBS_SERVER_RUN_ID > "${DATACRUMBS_SERVER_RUN_ID_FILE}" log "Started server" } function datacrumbs_stop_server() { exec=$1 prog_name=$2 - if [[ "$RUNID" == "1000" ]] && [[ -f "$DATACRUMBS_SERVER_RUNID_FILE" ]]; then - RUNID=$(cat "$DATACRUMBS_SERVER_RUNID_FILE" 2>/dev/null) - fi - READY_FILE="@DATACRUMBS_INSTALL_RUNSTATEDIR@/datacrumbs_${DATACRUMBS_USER}_${RUNID}.ready" exec=($exec) - common_cmd=("$DATACRUMBS_INSTALL_HOST" "--user" "$DATACRUMBS_USER" "--config_path" "$DATACRUMBS_INSTALL_CONFIGS_DIR" "--data_dir" "$DATACRUMBS_INSTALL_DATA_DIR" "--trace_log_dir" "$DATACRUMBS_TRACE_DIR" --run_id "$RUNID") + common_cmd=("$DATACRUMBS_INSTALL_HOST" "--user" "$DATACRUMBS_USER" "--config_path" "$DATACRUMBS_INSTALL_CONFIGS_DIR" "--data_dir" "$DATACRUMBS_INSTALL_DATA_DIR" "--trace_log_dir" "$DATACRUMBS_TRACE_DIR" --run_id "$DATACRUMBS_SERVER_RUN_ID") cmd=("${exec[@]}" "stop" "${common_cmd[@]}") @@ -135,14 +131,14 @@ function datacrumbs_stop_server() { fi if [[ "${DRY_RUN:-0}" == "1" ]]; then - log "[DRY RUN] Would find and kill process(es) with RUNID ${RUNID}" - log "[DRY RUN] Would remove ready file: $READY_FILE" + log "[DRY RUN] Would find and kill process(es) with DATACRUMBS_SERVER_RUN_ID ${DATACRUMBS_SERVER_RUN_ID}" + log "[DRY RUN] Would remove ready file: $DATACRUMBS_SERVER_READY_FILE" return 0 fi SERVER_PID=$(cat "$DATACRUMBS_SERVER_PID_FILE") # SERVER_PID=$(ps aux | grep "${RUNID}" | grep -v grep | grep -v "${prog_name}" | awk '{print $2}') if [[ -n "$SERVER_PID" ]]; then - log "Found process(es) with RUNID ${RUNID}: $SERVER_PID. Killing them." + log "Found process(es) with DATACRUMBS_SERVER_RUN_ID ${DATACRUMBS_SERVER_RUN_ID}: $SERVER_PID. Killing them." if [[ "$DATACRUMBS_IS_ROOT" == "1" ]]; then ${DATACRUMBS_INSTALL_SBIN_DIR}/datacrumbs_stop "${prog_name}" else @@ -150,16 +146,15 @@ function datacrumbs_stop_server() { fi cat "${DATACRUMBS_LOG_FILE}" fi - rm -f "${READY_FILE}" - rm -f "${DATACRUMBS_SERVER_RUNID_FILE}" + rm -f "${DATACRUMBS_SERVER_READY_FILE}" + rm -f "${DATACRUMBS_SERVER_RUN_ID_FILE}" + rm -f "${DATACRUMBS_SERVER_PID_FILE}" + rm -f "${DATACRUMBS_SERVER_SYSTEMD_PID_FILE}" log "Stopped server" } function datacrumbs_print_status() { - if [[ "$RUNID" == "1000" ]] && [[ -f "$DATACRUMBS_SERVER_RUNID_FILE" ]]; then - RUNID=$(cat "$DATACRUMBS_SERVER_RUNID_FILE" 2>/dev/null) - fi - local status_file="/tmp/datacrumbs_${DATACRUMBS_USER}_status_${RUNID}.json" + local status_file=${DATACRUMBS_SERVER_STATUS_FILE} if [[ "${DRY_RUN:-0}" == "1" ]]; then log "[DRY RUN] Would print status from: $status_file" log "[DRY RUN] Would remove status file: $status_file" @@ -249,6 +244,20 @@ function server_launch() { "${cmd[@]}" } +function get_actual_user() { + local user=$(whoami) + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + if [[ -n "$FLUX_JOB_USERID" ]]; then + user=$(id -nu $FLUX_JOB_USERID) + fi + elif [[ "SLURM" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + if [[ -n "$SLURM_JOB_UID" ]]; then + user=$(id -nu $SLURM_JOB_UID) + fi + fi + echo "${user}" +} + if command -v module &> /dev/null then export DATACRUMBS_MODULE_AVAILABLE=1 diff --git a/src/datacrumbs/server/process/server.impl.cpp b/src/datacrumbs/server/process/server.impl.cpp index 70f011e5..a75c6bbe 100644 --- a/src/datacrumbs/server/process/server.impl.cpp +++ b/src/datacrumbs/server/process/server.impl.cpp @@ -519,17 +519,27 @@ static int main_process(int argc, char** argv, datacrumbs::EventProcessor* event // Main event polling loop signal(SIGINT, sig_handler); if (event_processor->configManager_->mpi_rank == 0) { - std::string ready_file = std::string(DATACRUMBS_INSTALL_RUNSTATEDIR) + "/datacrumbs_" + - event_processor->configManager_->user + "_" + - event_processor->configManager_->run_id + ".ready"; + std::string ready_file; + const char* env_ready_file = getenv("DATACRUMBS_SERVER_READY_FILE"); + if (env_ready_file) { + ready_file = std::string(env_ready_file); + } else { + ready_file = std::string(DATACRUMBS_INSTALL_RUNSTATEDIR) + "/datacrumbs-" + + event_processor->configManager_->run_id + ".ready"; + } std::ofstream ofs_ready(ready_file); ofs_ready << "ready" << std::endl; ofs_ready.close(); - auto pwd = getpwnam(event_processor->configManager_->user.c_str()); - uid_t uid = pwd ? pwd->pw_uid : static_cast(-1); - gid_t gid = pwd ? pwd->pw_gid : static_cast(-1); - chown(ready_file.c_str(), uid, gid); - chmod(ready_file.c_str(), 0660); + if (ready_file.substr(0, 4) != "/run" && ready_file.substr(0, 8) != "/var/run") { + auto pwd = getpwnam(event_processor->configManager_->user.c_str()); + auto uid = pwd ? pwd->pw_uid : static_cast(-1); + auto gid = pwd ? pwd->pw_gid : static_cast(-1); + chown(ready_file.c_str(), uid, gid); + chmod(ready_file.c_str(), 0660); + } + DC_LOG_INFO("Ready file created: %s for user:%s on %d nodes", ready_file.c_str(), + event_processor->configManager_->user.c_str(), + event_processor->configManager_->mpi_size); DC_LOG_PRINT("Server running on %d nodes. Ready to run the code.", event_processor->configManager_->mpi_size); } @@ -777,8 +787,14 @@ static int main_process(int argc, char** argv, datacrumbs::EventProcessor* event DC_LOG_PRINT("Total events: sum=%d, min=%d, max=%d", global_total_events_sum, global_total_events_min, global_total_events_max); // Write status info to JSON file for postprocessing - std::string status_file = "/tmp/datacrumbs_" + event_processor->configManager_->user + - "_status_" + event_processor->configManager_->run_id + ".json"; + std::string status_file; + const char* env_statusfile = getenv("DATACRUMBS_SERVER_STATUS_FILE"); + if (env_statusfile) { + status_file = std::string(env_statusfile); + } else { + status_file = std::string(DATACRUMBS_INSTALL_RUNSTATEDIR) + "/datacrumbs-" + + event_processor->configManager_->run_id + ".json"; + } struct json_object* status_json = json_object_new_object(); json_object_object_add( status_json, "trace_file", @@ -792,11 +808,13 @@ static int main_process(int argc, char** argv, datacrumbs::EventProcessor* event DC_LOG_ERROR("Failed to write status file: %s", status_file.c_str()); } json_object_put(status_json); - auto pwd = getpwnam(event_processor->configManager_->user.c_str()); - auto uid = pwd ? pwd->pw_uid : static_cast(-1); - auto gid = pwd ? pwd->pw_gid : static_cast(-1); - chown(status_file.c_str(), uid, gid); - chmod(status_file.c_str(), 0660); + if (status_file.substr(0, 4) != "/run" && status_file.substr(0, 8) != "/var/run") { + auto pwd = getpwnam(event_processor->configManager_->user.c_str()); + auto uid = pwd ? pwd->pw_uid : static_cast(-1); + auto gid = pwd ? pwd->pw_gid : static_cast(-1); + chown(status_file.c_str(), uid, gid); + chmod(status_file.c_str(), 0660); + } } DC_LOG_TRACE("main: end"); @@ -810,9 +828,14 @@ static int main_call(int argc, char** argv) { event_processor.configManager_->load_mpi_configurations(); } - std::string hostname = get_hostname(); - std::string pidfile = event_processor.configManager_->log_dir + "/datacrumbs_" + hostname + "_" + - event_processor.configManager_->run_id + ".pid"; + std::string pidfile; + const char* env_pidfile = getenv("DATACRUMBS_SERVER_PID_FILE"); + if (env_pidfile) { + pidfile = std::string(env_pidfile); + } else { + pidfile = std::string(DATACRUMBS_INSTALL_RUNSTATEDIR) + "/datacrumbs-" + + event_processor.configManager_->run_id + ".pid"; + } int return_code = 0; if (event_processor.configManager_->mpi_rank == 0 && @@ -824,6 +847,7 @@ static int main_call(int argc, char** argv) { return_code = main_process(argc, argv, &event_processor, false); } else if (event_processor.configManager_->exe_mode == datacrumbs::ExecutableMode::START) { daemonize(); + std::string hostname = get_hostname(); std::string logfile = event_processor.configManager_->log_dir + "/datacrumbs_" + event_processor.configManager_->user + "_" + hostname + "_" + event_processor.configManager_->run_id + ".log"; From 016f54f79e518b35954e9742da059123536ed9f2 Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Fri, 14 Nov 2025 14:53:59 -0800 Subject: [PATCH 07/12] The composable names are checked in user's and install user's directory. 1. Allows us to precompose some probes for users. 2. fixed logging to system vs user. --- etc/datacrumbs/configs/project.yaml.in | 1 + scripts/datacrumbs/datacrumbs_compose_run.in | 13 +++- .../datacrumbs/datacrumbs_compose_wrapper.in | 5 ++ scripts/datacrumbs/datacrumbs_logging.in | 40 ++++++++++++ .../datacrumbs/datacrumbs_server_run.sh.in | 4 +- .../datacrumbs_service_common.sh.in | 64 ++++++------------- scripts/datacrumbs/datacrumbs_setup.in | 8 +++ scripts/datacrumbs/datacrumbs_utility.in | 38 +++++++++-- 8 files changed, 119 insertions(+), 54 deletions(-) diff --git a/etc/datacrumbs/configs/project.yaml.in b/etc/datacrumbs/configs/project.yaml.in index b0e1afaf..dceaa302 100644 --- a/etc/datacrumbs/configs/project.yaml.in +++ b/etc/datacrumbs/configs/project.yaml.in @@ -14,6 +14,7 @@ install: modules_dir: ${DATACRUMBS_INSTALL_ETC_DIR}/@CMAKE_INSTALL_MODULES_DIR@ probe_objects_dir: ${DATACRUMBS_INSTALL_LIBEXEC_DIR}/objects composable_dir: ${DATACRUMBS_INSTALL_LIBEXEC_DIR}/composable + compose_bin: ${DATACRUMBS_INSTALL_LIBEXEC_DIR}/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_INSTALL_USER} client: lib: ${DATACRUMBS_INSTALL_LIB_DIR}/libdatacrumbs_client.so bin: ${DATACRUMBS_INSTALL_LIBEXEC_DIR}/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER} diff --git a/scripts/datacrumbs/datacrumbs_compose_run.in b/scripts/datacrumbs/datacrumbs_compose_run.in index 0c9eb9ff..5bd85574 100755 --- a/scripts/datacrumbs/datacrumbs_compose_run.in +++ b/scripts/datacrumbs/datacrumbs_compose_run.in @@ -13,7 +13,7 @@ source "$SCRIPT_DIR/datacrumbs_args" # Initialize argument parser for this script dc_args_init "DATACRUMBS_COMPOSE_RUN" -dc_args_add_option "DATACRUMBS_COMPOSE_RUN" "composite_name" "MANDATORY" "Composable name" "string" +dc_args_add_option "DATACRUMBS_COMPOSE_RUN" "composite_name" "MANDATORY" "Composable name" "string" "${DATACRUMBS_COMPOSABLE_NAME}" dc_args_add_option "DATACRUMBS_COMPOSE_RUN" "app" "MANDATORY" "App command" "string" dc_args_add_option "DATACRUMBS_COMPOSE_RUN" "enable_mpi" "OPTIONAL" "switch to enable MPI" "bool" "0" dc_args_add_option "DATACRUMBS_COMPOSE_RUN" "nodes" "OPTIONAL" "Set number of nodes" "int" "1" @@ -38,7 +38,7 @@ export DATACRUMBS_JOB_ENABLE_MPI=${DATACRUMBS_COMPOSE_RUN_ENABLE_MPI:-0} export DATACRUMBS_JOB_NODES=${DATACRUMBS_COMPOSE_RUN_NODES:-1} export DATACRUMBS_JOB_PPN=${DATACRUMBS_COMPOSE_RUN_PPN:-1} -if [[ -z "$DATACRUMBS_COMPOSABLE_NAME" ]]; then +if [[ -z "$DATACRUMBS_COMPOSABLE_NAME" || "$DATACRUMBS_COMPOSABLE_NAME" == "NONE" ]]; then echo "Error: COMPOSITE_NAME argument is required." show_help exit 1 @@ -50,6 +50,11 @@ if [[ -z "${DATACRUMBS_COMPOSE_RUN_APP}" ]]; then exit 1 fi +if ! validate_datacrumbs_composite_name "${DATACRUMBS_COMPOSABLE_NAME}"; then + error "Invalid composable name: ${DATACRUMBS_COMPOSABLE_NAME}" + exit 1 +fi + # Convert APP_CMD string into array, splitting on spaces read -ra APP_CMD <<< "${DATACRUMBS_COMPOSE_RUN_APP}" @@ -69,6 +74,10 @@ debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" debug "DATACRUMBS_LOG_FILE: $DATACRUMBS_LOG_FILE" debug "DATACRUMBS_SERVER_READY_FILE: $DATACRUMBS_SERVER_READY_FILE" + + + + exec=("${DATACRUMBS_INSTALL_SBIN_DIR}/datacrumbs_compose_wrapper" "${DATACRUMBS_COMPOSABLE_NAME}") debug "Starting datacrumbs server with exec: ${exec[*]}" datacrumbs_start_server "${exec[*]}" diff --git a/scripts/datacrumbs/datacrumbs_compose_wrapper.in b/scripts/datacrumbs/datacrumbs_compose_wrapper.in index 68e0fa71..7111aedf 100755 --- a/scripts/datacrumbs/datacrumbs_compose_wrapper.in +++ b/scripts/datacrumbs/datacrumbs_compose_wrapper.in @@ -10,4 +10,9 @@ check_sudo_user DATACRUMBS_COMPOSABLE_NAME=$1 shift +if ! validate_datacrumbs_composite_name "${DATACRUMBS_COMPOSABLE_NAME}"; then + error "Invalid composable name: ${DATACRUMBS_COMPOSABLE_NAME}" + exit 1 +fi + ${DATACRUMBS_CLIENT_BIN}/datacrumbs_${DATACRUMBS_COMPOSABLE_NAME} $@ \ No newline at end of file diff --git a/scripts/datacrumbs/datacrumbs_logging.in b/scripts/datacrumbs/datacrumbs_logging.in index 56903c96..1cc33d04 100755 --- a/scripts/datacrumbs/datacrumbs_logging.in +++ b/scripts/datacrumbs/datacrumbs_logging.in @@ -25,3 +25,43 @@ warn() { printf "\n" >&2 fi } + +log_system() { + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + logger "[INFO $(date '+%Y-%m-%d %H:%M:%S') ${FLUX_JOB_ID}] $@" + elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then + logger "[INFO $(date '+%Y-%m-%d %H:%M:%S') ${SLURM_JOB_ID}] $@" + else + logger "[INFO $(date '+%Y-%m-%d %H:%M:%S')] $@" + fi +} + +log_user() { + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + flux job raise --severity=7 ${FLUX_JOB_ID} "[INFO $(date '+%Y-%m-%d %H:%M:%S') ${FLUX_JOB_ID}] $@" + elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then + logger "[INFO $(date '+%Y-%m-%d %H:%M:%S') ${SLURM_JOB_ID}] $@" + else + logger "[INFO $(date '+%Y-%m-%d %H:%M:%S')] $@" + fi +} + +warn_user() { + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + flux job raise --severity=1 ${FLUX_JOB_ID} "[WARN $(date '+%Y-%m-%d %H:%M:%S') ${FLUX_JOB_ID}] $@" + elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then + logger "[WARN $(date '+%Y-%m-%d %H:%M:%S') ${SLURM_JOB_ID}] $@" + else + logger "[WARN $(date '+%Y-%m-%d %H:%M:%S')] $@" + fi +} + +error_user() { + if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then + flux job raise --severity=1 ${FLUX_JOB_ID} "[ERROR $(date '+%Y-%m-%d %H:%M:%S') ${FLUX_JOB_ID}] $@" + elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then + logger "[ERROR $(date '+%Y-%m-%d %H:%M:%S') ${SLURM_JOB_ID}] $@" + else + logger "[ERROR $(date '+%Y-%m-%d %H:%M:%S')] $@" + fi +} diff --git a/scripts/datacrumbs/datacrumbs_server_run.sh.in b/scripts/datacrumbs/datacrumbs_server_run.sh.in index 323c1f69..1d76f5b2 100755 --- a/scripts/datacrumbs/datacrumbs_server_run.sh.in +++ b/scripts/datacrumbs/datacrumbs_server_run.sh.in @@ -35,8 +35,8 @@ PROG_NAME=$(basename "$0") source $SCRIPT_DIR/datacrumbs_setup if [[ "$DATACRUMBS_COMPOSITE_NAME" != "" ]] && [[ "$DATACRUMBS_COMPOSITE_NAME" != "NONE" ]]; then - if [[ ! -f "${DATACRUMBS_CLIENT_BIN}/datacrumbs_${DATACRUMBS_COMPOSITE_NAME}" ]]; then - error "Composite ${DATACRUMBS_COMPOSITE_NAME} not found for ${DATACRUMBS_USER}" + if ! validate_datacrumbs_composite_name "${DATACRUMBS_COMPOSITE_NAME}"; then + error "Invalid composable name: ${DATACRUMBS_COMPOSITE_NAME}" exit 1 fi fi diff --git a/scripts/datacrumbs/datacrumbs_service_common.sh.in b/scripts/datacrumbs/datacrumbs_service_common.sh.in index 244d7bf4..6dfa041e 100755 --- a/scripts/datacrumbs/datacrumbs_service_common.sh.in +++ b/scripts/datacrumbs/datacrumbs_service_common.sh.in @@ -2,26 +2,13 @@ source @DATACRUMBS_INSTALL_BINARYDIR@/datacrumbs_setup -log_user() { - logger "[LOG] datacrumbs-prolog: $@" -} - -warn_user() { - if [[ "FLUX" == "@DATACRUMBS_SCHEDULER_TYPE@" ]]; then - flux job raise --severity=1 ${FLUX_JOB_ID} "datacrumbs-prolog: $@" - elif [[ "@DATACRUMBS_SCHEDULER_TYPE@" == "SLURM" ]]; then - logger "[WARN] ${SLURM_JOB_ID} datacrumbs-prolog: $@" - else - logger "[WARN] datacrumbs-prolog: $@" - fi -} function get_general_datacrumbs_enabled() { local enabled=${DATACRUMBS_ENABLED:-0} enabled_value="no" if [[ "${enabled}" -eq "1" ]]; then enabled_value="yes" fi - log_user "get_general_datacrumbs_enabled returned enabled:${enabled_value}" + log_system "get_general_datacrumbs_enabled returned enabled:${enabled_value}" echo "${enabled_value}" } @@ -29,16 +16,16 @@ function get_flux_datacrumbs_enabled() { local enabled=$(flux job info $FLUX_JOB_ID jobspec 2>/dev/null | jq -r .attributes.system.datacrumbs 2>/dev/null) enabled_value="no" if [[ ${enabled} == "null" ]]; then - logger "User hasn't requested datacrumbs feature enabled:${enabled}, exiting." + log_system "User hasn't requested datacrumbs feature enabled:${enabled}, exiting." else FLUX_DATACRUMBS=$(flux job info $FLUX_JOB_ID jobspec 2>/dev/null | jq -r .attributes.system.datacrumbs.enable 2>/dev/null) if [[ ${FLUX_DATACRUMBS} == "null" || "${FLUX_DATACRUMBS}" != "yes" ]]; then - logger "User hasn't requested datacrumbs feature FLUX_DATACRUMBS:${FLUX_DATACRUMBS}, exiting." + log_system "User hasn't requested datacrumbs feature FLUX_DATACRUMBS:${FLUX_DATACRUMBS}, exiting." else enabled_value="yes" fi fi - log_user "get_flux_datacrumbs_enabled returned enabled:${enabled_value}" + log_system "get_flux_datacrumbs_enabled returned enabled:${enabled_value}" echo "${enabled_value}" } @@ -52,7 +39,7 @@ function get_slurm_datacrumbs_enabled() { enabled_value="yes" fi fi - log_user "get_slurm_datacrumbs_enabled returned enabled:${enabled_value}" + log_system "get_slurm_datacrumbs_enabled returned enabled:${enabled_value}" echo "${enabled_value}" } @@ -66,26 +53,10 @@ function get_datacrumbs_enabled() { else enabled=$(get_general_datacrumbs_enabled) fi - log_user "get_datacrumbs_enabled returned enabled:${enabled}" + log_system "get_datacrumbs_enabled returned enabled:${enabled}" echo "${enabled}" } - -function validate_datacrumbs_composite_name() { - local name="$1" - return_code=0 - if [[ ! ${name} =~ ^[a-zA-Z_]+$ ]]; then - warn_user "Error: DATACRUMBS_COMPOSABLE_NAME: ${name} contains invalid characters. Only alphabets and underscores are allowed." - return_code=1 - fi - if [[ ${return_code} -eq 0 && ! -f "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER}/datacrumbs_${name}" ]]; then - warn_user "Error: Composable name ${name} does not exist." - return_code=1 - fi - log_user "validate_datacrumbs_composite_name validated name:${name} return_code:${return_code}" - return ${return_code} -} - function get_default_datacrumbs_composite_name() { echo "NONE" } @@ -93,29 +64,29 @@ function get_default_datacrumbs_composite_name() { function get_flux_datacrumbs_composite_name() { local composite_name=$(flux job info $FLUX_JOB_ID jobspec | jq -r .attributes.system.datacrumbs.composite) if [[ ${composite_name} == "null" || ${composite_name} == "" ]]; then - logger "User hasn't requested datacrumbs' composite feature using ${composite_name}.""ERROR" + log_system "User hasn't requested datacrumbs' composite feature using ${composite_name}.""ERROR" else - logger "User has requested datacrumbs' composite feature using ${composite_name}." + log_system "User has requested datacrumbs' composite feature using ${composite_name}." fi - log_user "get_flux_datacrumbs_composite_name returned composite_name:${composite_name}" + log_system "get_flux_datacrumbs_composite_name returned composite_name:${composite_name}" echo "${composite_name}" } function get_general_datacrumbs_composite_name() { local composite_name=$(get_default_datacrumbs_composite_name) if [[ ${DATACRUMBS_COMPOSITE_NAME} == "null" || ${composite_name} == "" ]]; then - logger "User hasn't requested datacrumbs' composite feature using ${composite_name}." + log_system "User hasn't requested datacrumbs' composite feature using ${composite_name}." else - logger "User has requested datacrumbs' composite feature using ${composite_name}." + log_system "User has requested datacrumbs' composite feature using ${composite_name}." fi - log_user "get_general_datacrumbs_composite_name returned composite_name:${composite_name}" + log_system "get_general_datacrumbs_composite_name returned composite_name:${composite_name}" echo "${composite_name}" } function get_slurm_datacrumbs_composite_name() { local composite_name=$(get_general_datacrumbs_composite_name) - log_user "get_slurm_datacrumbs_composite_name returned composite_name:${composite_name}" + log_system "get_slurm_datacrumbs_composite_name returned composite_name:${composite_name}" echo "${composite_name}" } @@ -133,19 +104,24 @@ function get_datacrumbs_composite_name() { name="ERROR" fi fi - log_user "get_datacrumbs_composite_name returned name:${name}" + log_system "get_datacrumbs_composite_name returned name:${name}" echo "${name}" } DATACRUMBS_ENABLED=$(get_datacrumbs_enabled) if [[ "${DATACRUMBS_ENABLED}" != "yes" ]]; then - logger "User hasn't requested datacrumbs feature, exiting." + log_system "User hasn't requested datacrumbs feature, exiting." return 1 fi DATACRUMBS_COMPOSABLE_NAME=$(get_datacrumbs_composite_name) if [[ "${DATACRUMBS_COMPOSABLE_NAME}" == "ERROR" ]]; then return 1 fi +if [[ "${DATACRUMBS_COMPOSABLE_NAME}" == "$(get_default_datacrumbs_composite_name)" ]]; then + log_user "Running system datacrumbs" +else + log_user "Running a composite datacrumbs with name: ${DATACRUMBS_COMPOSABLE_NAME}" +fi readonly DATACRUMBS_COMPOSABLE_NAME export DATACRUMBS_COMPOSABLE_NAME diff --git a/scripts/datacrumbs/datacrumbs_setup.in b/scripts/datacrumbs/datacrumbs_setup.in index 864c5c47..966241a7 100755 --- a/scripts/datacrumbs/datacrumbs_setup.in +++ b/scripts/datacrumbs/datacrumbs_setup.in @@ -43,7 +43,15 @@ if [[ "${DATACRUMBS_ENV_LOADED:-0}" == "0" ]]; then export DATACRUMBS_ENV_LOADED=1 readonly DATACRUMBS_ENV_LOADED + if command -v module &> /dev/null; then + export DATACRUMBS_MODULE_AVAILABLE=1 + else + export DATACRUMBS_MODULE_AVAILABLE=0 + fi + readonly DATACRUMBS_MODULE_AVAILABLE + eval $DATACRUMBS_SERVER_PREAMBLE + fi if [[ "$DATACRUMBS_MODULE_AVAILABLE" == "1" ]] && [[ "$DATACRUMBS_SERVER_MODULE" == "1" ]]; then diff --git a/scripts/datacrumbs/datacrumbs_utility.in b/scripts/datacrumbs/datacrumbs_utility.in index db7728b2..0a20cc79 100755 --- a/scripts/datacrumbs/datacrumbs_utility.in +++ b/scripts/datacrumbs/datacrumbs_utility.in @@ -255,12 +255,38 @@ function get_actual_user() { user=$(id -nu $SLURM_JOB_UID) fi fi + log_system "get_actual_user returned user:${user}" echo "${user}" } -if command -v module &> /dev/null -then - export DATACRUMBS_MODULE_AVAILABLE=1 -else - export DATACRUMBS_MODULE_AVAILABLE=0 -fi \ No newline at end of file +function check_composite_location() { + local name="$1" + local selected_location="" + local user_location=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_USER}/datacrumbs_${name} + local system_location=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@PROJECT_NAME@/@CMAKE_INSTALL_SBINDIR@/${DATACRUMBS_INSTALL_USER}/datacrumbs_${name} + if [[ -f "${user_location}" ]]; then + selected_location="${user_location}" + elif [[ -f "${system_location}" ]]; then + selected_location="${system_location}" + else + selected_location="NA" + fi + log_system "check_composite_location for name:${name} selected_location:${selected_location}" + echo "${selected_location}" +} + +function validate_datacrumbs_composite_name() { + local name="$1" + return_code=0 + if [[ ! ${name} =~ ^[a-zA-Z_]+$ ]]; then + warn_user "Error: DATACRUMBS_COMPOSABLE_NAME: ${name} contains invalid characters. Only alphabets and underscores are allowed." + return_code=1 + fi + local selected_location=$(check_composite_location "${name}") + if [[ ${return_code} -eq 0 && "${selected_location}" == "NA" ]]; then + warn_user "Error: Composable name ${name} does not exist." + return_code=1 + fi + log_system "validate_datacrumbs_composite_name validated name:${name} return_code:${return_code}" + return ${return_code} +} From 410d46566d5ea3ca6789ab58438d379795f85d6a Mon Sep 17 00:00:00 2001 From: Hariharan Devarajan Date: Fri, 14 Nov 2025 15:01:12 -0800 Subject: [PATCH 08/12] handle bool variables while printing help --- scripts/datacrumbs/datacrumbs_args.in | 38 ++++++++++++++++++++------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/scripts/datacrumbs/datacrumbs_args.in b/scripts/datacrumbs/datacrumbs_args.in index 9dbf9060..a587ae5f 100755 --- a/scripts/datacrumbs/datacrumbs_args.in +++ b/scripts/datacrumbs/datacrumbs_args.in @@ -266,9 +266,19 @@ dc_args_usage() { done done if (( ${#__vals[@]} > 0 )); then - local __vals_joined - IFS='|' read -r __vals_joined <<< "${__vals[*]}" - note=" (required when --$SUBCMD_OPT=$__vals_joined)" + # Check if the subcommand option is a bool type + local __subcmd_idx="${IDX[$SUBCMD_OPT]}" + local __subcmd_type="${T[$__subcmd_idx]}" + + if [[ "$__subcmd_type" == "bool" ]]; then + # For bool, just show --option without =value + note=" (required when --$SUBCMD_OPT)" + else + # For non-bool, show --option=value1|value2 + local __vals_joined + IFS='|' read -r __vals_joined <<< "${__vals[*]}" + note=" (required when --$SUBCMD_OPT=$__vals_joined)" + fi fi fi if [[ "${T[i]}" == "bool" ]]; then @@ -503,12 +513,22 @@ dc_args_pretty_print() { done done if (( ${#__vals[@]} > 0 )); then - local __joined=""; local __idx - for __idx in "${!__vals[@]}"; do - [[ "$__idx" -gt 0 ]] && __joined+="|" - __joined+="${__vals[$__idx]}" - done - note=" (required when --$SUBCMD_OPT=$__joined)" + # Check if the subcommand option is a bool type + local __subcmd_idx="${IDX[$SUBCMD_OPT]}" + local __subcmd_type="${T[$__subcmd_idx]}" + + if [[ "$__subcmd_type" == "bool" ]]; then + # For bool, just show --option without =value + note=" (required when --$SUBCMD_OPT)" + else + # For non-bool, show --option=value1|value2|... + local __joined=""; local __idx + for __idx in "${!__vals[@]}"; do + [[ "$__idx" -gt 0 ]] && __joined+="|" + __joined+="${__vals[$__idx]}" + done + note=" (required when --$SUBCMD_OPT=$__joined)" + fi fi fi From 67daa4dc67e6a6f170cd66989fcc0c4c206a8531 Mon Sep 17 00:00:00 2001 From: Hariharan Date: Sun, 16 Nov 2025 18:25:33 +0000 Subject: [PATCH 09/12] Enhance probe management by adding enable_explorer flag and loading existing probes from JSON --- .devcontainer/devcontainer.json | 2 +- CMakeLists.txt | 2 + etc/datacrumbs/configs/docker.yaml | 3 +- .../common/configuration_manager.cpp | 7 + src/datacrumbs/common/data_structures.h | 1 + src/datacrumbs/explorer/probe_explorer.cpp | 227 ++++++++++++++++++ src/datacrumbs/explorer/probe_explorer.h | 3 + src/datacrumbs/server/bpf/common.h | 1 - 8 files changed, 243 insertions(+), 3 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 0ac87462..4e36bad5 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,7 +6,7 @@ // Sets the run context to one level up instead of the .devcontainer folder. "context": "..", // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename. - "dockerfile": "../Dockerfile", + "dockerfile": "../infrastructure/docker/Dockerfile", }, "runArgs": [ "-ti", diff --git a/CMakeLists.txt b/CMakeLists.txt index bed1d895..edd3f886 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -602,6 +602,8 @@ set(_DATACRUMBS_DATA_FILES "${CMAKE_DATA_OUTPUT_DIRECTORY}/categories-${DATACRUMBS_USER}-${DATACRUMBS_HOST}.json" "${CMAKE_DATA_OUTPUT_DIRECTORY}/probes-${DATACRUMBS_USER}-${DATACRUMBS_HOST}.json" ) +# Ensure the data output directory exists +file(MAKE_DIRECTORY ${CMAKE_DATA_OUTPUT_DIRECTORY}) if(_DATACRUMBS_DATA_FILES) install(FILES ${_DATACRUMBS_DATA_FILES} diff --git a/etc/datacrumbs/configs/docker.yaml b/etc/datacrumbs/configs/docker.yaml index 4867cd31..3ff6db14 100755 --- a/etc/datacrumbs/configs/docker.yaml +++ b/etc/datacrumbs/configs/docker.yaml @@ -20,4 +20,5 @@ capture_probes: - name: os_page_cache probe: kprobe type: header - file: @DATACRUMBS_KERNEL_HEADERS_PATH@/include/linux/pagemap.h \ No newline at end of file + file: @DATACRUMBS_KERNEL_HEADERS_PATH@/include/linux/pagemap.h + enable_explorer: false \ No newline at end of file diff --git a/src/datacrumbs/common/configuration_manager.cpp b/src/datacrumbs/common/configuration_manager.cpp index 7642d2b5..0d948797 100644 --- a/src/datacrumbs/common/configuration_manager.cpp +++ b/src/datacrumbs/common/configuration_manager.cpp @@ -220,6 +220,8 @@ ConfigurationManager::ConfigurationManager(int argc, char** argv, bool print, std::shared_ptr probe; + DC_LOG_DEBUG("[ConfigurationManager] Capture probe enable_explorer set to: %s", + probe->enable_explorer ? "true" : "false"); // Handle each capture probe type switch (type) { case CaptureType::HEADER: { @@ -343,6 +345,11 @@ ConfigurationManager::ConfigurationManager(int argc, char** argv, bool print, throw std::invalid_argument("Unknown CaptureType in configuration: " + probe_node["type"].as()); } + if (probe_node["enable_explorer"]) { + probe->enable_explorer = probe_node["enable_explorer"].as(); + } else { + probe->enable_explorer = true; // Default to true if not specified + } // Parse probe type if (probe_node["probe"]) { auto probe_type_str = probe_node["probe"].as(); diff --git a/src/datacrumbs/common/data_structures.h b/src/datacrumbs/common/data_structures.h index 56a45071..b7d299d3 100644 --- a/src/datacrumbs/common/data_structures.h +++ b/src/datacrumbs/common/data_structures.h @@ -393,6 +393,7 @@ class CaptureProbe { std::string regex; // Regex pattern for matching std::string name; // Name of the capture probe ProbeType probe_type; // Type of probe associated with the capture + bool enable_explorer; // Flag to enable explorer for this capture probe }; // Capture probe for kernel symbols diff --git a/src/datacrumbs/explorer/probe_explorer.cpp b/src/datacrumbs/explorer/probe_explorer.cpp index 93277e51..12d5c1f0 100644 --- a/src/datacrumbs/explorer/probe_explorer.cpp +++ b/src/datacrumbs/explorer/probe_explorer.cpp @@ -135,6 +135,8 @@ std::vector> ProbeExplorer::extractProbes() { } } + auto existingProbesMap = loadExistingProbes(); + static std::unordered_set global_function_names; std::vector> probes; // Iterate over all capture probes from configuration @@ -163,7 +165,65 @@ std::vector> ProbeExplorer::extractProbes() { DC_LOG_ERROR("Unknown probe type encountered in extractProbes()"); throw std::runtime_error("Unknown probe type encountered in extractProbes()"); } + if (!capture_probe->enable_explorer) { + // Check if probe already exists and can be reused + auto existingProbeIt = existingProbesMap.find(capture_probe->name); + if (existingProbeIt != existingProbesMap.end()) { + DC_LOG_INFO("Found existing probe '%s', reusing it", capture_probe->name.c_str()); + auto existingProbe = existingProbeIt->second; + + // Copy fields from existing probe to new probe + probe->name = existingProbe->name; + probe->functions = existingProbe->functions; + // Copy type-specific fields based on probe type + switch (capture_probe->probe_type) { + case ProbeType::UPROBE: + if (auto existingUprobe = std::dynamic_pointer_cast(existingProbe)) { + if (auto uprobe = std::dynamic_pointer_cast(probe)) { + uprobe->binary_path = existingUprobe->binary_path; + uprobe->include_offsets = existingUprobe->include_offsets; + } + } + break; + case ProbeType::USDT: + if (auto existingUsdtProbe = std::dynamic_pointer_cast(existingProbe)) { + if (auto usdtProbe = std::dynamic_pointer_cast(probe)) { + usdtProbe->binary_path = existingUsdtProbe->binary_path; + usdtProbe->provider = existingUsdtProbe->provider; + } + } + break; + case ProbeType::CUSTOM: + if (auto existingCustomProbe = std::dynamic_pointer_cast(existingProbe)) { + if (auto customProbe = std::dynamic_pointer_cast(probe)) { + customProbe->bpf_path = existingCustomProbe->bpf_path; + customProbe->start_event_id = existingCustomProbe->start_event_id; + customProbe->process_header = existingCustomProbe->process_header; + customProbe->event_type = existingCustomProbe->event_type; + } + } + break; + default: + // For SYSCALLS and KPROBE, no additional fields to copy + break; + } + DC_LOG_INFO("Reused existing probe: %s", probe->name.c_str()); + + // Validate the existing probe and add it to the list + if (probe->validate()) { + DC_LOG_INFO("Valid probe reused: %s", probe->name.c_str()); + probes.push_back(probe); + continue; // Skip the rest of the processing for this probe + } else { + DC_LOG_WARN("Existing probe '%s' failed validation, will extract fresh", + probe->name.c_str()); + } + } else { + DC_LOG_INFO("No existing probe found for '%s', will extract fresh", + capture_probe->name.c_str()); + } + } // Extract function names based on capture type switch (capture_probe->type) { case CaptureType::HEADER: @@ -505,6 +565,173 @@ void ProbeExplorer::create_exclusion_file(std::vector> pr DC_LOG_TRACE("ProbeExplorer::create_exclusion_file - end"); } +// Loads existing probes from JSON file and builds a map for querying +std::unordered_map> ProbeExplorer::loadExistingProbes() { + DC_LOG_TRACE("ProbeExplorer::loadExistingProbes - start"); + std::unordered_map> existingProbesMap; + + if (!configManager_->probe_file_path.empty() && + std::filesystem::exists(configManager_->probe_file_path)) { + std::ifstream ifs(configManager_->probe_file_path); + if (ifs.is_open()) { + std::string content((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); + json_object* jobj = json_tokener_parse(content.c_str()); + + if (jobj && json_object_get_type(jobj) == json_type_array) { + int arr_len = json_object_array_length(jobj); + for (int i = 0; i < arr_len; ++i) { + json_object* probe_obj = json_object_array_get_idx(jobj, i); + if (!probe_obj) { + DC_LOG_WARN("Probe object at index %d is null", i); + continue; + } + + json_object* name_obj = nullptr; + json_object* type_obj = nullptr; + + if (json_object_object_get_ex(probe_obj, "name", &name_obj) && + json_object_object_get_ex(probe_obj, "type", &type_obj) && + json_object_get_type(name_obj) == json_type_string && + json_object_get_type(type_obj) == json_type_int) { + std::string probe_name = json_object_get_string(name_obj); + ProbeType probe_type = static_cast(json_object_get_int(type_obj)); + + std::shared_ptr probe; + + // Create appropriate probe type based on the type field + switch (probe_type) { + case ProbeType::UPROBE: + probe = std::make_shared(); + probe->type = ProbeType::UPROBE; + break; + case ProbeType::SYSCALLS: + probe = std::make_shared(); + probe->type = ProbeType::SYSCALLS; + break; + case ProbeType::USDT: + probe = std::make_shared(); + probe->type = ProbeType::USDT; + break; + case ProbeType::KPROBE: + probe = std::make_shared(); + probe->type = ProbeType::KPROBE; + break; + case ProbeType::CUSTOM: + probe = std::make_shared(); + probe->type = ProbeType::CUSTOM; + break; + default: + DC_LOG_WARN("Unknown probe type '%d' for probe '%s'", static_cast(probe_type), + probe_name.c_str()); + continue; + } + + probe->name = probe_name; + + // Load functions array if present + json_object* funcs_obj = nullptr; + if (json_object_object_get_ex(probe_obj, "functions", &funcs_obj) && + json_object_get_type(funcs_obj) == json_type_array) { + int func_len = json_object_array_length(funcs_obj); + for (int j = 0; j < func_len; ++j) { + json_object* func_obj = json_object_array_get_idx(funcs_obj, j); + if (func_obj && json_object_get_type(func_obj) == json_type_string) { + probe->functions.push_back(json_object_get_string(func_obj)); + } + } + } + + // Load type-specific fields + switch (probe_type) { + case ProbeType::UPROBE: + if (auto uprobe = std::dynamic_pointer_cast(probe)) { + json_object* binary_path_obj = nullptr; + json_object* include_offsets_obj = nullptr; + if (json_object_object_get_ex(probe_obj, "binary_path", &binary_path_obj) && + json_object_get_type(binary_path_obj) == json_type_string) { + uprobe->binary_path = json_object_get_string(binary_path_obj); + } + if (json_object_object_get_ex(probe_obj, "include_offsets", + &include_offsets_obj) && + json_object_get_type(include_offsets_obj) == json_type_boolean) { + uprobe->include_offsets = json_object_get_boolean(include_offsets_obj); + } + } + break; + case ProbeType::USDT: + if (auto usdtProbe = std::dynamic_pointer_cast(probe)) { + json_object* binary_path_obj = nullptr; + json_object* provider_obj = nullptr; + if (json_object_object_get_ex(probe_obj, "binary_path", &binary_path_obj) && + json_object_get_type(binary_path_obj) == json_type_string) { + usdtProbe->binary_path = json_object_get_string(binary_path_obj); + } + if (json_object_object_get_ex(probe_obj, "provider", &provider_obj) && + json_object_get_type(provider_obj) == json_type_string) { + usdtProbe->provider = json_object_get_string(provider_obj); + } + } + break; + case ProbeType::CUSTOM: + if (auto customProbe = std::dynamic_pointer_cast(probe)) { + json_object* bpf_path_obj = nullptr; + json_object* start_event_id_obj = nullptr; + json_object* process_header_obj = nullptr; + json_object* event_type_obj = nullptr; + + if (json_object_object_get_ex(probe_obj, "bpf_path", &bpf_path_obj) && + json_object_get_type(bpf_path_obj) == json_type_string) { + customProbe->bpf_path = json_object_get_string(bpf_path_obj); + } + if (json_object_object_get_ex(probe_obj, "start_event_id", &start_event_id_obj) && + json_object_get_type(start_event_id_obj) == json_type_int) { + customProbe->start_event_id = json_object_get_int(start_event_id_obj); + } + if (json_object_object_get_ex(probe_obj, "process_header", &process_header_obj) && + json_object_get_type(process_header_obj) == json_type_string) { + customProbe->process_header = json_object_get_string(process_header_obj); + } + if (json_object_object_get_ex(probe_obj, "event_type", &event_type_obj) && + json_object_get_type(event_type_obj) == json_type_int) { + customProbe->event_type = json_object_get_int(event_type_obj); + } + } + break; + case ProbeType::SYSCALLS: + case ProbeType::KPROBE: + // No additional fields to load for these types + break; + default: + // Already handled above, should not reach here + break; + } + + existingProbesMap[probe_name] = probe; + DC_LOG_DEBUG("Loaded existing probe: %s with %zu functions", probe_name.c_str(), + probe->functions.size()); + } else { + DC_LOG_WARN("Probe at index %d missing required 'name' or 'type' field", i); + } + } + } else { + DC_LOG_WARN("Existing probe file is not a valid JSON array"); + } + + if (jobj) json_object_put(jobj); + } else { + DC_LOG_ERROR("Failed to open existing probe file: %s", + configManager_->probe_file_path.string().c_str()); + } + } else { + DC_LOG_INFO("No existing probe file found at: %s", + configManager_->probe_file_path.string().c_str()); + } + + DC_LOG_INFO("Loaded %zu existing probes", existingProbesMap.size()); + DC_LOG_TRACE("ProbeExplorer::loadExistingProbes - end"); + return existingProbesMap; +} + // Writes extracted probes to a JSON file and returns the probe list std::vector> ProbeExplorer::writeProbesToJson() { DC_LOG_TRACE("ProbeExplorer::writeProbesToJson - start"); diff --git a/src/datacrumbs/explorer/probe_explorer.h b/src/datacrumbs/explorer/probe_explorer.h index 40c57c0f..2ec25b4a 100644 --- a/src/datacrumbs/explorer/probe_explorer.h +++ b/src/datacrumbs/explorer/probe_explorer.h @@ -42,6 +42,9 @@ class ProbeExplorer { // Returns a vector of shared pointers to Probe objects std::vector> writeProbesToJson(); + // Loads existing probes from a JSON file + std::unordered_map> loadExistingProbes(); + bool has_invalid_probes_ = false; // Flag to indicate if any invalid probes were found private: diff --git a/src/datacrumbs/server/bpf/common.h b/src/datacrumbs/server/bpf/common.h index 669885cc..b743ca22 100644 --- a/src/datacrumbs/server/bpf/common.h +++ b/src/datacrumbs/server/bpf/common.h @@ -31,7 +31,6 @@ DATACRUMBS_TRIE_EXTERN(inclusion_path_trie, struct string_t, struct string_t); static inline __attribute__((always_inline)) u32 hash_str(const char* str, size_t len) { u32 hash = 5381; -#pragma unroll for (int i = 0; i < 128; ++i) { if (i >= len) break; hash = ((hash << 5) + hash) + str[i]; From 0970508dcb818c5269bddf0d305dd7bed5373dcc Mon Sep 17 00:00:00 2001 From: Hariharan Date: Fri, 21 Nov 2025 20:03:27 +0000 Subject: [PATCH 10/12] added initial docs 1. Build instructions 2. Required dependencies 3. Deployment options --- .gitignore | 6 +- CMakeLists.txt | 2 +- docs/DataCrumbs_IPDPS_26-2.pdf | Bin 0 -> 1104026 bytes docs/_static/custom.css | 58 ++ docs/app.rst | 28 - docs/build.rst | 848 +++++++++++++++-- docs/composability.rst | 597 ++++++++++++ docs/conf.py | 23 +- docs/dependencies.rst | 485 ++++++++++ docs/deployment.rst | 595 ++++++++++++ docs/ebpf_background.rst | 166 ++++ docs/flux_integration.rst | 670 ++++++++++++++ docs/index.rst | 40 +- docs/integration.rst | 762 ++++++++++++++++ docs/introduction.rst | 101 +++ docs/run.rst | 344 ++++++- docs/setup.rst | 1551 ++++++++++++++++++++++++++++++++ docs/tuo.rst | 20 - docs/usage.rst | 832 +++++++++++++++++ 19 files changed, 6979 insertions(+), 149 deletions(-) create mode 100644 docs/DataCrumbs_IPDPS_26-2.pdf create mode 100644 docs/_static/custom.css delete mode 100644 docs/app.rst mode change 100644 => 100755 docs/build.rst create mode 100755 docs/composability.rst create mode 100755 docs/dependencies.rst create mode 100755 docs/deployment.rst create mode 100755 docs/ebpf_background.rst create mode 100755 docs/flux_integration.rst create mode 100755 docs/integration.rst create mode 100755 docs/introduction.rst mode change 100644 => 100755 docs/run.rst create mode 100755 docs/setup.rst delete mode 100644 docs/tuo.rst create mode 100755 docs/usage.rst diff --git a/.gitignore b/.gitignore index 951f9942..bd7f5899 100755 --- a/.gitignore +++ b/.gitignore @@ -78,4 +78,8 @@ poc/bpf-core/vmlinux.h deps #nfs -*.nfs* \ No newline at end of file +*.nfs* + +# Sphinx documentation builds +docs/_build/ +docs/_static/__pycache__/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index edd3f886..e7049da7 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -439,7 +439,7 @@ add_dependencies(datacrumbs_obj datacrumbs_bpf_skel) # Build the final executable by linking server.cpp and the object library add_executable(${PROJECT_NAME} ${DATACRUMBS_SERVER_SRC}) -target_link_libraries(${PROJECT_NAME} ${DEPENDENCY_LIB} datacrumbs_obj) +target_link_libraries(${PROJECT_NAME} datacrumbs_obj ${DEPENDENCY_LIB}) add_dependencies(${PROJECT_NAME} datacrumbs_bpf_skel datacrumbs_obj) # Install the main processing executable into DATACRUMBS_INSTALL_BINARYDIR diff --git a/docs/DataCrumbs_IPDPS_26-2.pdf b/docs/DataCrumbs_IPDPS_26-2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..53e649b15686278de0a118e8e3d13432972803b8 GIT binary patch literal 1104026 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

JH27tz*l%k0jy;n0~|=Q1LCP0O76`zD@+3O?9 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%0D6$8+<3cbXe}hhg>6>18!_7`_C6RUiWzr`C#eU{ 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

n6q+BBW$-P*u^5MlpLKMTf!= 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

9hvDoj7@(!~pVln(2NC%(Q`A@^$HrPJ%eU&H63b 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 z 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
D*rrU`P1d7aDXY!&NO`v;q2ZTj?;a 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

D?sTvOR~{cL7Gcee70gvi4OKceZ7 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

st-f}dZBsOdT(o2WiIisA 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 OqcDOpGKOo71pfzx^Vrw` literal 0 HcmV?d00001 diff --git a/docs/_static/custom.css b/docs/_static/custom.css new file mode 100644 index 00000000..616291a5 --- /dev/null +++ b/docs/_static/custom.css @@ -0,0 +1,58 @@ +/* Bullet lists in content area only */ +.rst-content ul.simple, +.rst-content .section ul { + list-style: disc outside !important; + margin-left: 0 !important; + padding-left: 1.2em !important; + margin-bottom: 12px !important; +} + +.rst-content ul.simple li, +.rst-content .section ul li { + display: list-item !important; + list-style: disc outside !important; + margin-left: 0 !important; + margin-bottom: 0 !important; +} + +.rst-content ul.simple li p, +.rst-content .section ul li p { + margin-bottom: 0 !important; + margin-top: 0 !important; + display: inline !important; +} + +/* Numbered lists in content area only */ +.rst-content ol, +.rst-content .section ol { + list-style: decimal outside !important; + padding-left: 1.5em !important; + margin-bottom: 12px !important; + margin-left: 0 !important; +} + +.rst-content ol li, +.rst-content .section ol li { + display: list-item !important; + list-style: decimal outside !important; + margin-bottom: 0 !important; + margin-left: 0 !important; +} + +.rst-content ol li p, +.rst-content .section ol li p { + margin-bottom: 0 !important; + margin-top: 0 !important; + display: inline !important; +} + +/* Ensure navigation lists have no bullets */ +.wy-menu-vertical ul, +.wy-menu-vertical li, +nav ul, +nav li, +.toctree-l1, +.toctree-l2, +.toctree-l3 { + list-style: none !important; +} diff --git a/docs/app.rst b/docs/app.rst deleted file mode 100644 index 55e10186..00000000 --- a/docs/app.rst +++ /dev/null @@ -1,28 +0,0 @@ -Install IOR -=========== - -IOR is a parallel file system benchmarking tool. To install IOR, follow these steps: - -1. **Clone the IOR repository:** - - .. code-block:: bash - - git clone https://github.com/hpc/ior.git - cd ior - -2. **Build IOR:** - - .. code-block:: bash - - ./bootstrap - ./configure --prefix=$PREFIX - make -j - make install - -3. **(Optional) Install system-wide:** - - .. code-block:: bash - - sudo make install - -For more details, refer to the official IOR documentation: https://github.com/hpc/ior \ No newline at end of file diff --git a/docs/build.rst b/docs/build.rst old mode 100644 new mode 100755 index 105b82ac..db951567 --- a/docs/build.rst +++ b/docs/build.rst @@ -1,37 +1,112 @@ -.. _build_instructions: +================= +Building DataCrumbs +================= -Build Instructions -================== - -This guide describes how to build and install all dependencies required for `datacrumbs`, including `bpftool` (tag v7.5.0), with all components installed under a custom prefix directory. +This comprehensive guide covers building DataCrumbs from source in various environments, including standard builds, HPC systems, Docker containers, and the Tuolumne supercomputer. It includes complete instructions for installing dependencies with custom prefix paths. Prerequisites -------------- +============= -- Git -- CMake -- GCC or Clang -- Python (for Sphinx documentation) -- Spack (recommended for dependency management) +Before building, ensure all dependencies are installed as described in the :doc:`dependencies` section. -Set the installation prefix: +Quick verification: + +.. code-block:: bash + + # Verify kernel version (5.8+ recommended) + uname -r + + # Verify BTF support + ls /sys/kernel/btf/vmlinux + + # Verify libbpf + pkg-config --modversion libbpf + + # Verify bpftool + bpftool version + +Core Requirements +----------------- + +**Build Tools:** + +* Git +* CMake (3.14+) +* GCC or Clang +* Python (for Sphinx documentation) +* Linux kernel 5.8+ with BTF support + +Obtaining the Source +==================== + +Clone the DataCrumbs repository: + +.. code-block:: bash + + git clone https://github.com/LLNL/datacrumbs.git + cd datacrumbs + export DATACRUMBS_DIR=$(realpath .) + +Standard Build Process +====================== + +Basic Build +----------- + +The simplest build uses default configuration: + +.. code-block:: bash + + # Create build directory + mkdir build + cd build + + # Configure with CMake + cmake -DCMAKE_INSTALL_PREFIX=/path/to/install .. + + # Build + make -j$(nproc) + + # Install + make install + +This will: + +1. Discover available probes in system libraries +2. Generate custom eBPF programs +3. Compile eBPF and C++ code +4. Install binaries, libraries, and scripts + +Custom Prefix Installation +=========================== + +This section describes how to build and install all dependencies and DataCrumbs under a custom prefix directory. This is essential for non-root installations and HPC environments. + +Set Installation Prefix +----------------------- + +All dependencies and DataCrumbs will be installed under a custom prefix: .. code-block:: bash export PREFIX=/your/custom/prefix + # For example: export PREFIX=$HOME/datacrumbs-install + # Or on HPC: export PREFIX=/usr/workspace/$USER/datacrumbs-install -1. Build and Install Dependencies for datacrumbs ------------------------------------------------ +Build and Install Dependencies +------------------------------- -The following dependencies are required for building `datacrumbs`: +The following dependencies are required for building DataCrumbs: -- bpftool (v7.5.0) and libbpf (v1.5.0) -- json-c -- yaml-cpp -- llvm -- (Optional) bpftime for user-space +**Runtime Dependencies:** -**bpftool (v7.5.0) and libbpf (v1.5.0):** +* bpftool (v7.5.0) and libbpf (v1.5.0) +* json-c +* yaml-cpp +* llvm +- (Optional) bpftime for user-space (experimental) + +**1. Build bpftool (v7.5.0) and libbpf (v1.5.0)** .. code-block:: bash @@ -39,15 +114,35 @@ The following dependencies are required for building `datacrumbs`: pushd bpftool git checkout tags/v7.5.0 -b v7.5.0 git submodule update --init --recursive + + # Build libbpf pushd libbpf git checkout tags/v1.5.0 -b v1.5.0 cd src DESTDIR=$PREFIX make install -j popd + + # Build bpftool cd src DESTDIR=$PREFIX make install -j popd + +.. important:: + **Understanding Prefix-Style Installation Structure** + + When building with ``DESTDIR=$PREFIX``, the build system installs files into nested directories + under ``$PREFIX`` (e.g., ``$PREFIX/usr/local/lib`` instead of ``$PREFIX/lib``). You must move + these files to the correct locations within your ``$PREFIX`` directory for DataCrumbs to find them. + +**2. Move Files to Correct Prefix Structure** + +After building, use ``find`` to locate and move files to the correct locations: + +.. code-block:: bash + pushd $PREFIX + + # Find and move bpf.h and libbpf bpf_header=$(find . -name bpf.h | head -n 1) bpf_header=$(readlink -f $bpf_header) bpf_install_dir=$(dirname $(dirname $(dirname $bpf_header))) @@ -56,13 +151,22 @@ The following dependencies are required for building `datacrumbs`: mv $bpf_install_dir/lib* $PREFIX fi + # Find and move bpftool bpftool=$(find . -name bpftool | head -n 1) bpftool=$(readlink -f $bpftool) bpftool_install_dir=$(dirname $(dirname $bpftool)) if [[ "$bpftool_install_dir" != "$PREFIX" ]]; then mv $bpftool_install_dir/* $PREFIX fi + popd + +**3. Verify Installation** + +Check that files are in the correct locations: + +.. code-block:: bash + echo "Checking installed files under \$PREFIX:" echo "bpf.h:" find $PREFIX -name bpf.h @@ -76,50 +180,25 @@ The following dependencies are required for building `datacrumbs`: echo "bpftool:" find $PREFIX -name bpftool -Expected Output (with PREFIX=/home/haridev/temp/install) --------------------------------------------------------- - -After running the above commands, you should see output similar to: - -bpf.h: - /home/haridev/temp/install/include/bpf/bpf.h - -libbpf.so: - /home/haridev/temp/install/lib/libbpf.so - -libbpf.pc: - /home/haridev/temp/install/lib/pkgconfig/libbpf.pc - -bpftool: - /home/haridev/temp/install/sbin/bpftool +Expected output (with PREFIX=/home/user/install): - This confirms that bpftool and libbpf have been installed under your custom prefix directory. +.. code-block:: text -**Clone datacrumbs:** + bpf.h: + /home/user/install/include/bpf/bpf.h -.. code-block:: bash - - git clone https://github.com/eunomia-bpf/datacrumbs.git - export DATACRUMBS_DIR=$(realpath datacrumbs) + libbpf.so: + /home/user/install/lib/libbpf.so -**(Optional) bpftime for User-space:** - -.. code-block:: bash - - git clone https://github.com/eunomia-bpf/bpftime.git - pushd bpftime - git checkout tags/v0.2.0 -b v0.2.0 - git apply $DATACRUMBS_DIR/docs/patch/bpftime-v0.2.0.patch - mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. - make - make install - popd + libbpf.pc: + /home/user/install/lib/pkgconfig/libbpf.pc + bpftool: + /home/user/install/sbin/bpftool +This confirms that bpftool and libbpf have been correctly installed under your custom prefix directory. -1. Install Remaining Dependencies: json-c, yaml-cpp, llvm ---------------------------------------------------------- +**4. Install Remaining Dependencies: json-c, yaml-cpp, llvm** **Recommended: Use Spack** @@ -131,7 +210,7 @@ bpftool: **If Spack is not available:** -- **LLVM:** Install via your package manager +* **LLVM:** Install via your package manager - Fedora/RHEL: .. code-block:: bash @@ -143,51 +222,76 @@ bpftool: sudo apt-get install llvm-dev -- **json-c:** Build from source +* **json-c:** Build from source .. code-block:: bash git clone https://github.com/json-c/json-c.git pushd json-c - git checkout tags/json-c-0.18-20240915 -b json-c-0.18-20240915 + git checkout tags/json-c-0.18-20240915 -b json-c-0.18-20240915 mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. make -j make install -j popd -- **yaml-cpp:** Build from source +* **yaml-cpp:** Build from source .. code-block:: bash git clone https://github.com/jbeder/yaml-cpp.git pushd yaml-cpp - git checkout tags/yaml-cpp-0.7.0 -b yaml-cpp-0.7.0 + git checkout tags/yaml-cpp-0.7.0 -b yaml-cpp-0.7.0 mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. make -j make install -j popd -Set all paths +**5. Update Environment Paths** .. code-block:: bash export PATH=$PREFIX/bin:$PREFIX/sbin:$PATH export LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/lib64:$LD_LIBRARY_PATH + export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/lib64/pkgconfig:$PKG_CONFIG_PATH -2. Build and Install datacrumbs ---------------------------------- -With all dependencies installed under your custom prefix directory, you can now build and install `datacrumbs`: +**6. (Optional) BPFTime for Userspace Tracing** -Create a probe YAML for the system: +For experimental userspace eBPF support: .. code-block:: bash - cp $DATACRUMBS_DIR/docs/example/example.yaml $DATACRUMBS_DIR/etc/datacrumbs/configs/probe.yaml - # Edit the probe.yaml as needed + git clone https://github.com/eunomia-bpf/bpftime.git + pushd bpftime + git checkout tags/v0.2.0 -b v0.2.0 + git apply $DATACRUMBS_DIR/docs/patch/bpftime-v0.2.0.patch + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=$PREFIX .. + make + make install + popd + +Configure BPFTime environment: + +.. code-block:: bash + + export BPFTIME_SHM_MEMORY_MB=10240 + export BPFTIME_MAX_FD_COUNT=128000 + +Build DataCrumbs with Custom Prefix +------------------------------------ -Set CMake arguments: +With all dependencies installed under your custom prefix directory, you can now build and install DataCrumbs: + +**1. Create Host Configuration** + +.. code-block:: bash + + cp $DATACRUMBS_DIR/docs/example/example.yaml $DATACRUMBS_DIR/etc/datacrumbs/configs/$(hostname).yaml + # Edit the configuration file as needed for your system + +**2. Set CMake Arguments** .. code-block:: bash @@ -206,13 +310,611 @@ If you want to use a custom host name or user, set them explicitly: # cmake_args+=(-DDATACRUMBS_HOST=) # cmake_args+=(-DDATACRUMBS_USER=) -Build and install datacrumbs: +**3. Build and Install** .. code-block:: bash - export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/lib64/pkgconfig:$PKG_CONFIG_PATH pushd $DATACRUMBS_DIR mkdir -p build && cd build cmake "${cmake_args[@]}" .. make -j + make install popd + +Build with Environment Modules (HPC Systems) +============================================= + +On HPC systems using environment modules (e.g., Tuolumne supercomputer): + +.. code-block:: bash + + # Load required modules + module load gcc/11.2.0 + export CC=$(which gcc) + export CXX=$(which g++) + + # Create build directory + mkdir build + cd build + + # Configure and build + cmake -DCMAKE_INSTALL_PREFIX=$HOME/datacrumbs-install \ + -DDATACRUMBS_HOST=$(hostname) \ + -DDATACRUMBS_USER=$USER \ + .. + + make -j$(nproc) + make install + +CMake Configuration Options +============================ + +All DataCrumbs scripts support common options: + +- ``--verbose``: Enable detailed output +- ``--quiet``: Suppress informational messages +- ``--dry-run``: Show what would be done without executing + +The following table lists all available CMake configuration options: + +.. list-table:: CMake Configuration Options + :header-rows: 1 + :widths: 35 15 50 + + * - Option + - Default + - Description + * - **Core Options** + - + - + * - ``CMAKE_INSTALL_PREFIX`` + - ``/usr/local`` + - Installation prefix for DataCrumbs + * - ``DATACRUMBS_HOST`` + - Auto-detected + - Host identifier for configuration files (must have matching .yaml file in ``etc/datacrumbs/configs/``) + * - ``DATACRUMBS_USER`` + - ``$USER`` + - User name for runtime operations + * - ``DATACRUMBS_INSTALL_USER`` + - ``$USER`` + - User name for installation file naming (for shared installations) + * - **Tracing Configuration** + - + - + * - ``DATACRUMBS_ENABLE_OPT`` + - ``ON`` + - Enable or disable tracing functionality. Values: ``ON``, ``OFF`` + * - ``DATACRUMBS_MODE_STR`` + - ``TRACE`` + - Operation mode. Values: ``TRACE`` (full event tracing), ``PROFILE`` (sampling-based profiling) + * - ``DATACRUMBS_TRACE_ALL_PROCESSES_OPT`` + - ``OFF`` + - Trace all processes on the system (not just target application). Values: ``ON``, ``OFF`` + * - ``DATACRUMBS_INCLUSION_PATH`` + - ``NONE`` + - Filter tracing to specific file paths (e.g., ``/scratch/data``) + * - ``DATACRUMBS_TRACE_RINGBUF_SIZE_MB`` + - ``16`` + - Size of eBPF ring buffer in megabytes. Larger buffers reduce event loss but consume more memory + * - ``DATACRUMBS_SKIP_SMALL_EVENTS_THRESHOLD_NS`` + - ``1000`` + - Skip events with duration below threshold (nanoseconds). Default is 1 microsecond + * - **Profiling Configuration** + - + - + * - ``DATACRUMBS_TIME_INTERVAL_NS`` + - ``1000000`` + - Sampling interval for profiling mode (nanoseconds). Default is 1 millisecond + * - **Directory Configuration** + - + - + * - ``DATACRUMBS_CONFIGURED_TRACE_DIR`` + - ``/tmp`` + - Default directory for trace output + * - ``DATACRUMBS_CONFIGURED_LOG_DIR`` + - ``/tmp`` + - Default directory for log files + * - ``DATACRUMBS_CONFIGURED_RUN_DIR`` + - ``NONE`` + - Directory for runtime state files (PIDs, lock files). Auto-determined if not set + * - **Kernel Configuration** + - + - + * - ``DATACRUMBS_KERNEL_VERSION`` + - Auto-detected + - Override detected kernel version (e.g., ``5.15.0``) + * - ``DATACRUMBS_KERNEL_HEADERS_PATH`` + - Auto-detected + - Path to kernel headers for eBPF compilation. Default: ``/lib/modules/$(uname -r)/build`` + * - ``DATACRUMBS_KERNEL_PATH`` + - Empty + - Path to kernel source tree (if different from headers) + * - **Scheduler Integration** + - + - + * - ``DATACRUMBS_SCHEDULER_TYPE`` + - ``FLUX`` + - Job scheduler type for multi-node support. Values: ``FLUX``, ``SLURM``, ``OPENMPI``, ``NONE`` + * - ``DATACRUMBS_SCHEDULER_JOBID_ENV_VAR`` + - ``NONE`` + - Environment variable containing job ID (e.g., ``SLURM_JOB_ID``). Auto-determined from scheduler type + * - ``DATACRUMBS_SCHEDULER_NODES_CMD_OPT`` + - ``NONE`` + - Scheduler option for specifying node count (e.g., ``-N``). Auto-determined from scheduler type + * - ``DATACRUMBS_SCHEDULER_PPN_CMD_OPT`` + - ``NONE`` + - Scheduler option for processes per node (e.g., ``-n``). Auto-determined from scheduler type + * - ``DATACRUMBS_SCHEDULER_RUN_CMD`` + - ``NONE`` + - Scheduler job launch command (e.g., ``srun``). Auto-determined from scheduler type + * - ``DATACRUMBS_SCHEDULER_RUN_EXTRA_ARGS`` + - Empty + - Additional arguments for scheduler run command (e.g., ``--exclusive --mem=0``) + * - **Build Control Options** + - + - + * - ``DATACRUMBS_SKIP_PROBE_EXPLORING`` + - ``OFF`` + - Skip the probe exploration step during build. Values: ``ON``, ``OFF`` + * - ``DATACRUMBS_SKIP_PROBE_GENERATION`` + - ``OFF`` + - Skip the probe generation step during build. Values: ``ON``, ``OFF`` + * - ``DATACRUMBS_BUILD_ONLY`` + - ``OFF`` + - Build libraries only without installation or full setup. Values: ``ON``, ``OFF`` + * - **Debug and Development** + - + - + * - ``DATACRUMBS_LOG_LEVEL_STR`` + - ``INFO`` + - Logging verbosity level. Values: ``ERROR``, ``WARN``, ``INFO``, ``DEBUG``, ``TRACE`` + * - ``DATACRUMBS_BPF_PRINT_ENABLE`` + - ``OFF`` + - Enable debug printing from eBPF programs. Values: ``ON``, ``OFF``. Warning: impacts performance! + * - **Tool Paths** + - + - + * - ``BPFTOOL_EXECUTABLE`` + - Auto-detected + - Path to bpftool binary (e.g., ``/usr/local/bin/bpftool``). Auto-detected from ``PATH`` + * - **Compatibility Options** + - + - + * - ``DATACRUMBS_BPFTIME_COMPATIBLE`` + - ``OFF`` + - Enable compatibility with bpftime userspace eBPF runtime. Values: ``ON``, ``OFF`` + +Configuration Examples +---------------------- + +**Basic configuration:** + +.. code-block:: bash + + cmake -DCMAKE_INSTALL_PREFIX=/opt/datacrumbs \ + -DDATACRUMBS_HOST=myhost \ + .. + +**HPC configuration with custom paths:** + +.. code-block:: bash + + cmake -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DDATACRUMBS_HOST=tuolumne \ + -DDATACRUMBS_USER=$USER \ + -DDATACRUMBS_SCHEDULER_TYPE=FLUX \ + -DDATACRUMBS_CONFIGURED_TRACE_DIR=/lustre/traces \ + -DDATACRUMBS_CONFIGURED_LOG_DIR=/lustre/logs \ + -DBPFTOOL_EXECUTABLE=$PREFIX/sbin/bpftool \ + .. + +**Debug configuration:** + +.. code-block:: bash + + cmake -DDATACRUMBS_LOG_LEVEL_STR=DEBUG \ + -DDATACRUMBS_BPF_PRINT_ENABLE=ON \ + .. + +**Profiling mode with reduced overhead:** + +.. code-block:: bash + + cmake -DDATACRUMBS_MODE_STR=PROFILE \ + -DDATACRUMBS_TIME_INTERVAL_NS=10000000 \ + -DDATACRUMBS_SKIP_SMALL_EVENTS_THRESHOLD_NS=10000 \ + .. + +Important Notes +--------------- + +.. important:: + **DATACRUMBS_HOST Configuration File** + + A configuration file named ``.yaml`` **must exist** in ``etc/datacrumbs/configs/`` for the specified hostname. + This is the most common build error. You can: + + - Copy an existing configuration (e.g., ``lead.yaml``, ``docker.yaml``) and modify it + - Create a new one based on the examples in ``docs/example/`` + - See the :doc:`setup` section for details on configuration file structure + +.. warning:: + **Performance Impact** + + - ``DATACRUMBS_TRACE_ALL_PROCESSES_OPT=ON`` generates significantly more trace data + - ``DATACRUMBS_BPF_PRINT_ENABLE=ON`` can severely impact performance + - Use ``DATACRUMBS_MODE_STR=PROFILE`` for lower overhead in production + +Docker Build +============ + +Build DataCrumbs in a Docker container for a consistent environment. + +Building the Docker Image +-------------------------- + +.. code-block:: bash + + cd infrastructure/docker + # Use Dockerfile for standard build, or Dockerfile.build for build-only image + docker build -t datacrumbs:latest -f Dockerfile . + +The Dockerfile performs: + +1. Starts from base image with dependencies +2. Copies source code to ``/opt/datacrumbs`` +3. Configures with CMake for Docker environment +4. Builds and installs DataCrumbs +5. Sets up environment variables + +Running the Container +--------------------- + +.. code-block:: bash + + # Run with required privileges for eBPF + docker run --privileged --cap-add=ALL \ + -v /sys/kernel/debug:/sys/kernel/debug:rw \ + -v /lib/modules:/lib/modules:ro \ + -it datacrumbs:latest bash + +.. warning:: + eBPF requires ``--privileged`` and ``--cap-add=ALL`` capabilities! + +Custom Docker Build +------------------- + +Modify the Dockerfile for your environment: + +.. code-block:: dockerfile + + # Example custom configuration + cmake -DDATACRUMBS_HOST=myhost \ + -DDATACRUMBS_USER=myuser \ + -DDATACRUMBS_KERNEL_HEADERS_PATH=/usr/src/kernels/$(uname -r) \ + -DCMAKE_INSTALL_PREFIX=/opt/datacrumbs-install \ + /opt/datacrumbs/ + +Lima Build (macOS Development) +============================== + +Lima provides a Linux VM environment on macOS for eBPF development. + +Initial Setup +------------- + +.. code-block:: bash + + # Install Lima (macOS) + brew install lima + + # Start Lima VM with DataCrumbs configuration + cd infrastructure/lima + limactl start --network=lima:user-v2 --name=ebpf ebpf.yaml + +The ``ebpf.yaml`` configuration: + +* Creates Ubuntu 22.04 VM +* Installs all DataCrumbs dependencies +* Sets up BCC, spack, and OpenMPI +* Configures 4 CPU cores and 4GB RAM + +Connecting to Lima +------------------ + +.. code-block:: bash + + # Connect to VM + limactl shell ebpf + +Building in Lima +---------------- + +Inside the Lima VM: + +.. code-block:: bash + + # Set environment variables + export DATACRUMBS_DIR=/home/lima.linux/datacrumbs + export DATACRUMBS_INSTALL_DIR=/home/lima.linux/datacrumbs/install + + # Clone repository (if not mounted) + git clone https://github.com/LLNL/datacrumbs.git $DATACRUMBS_DIR + + # Build + cd $DATACRUMBS_DIR + mkdir build + cd build + + cmake -DCMAKE_INSTALL_PREFIX=$DATACRUMBS_INSTALL_DIR \ + -DDATACRUMBS_HOST=lima \ + -DDATACRUMBS_USER=$USER \ + .. + + make -j$(nproc) + make install + +Using Spack (Optional) +---------------------- + +Lima setup includes Spack for dependency management: + +.. code-block:: bash + + # Inside Lima VM + export SPACK_ROOT=/opt/spack + source $SPACK_ROOT/share/spack/setup-env.sh + + # Install dependencies via Spack + spack install openmpi@5.0.5 + spack load openmpi + +Building for Tuolumne Supercomputer +==================================== + +Tuolumne (Tuo) is an LLNL supercomputer requiring specific build procedures. This section provides complete build instructions including dependency installation with custom prefix. + +Prerequisites for Tuolumne +--------------------------- + +Load required modules: + +.. code-block:: bash + + module load gcc/11.2.0 + export CC=$(which gcc) + export CXX=$(which g++) + +Set Installation Prefix +------------------------ + +All dependencies and DataCrumbs will be installed under a custom prefix: + +.. code-block:: bash + + export PREFIX=/usr/workspace/$USER/datacrumbs-install + +Build DataCrumbs for Tuolumne +------------------------------ + +Follow the instructions in the :ref:`Custom Prefix Installation` section above to build and install all dependencies. + +Once dependencies are installed, clone and configure DataCrumbs: + +.. code-block:: bash + + git clone https://github.com/LLNL/datacrumbs.git + export DATACRUMBS_DIR=$(realpath datacrumbs) + +Create host configuration: + +.. code-block:: bash + + cp $DATACRUMBS_DIR/docs/example/example.yaml \ + $DATACRUMBS_DIR/etc/datacrumbs/configs/tuolumne.yaml + # Edit tuolumne.yaml as needed for your system + +Configure CMake arguments: + +.. code-block:: bash + + cmake_args=( + -DCMAKE_PREFIX_PATH=$PREFIX + -DCMAKE_INSTALL_PREFIX=$PREFIX + -DBPFTOOL_EXECUTABLE=$PREFIX/sbin/bpftool + -DDATACRUMBS_HOST=tuolumne + -DDATACRUMBS_USER=$USER + -DDATACRUMBS_SCHEDULER_TYPE=FLUX + -DDATACRUMBS_CONFIGURED_TRACE_DIR=/p/lustre1/$USER/traces + -DDATACRUMBS_CONFIGURED_LOG_DIR=/p/lustre1/$USER/logs + ) + +Build and install: + +.. code-block:: bash + + pushd $DATACRUMBS_DIR + mkdir -p build && cd build + cmake "${cmake_args[@]}" .. + make -j16 + make install + popd + +Running DataCrumbs on Tuolumne +------------------------------- + +Load environment: + +.. code-block:: bash + + module load gcc/11.2.0 + export PATH=$PREFIX/bin:$PREFIX/sbin:$PATH + export LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/lib64:$LD_LIBRARY_PATH + +Run with BPFTime (if installed): + +.. code-block:: bash + + export BPFTIME_SHM_MEMORY_MB=10240 + export BPFTIME_MAX_FD_COUNT=128000 + + bpftime --install-location $PREFIX/lib load \ + $PREFIX/sbin/datacrumbs "run" "tuolumne-mpiio" \ + "--user" "$USER" \ + "--config_path" "$PREFIX/etc/datacrumbs/configs" \ + "--data_dir" "$PREFIX/etc/datacrumbs/data" \ + "--trace_log_dir" "$PREFIX/etc/datacrumbs/logs" + +For debugging with GDB: + +.. code-block:: bash + + gdb $PREFIX/sbin/datacrumbs + # Inside GDB: + add-auto-load-safe-path /opt/cray/pe/gcc/11.2.0/snos/lib64/libstdc++.so.6.0.29-gdb.py + set follow-fork-mode child + set detach-on-fork off + set print-frame-arguments all + +Standard usage (without BPFTime): + +.. code-block:: bash + + # See Usage section for complete examples + datacrumbs_server_run.sh + datacrumbs_run --help + +Build Verification +================== + +After installation, verify the build: + +.. code-block:: bash + + # Check binaries + ls -la $PREFIX/bin/datacrumbs_* + ls -la $PREFIX/sbin/datacrumbs* + + # Check libraries (may be in lib or lib64 depending on system) + ls -la $PREFIX/lib*/libdatacrumbs_*.so + + # Check module file + ls -la $PREFIX/etc/datacrumbs/modulefiles/ + + # Test validator + $PREFIX/sbin/datacrumbs_validator + +Troubleshooting +=============== + +Build Errors +------------ + +**"Cannot find configuration file for host"** + +.. code-block:: text + + CMake Error: Configuration file etc/datacrumbs/configs/myhost.yaml not found + +**This is the most common build error.** DataCrumbs requires a host-specific configuration file. + +.. code-block:: bash + + # Solution 1: Copy an existing configuration + cd etc/datacrumbs/configs/ + cp lead.yaml myhost.yaml + # Edit myhost.yaml to match your system + + # Solution 2: Specify a different host + cmake -DDATACRUMBS_HOST=lead ... + + # Solution 3: Create minimal configuration + cat > etc/datacrumbs/configs/myhost.yaml << 'EOF' + capture_probes: + - name: sys + probe: syscalls + type: header + file: /usr/src/kernels/$(uname -r)/include/linux/syscalls.h + regex: sys_.* + EOF + +See the :doc:`setup` section for more details on configuration file structure. + +**"Cannot find vmlinux BTF"** + +.. code-block:: bash + + # Verify BTF exists + ls /sys/kernel/btf/vmlinux + + # If missing, specify kernel headers path + cmake -DDATACRUMBS_KERNEL_HEADERS_PATH=/usr/src/kernels/$(uname -r) ... + +**"libbpf not found"** + +.. code-block:: bash + + # Install libbpf or set PKG_CONFIG_PATH + export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH + +**"Clang not found for eBPF compilation"** + +.. code-block:: bash + + # Install clang + sudo dnf install clang llvm + + # Verify + which clang + +**"Permission denied" during eBPF operations** + +The build process tests eBPF capabilities. Ensure: + +.. code-block:: bash + + # Run make with appropriate privileges if needed + sudo make + +Rebuild from Scratch +-------------------- + +To completely rebuild: + +.. code-block:: bash + + # Remove build directory + rm -rf build + + # Recreate and rebuild + mkdir build + cd build + cmake .. + make clean + make -j$(nproc) + +Partial Rebuild +--------------- + +To rebuild only changed components: + +.. code-block:: bash + + # Rebuild specific targets + make datacrumbs_bpf + make datacrumbs + + # Reinstall + make install + +Clean Build Artifacts +--------------------- + +.. code-block:: bash + + # Clean BPF artifacts + make clean_all + + # Clean everything + make clean diff --git a/docs/composability.rst b/docs/composability.rst new file mode 100755 index 00000000..ff99c707 --- /dev/null +++ b/docs/composability.rst @@ -0,0 +1,597 @@ +=================== +Composability Guide +=================== + +DataCrumbs provides a powerful composability feature that allows users to create custom tracing configurations by selecting specific probes. This enables optimized tracing tailored to specific workload requirements, reducing overhead and improving performance. + +Overview +======== + +During the build and installation process, DataCrumbs: + +1. Discovers available probes in system libraries and kernel functions +2. Compiles each probe as a separate eBPF object file +3. Installs individual probe objects to ``/libexec/datacrumbs/objects/`` +4. Provides tools for discovering and composing custom configurations + +This modular approach allows users to: + +- Select only the probes relevant to their workload +- Reduce tracing overhead by excluding unnecessary probes +- Create multiple configurations for different applications +- Share configurations across users in multi-tenant environments + +Probe Objects +============= + +After installation, individual probe objects are available in: + +.. code-block:: bash + + $PREFIX/libexec/datacrumbs/objects/ + +Example probe objects: + +- ``open.o`` - open() system call +- ``read.o`` - read() system call +- ``write.o`` - write() system call +- ``H5Fopen.o`` - HDF5 file open +- ``MPI_File_open.o`` - MPI-IO file open +- ``pread64.o``, ``pwrite64.o`` - POSIX I/O functions +- And many more depending on your system configuration + +Common objects (always required): + +- ``common.o`` - Shared eBPF code +- ``init.bpf.o`` - Initialization code + +Discovering Available Probes +============================= + +Use ``datacrumbs_compose`` to discover all available probes: + +**Command:** + +.. code-block:: bash + + sudo datacrumbs_compose --action discover + +**Output:** + +.. code-block:: text + + [INFO 2025-11-21 21:19:50] After loading yaml for docker + [INFO 2025-11-21 21:19:50] Discovering probe objects in /workspaces/datacrumbs/install/libexec/datacrumbs/objects... + [INFO 2025-11-21 21:19:50] custom1 + [INFO 2025-11-21 21:19:50] sys + [INFO 2025-11-21 21:19:50] libc + [INFO 2025-11-21 21:19:50] os_page_cache + [INFO 2025-11-21 21:19:50] python + [INFO 2025-11-21 21:19:50] xfs + [INFO 2025-11-21 21:19:50] iomap + ... + +The discover action lists all probes that can be composed into custom configurations. + +Creating Composable Configurations +=================================== + +Use ``datacrumbs_compose`` to create a custom configuration: + +**Command Syntax:** + +.. code-block:: bash + + sudo datacrumbs_compose --action compose --name CONFIG_NAME --probes PROBE1,PROBE2,... + +**Arguments:** + +``--action compose`` + Create a new composable configuration + +``--name NAME`` + Name for the custom configuration (alphanumeric and underscore only) + +``--probes PROBES`` + Comma-separated list of probe names (no spaces) + +Example: Local I/O Only +----------------------- + +Create a configuration that traces only POSIX I/O operations: + +.. code-block:: bash + + sudo datacrumbs_compose --action compose \ + --name local_io \ + --probes custom1,sys,os_page_cache,xfs,iomap + +This creates: ``$PREFIX/libexec/datacrumbs/sbin//datacrumbs_local_io`` + +Example: HDF5 Only +------------------ + +Create a configuration for HDF5 applications: + +.. code-block:: bash + + sudo datacrumbs_compose --action compose \ + --name hdf5_only \ + --probes h5a,h5d,h5all + +Example: MPI-IO Only +-------------------- + +Create a configuration for MPI-IO tracing: + +.. code-block:: bash + + sudo datacrumbs_compose --action compose \ + --name mpiio_only \ + --probes mpiio,sys + +Example: Mixed Workload +----------------------- + +Create a configuration for applications using POSIX and HDF5: + +.. code-block:: bash + + sudo datacrumbs_compose --action compose \ + --name posix_hdf5 \ + --probes custom1,sys,hdf5 + +Using Composable Configurations +================================ + +Once created, composable configurations can be used with any DataCrumbs execution mode. + +With datacrumbs_run +------------------- + +.. code-block:: bash + + # Use default configuration + datacrumbs_run --app "./myapp" + + # Use custom configuration + datacrumbs_compose_run --composite-name local_io --app "./myapp" + +With Server Mode +---------------- + +.. code-block:: bash + + # Start server with custom configuration + sudo datacrumbs_server_run.sh --composite-name hdf5_only + + # Run application (uses custom config) + datacrumbs_track --executable ./hdf5_app + ./hdf5_app + + # Stop server + sudo datacrumbs_server_stop.sh --composite-name hdf5_only + +With Service Mode +----------------- + +.. code-block:: bash + + # Set environment variable for service + export DATACRUMBS_COMPOSABLE_NAME=mpiio_only + + # Start service + sudo datacrumbs_service_run.sh + + # Applications will use the mpiio_only configuration + +With Flux Integration +--------------------- + +.. code-block:: bash + + # Submit job with custom configuration + flux run --datacrumbs-enable --datacrumbs-composite=posix_hdf5 \ + -N 4 -n 32 ./parallel_app + + # Or with default configuration + flux run --datacrumbs-enable -N 4 -n 32 ./parallel_app + +Command Reference: datacrumbs_compose +====================================== + +**Synopsis:** + +.. code-block:: bash + + datacrumbs_compose --action ACTION [OPTIONS] + +**Required Arguments:** + +``--action ACTION`` + Action to perform: + + - ``discover``: List all available probes + - ``compose``: Create a new composable configuration + +**Optional Arguments:** + +``--name NAME`` + Name for the composable configuration (required for ``compose`` action) + + - Must contain only alphanumeric characters and underscores + - Will create binary: ``datacrumbs_`` + +``--probes PROBES`` + Comma-separated list of probe names (required for ``compose`` action) + + - No spaces between probe names + - Probe names must exist (use ``discover`` to list) + +``--verbose`` + Enable verbose output + +``--quiet`` + Suppress informational messages + +``--dry-run`` + Show what would be done without executing + +**Examples:** + +.. code-block:: bash + + # Discover available probes + sudo datacrumbs_compose --action discover + + # Create simple configuration + sudo datacrumbs_compose --action compose \ + --name basic_io \ + --probes custom1,sys,os_page_cache + + # Create with verbose output + sudo datacrumbs_compose --action compose \ + --name debug_config \ + --probes custom1,sys,os_page_cache \ + --verbose + + # Dry run to see what would happen + sudo datacrumbs_compose --action compose \ + --name test_config \ + --probes custom1 \ + --dry-run + +Composable Binary Locations +============================ + +Composable binaries are installed per-user: + +.. code-block:: text + + /libexec/datacrumbs/sbin//datacrumbs_ + +Example: + +.. code-block:: bash + + # For user 'alice' with config 'local_io' + /opt/datacrumbs/libexec/datacrumbs/sbin/alice/datacrumbs_local_io + + # For user 'bob' with config 'hdf5_only' + /opt/datacrumbs/libexec/datacrumbs/sbin/bob/datacrumbs_hdf5_only + +This per-user structure allows: + +- Multiple users to have different configurations +- Configuration isolation between users +- Shared installations with user-specific customizations + +Managing Composables +==================== + +Listing Composables +------------------- + +List all composable configurations for the current user: + +.. code-block:: bash + + ls $PREFIX/libexec/datacrumbs/sbin/$USER/ + +Removing Composables +-------------------- + +Remove a composable configuration: + +.. code-block:: bash + + rm $PREFIX/libexec/datacrumbs/sbin/$USER/datacrumbs_ + +Example: + +.. code-block:: bash + + rm $PREFIX/libexec/datacrumbs/sbin/$USER/datacrumbs_posix_io + +Updating Composables +-------------------- + +To update a composable configuration, simply recreate it: + +.. code-block:: bash + + # Recreate with updated probe list + sudo datacrumbs_compose --action compose \ + --name local_io \ + --probes custom1,sys,os_page_cache,xfs,iomap + +The old configuration is automatically replaced. + +Composability Best Practices +============================= + +1. **Start Small**: Begin with minimal probe sets and add more as needed +2. **Profile First**: Use the full configuration to identify which probes are relevant +3. **Workload-Specific**: Create different configurations for different application types +4. **Test Configurations**: Verify custom configurations work before production use +5. **Document Configs**: Maintain a list of configurations and their purposes +6. **Share Configs**: Coordinate configurations across team members for consistency +7. **Monitor Overhead**: Compare overhead between full and custom configurations +8. **Version Control**: Keep track of which probe combinations work best + +Common Configuration Patterns +============================== + +System Call Level +----------------- + +Trace only low-level system calls: + +.. code-block:: bash + + sudo datacrumbs_compose --action compose \ + --name syscalls_only \ + --probes custom1,sys + +Local I/O Level +--------------- + +Trace local I/O operations: + +.. code-block:: bash + + sudo datacrumbs_compose --action compose \ + --name local_io \ + --probes custom1,sys,os_page_cache,xfs,iomap + +High-Level Libraries +-------------------- + +Trace only high-level I/O libraries: + +.. code-block:: bash + + sudo datacrumbs_compose --action compose \ + --name high_level \ + --probes h5a,h5d,mpiio + + +Troubleshooting Composables +============================ + +Probe Not Found +--------------- + +.. code-block:: text + + Error: Probe object 'invalid_probe.o' not found. + +**Solution**: Run ``discover`` to see available probes: + +.. code-block:: bash + + sudo datacrumbs_compose --action discover + +Invalid Configuration Name +-------------------------- + +.. code-block:: text + + Error: Invalid composable name + +**Solution**: Use only alphanumeric characters and underscores: + +.. code-block:: bash + + # Invalid + sudo datacrumbs_compose --action compose --name my-config ... # Hyphen not allowed + + # Valid + sudo datacrumbs_compose --action compose --name my_config ... + +Composable Not Used +------------------- + +If the composable binary is created but not being used: + +.. code-block:: bash + + # Verify binary exists + ls -la $PREFIX/libexec/datacrumbs/sbin/$USER/datacrumbs_* + + # Check permissions + # Should be: -r-x------ (500) + + # Verify you're specifying the name correctly + datacrumbs_compose_run --composite-name exact_name + +Build Failures +-------------- + +If composable build fails: + +.. code-block:: bash + + # Check build logs in the dry-run output + sudo datacrumbs_compose --action compose \ + --name test \ + --probes open,close \ + --verbose + + # Verify CMake and build tools are available + which cmake + + # Check probe objects exist + ls $PREFIX/libexec/datacrumbs/objects/ + +Advanced Usage +============== + +Programmatic Composition +------------------------ + +Create multiple configurations programmatically: + +.. code-block:: bash + + #!/bin/bash + + # Define configurations + declare -A configs + configs[posix]="open,close,read,write,lseek" + configs[hdf5]="H5Fopen,H5Fclose,H5Dread,H5Dwrite" + configs[mpiio]="MPI_File_open,MPI_File_close,MPI_File_read,MPI_File_write" + + # Create all configurations + for name in "${!configs[@]}"; do + echo "Creating configuration: $name" + sudo datacrumbs_compose --action compose \ + --name "$name" \ + --probes "${configs[$name]}" + done + +Dynamic Probe Selection +----------------------- + +Select probes based on application analysis: + +.. code-block:: bash + + # Run with full tracing first + datacrumbs_run --app "./myapp" + + # Analyze trace to find used functions + # (Analysis script not shown) + + # Create optimized configuration with only used probes + sudo datacrumbs_compose --action compose \ + --name myapp_optimized \ + --probes open,read,write,close,H5Dread,H5Dwrite + +Integration with Workflows +--------------------------- + +Include composable creation in workflow scripts: + +.. code-block:: bash + + #!/bin/bash + # workflow.sh + + # Create workflow-specific configuration + sudo datacrumbs_compose --action compose \ + --name workflow_io \ + --probes open,close,read,write,H5Fopen,H5Fclose + + # Run workflow stages with custom configuration + datacrumbs_server_run --composite-name workflow_io + datacrumbs_track --executable ./stage1_preprocess + ./stage1_preprocess + datacrumbs_track --executable ./stage2_compute + ./stage2_compute + datacrumbs_track --executable ./stage3_postprocess + ./stage3_postprocess + datacrumbs_server_stop --composite-name workflow_io + +Examples +======== + +Example 1: Lightweight POSIX Tracing +------------------------------------- + +.. code-block:: bash + + # Discover available probes + sudo datacrumbs_compose --action discover + + # Create lightweight configuration + sudo datacrumbs_compose --action compose \ + --name light_posix \ + --probes open,close,read,write + + # Use with application + datacrumbs_compose_run --composite-name light_posix \ + --app "./io_benchmark" + + # Compare overhead with full tracing + # Lightweight typically has 2-3% overhead vs 5-8% for full + +Example 2: HDF5 Application Optimization +----------------------------------------- + +.. code-block:: bash + + # Initial run with full tracing + datacrumbs_run --app "./hdf5_app dataset.h5" + + # Analyze trace - shows only H5 functions are used + + # Create HDF5-only configuration + sudo datacrumbs_compose --action compose \ + --name hdf5_optimized \ + --probes H5Fopen,H5Fclose,H5Fcreate,H5Dopen,H5Dclose,H5Dcreate,H5Dread,H5Dwrite + + # Use optimized configuration + datacrumbs_compose_run --composite-name hdf5_optimized \ + --app "./hdf5_app large_dataset.h5" + +Example 3: Multi-User Environment +---------------------------------- + +.. code-block:: bash + + # Administrator creates common configurations + sudo su - admin + + # POSIX configuration + sudo datacrumbs_compose --action compose \ + --name std_posix \ + --probes open,close,read,write,pread64,pwrite64 + + # HDF5 configuration + sudo datacrumbs_compose --action compose \ + --name std_hdf5 \ + --probes H5Fopen,H5Fclose,H5Dread,H5Dwrite + + # Users can now use these configurations + # User 1 + datacrumbs_compose_run --composite-name std_posix --app "./user1_app" + + # User 2 + datacrumbs_compose_run --composite-name std_hdf5 --app "./user2_app" + +Example 4: Flux Workflow +------------------------- + +.. code-block:: bash + + # Create configuration for workflow + sudo datacrumbs_compose --action compose \ + --name workflow_trace \ + --probes open,close,read,write,H5Dread,H5Dwrite,MPI_File_read,MPI_File_write + + # Submit Flux job with custom configuration + flux run --datacrumbs-enable \ + --datacrumbs-composite=workflow_trace \ + -N 8 -n 64 \ + ./parallel_workflow diff --git a/docs/conf.py b/docs/conf.py index ded7eddf..722f32a2 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -19,14 +19,14 @@ # -- Project information ----------------------------------------------------- -project = u'dftracer' -copyright = u'2018, Lawrence Livermore National Security, LLC' +project = u'DataCrumbs' +copyright = u'2024, Lawrence Livermore National Security, LLC' author = u'Hariharan Devarajan' # The short X.Y version version = u'0.0' # The full version, including alpha/beta/rc tags -release = u'1.0.2' +release = u'0.0.4' # -- General configuration --------------------------------------------------- @@ -90,9 +90,12 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] +# Add custom CSS +html_css_files = ['custom.css'] + # The name of an image file (relative to this directory) to place at the top # of the sidebar. -html_logo = 'images/dftracer-logo.png' +# html_logo = 'images/datacrumbs-logo.png' # Update when logo is available # Custom sidebar templates, must be a dictionary that maps document names # to template names. @@ -110,7 +113,7 @@ # -- Options for HTMLHelp output --------------------------------------------- # Output file base name for HTML help builder. -htmlhelp_basename = 'dftracer-doc' +htmlhelp_basename = 'datacrumbs-doc' # -- Options for LaTeX output ------------------------------------------------ @@ -137,13 +140,13 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'dftracer.tex', u'DFTracer Documentation', + (master_doc, 'datacrumbs.tex', u'DataCrumbs Documentation', author, 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. -latex_logo = 'images/dftracer-logo.png' +# latex_logo = 'images/datacrumbs-logo.png' # -- Options for manual page output ------------------------------------------ @@ -151,7 +154,7 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - (master_doc, 'dftracer', u'DFTracer Documentation', + (master_doc, 'datacrumbs', u'DataCrumbs Documentation', [author], 1) ] @@ -162,7 +165,7 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - (master_doc, 'dftracer', u'DFTracer Documentation', - author, 'dftracer', 'DFTracer is a library for wrapping function calls in shared libraries.', + (master_doc, 'datacrumbs', u'DataCrumbs Documentation', + author, 'datacrumbs', 'DataCrumbs is an eBPF-based I/O profiling and tracing tool for HPC applications.', 'Miscellaneous'), ] diff --git a/docs/dependencies.rst b/docs/dependencies.rst new file mode 100755 index 00000000..1c9f6273 --- /dev/null +++ b/docs/dependencies.rst @@ -0,0 +1,485 @@ +============ +Dependencies +============ + +DataCrumbs has several system and library dependencies that must be satisfied before building and running the tool. + +System Requirements +=================== + +Operating System +---------------- + +DataCrumbs requires a Linux-based operating system with eBPF support. Tested distributions include: + +* CentOS 8+ +* Rocky Linux 8+ +* Ubuntu 20.04+ +* Debian 11+ + +Kernel Requirements +------------------- + +**Recommended: Linux Kernel 5.8 or later** + +DataCrumbs works best with modern kernel versions that have full eBPF feature support: + +* **Linux 5.8+**: Full eBPF features including bounded loops, advanced helpers, and BPF ring buffers (recommended) +* **Linux 5.1+**: Supported with most features +* **Linux 4.18+**: Supported with compatibility layers (reduced functionality) + +For kernels older than 5.8, DataCrumbs can use compatibility mechanisms, but some features may be limited. + +To check your kernel version: + +.. code-block:: bash + + uname -r + +Kernel Configuration +-------------------- + +The kernel must be built with eBPF support enabled. Required kernel configuration options: + +.. code-block:: text + + CONFIG_BPF=y + CONFIG_BPF_SYSCALL=y + CONFIG_BPF_JIT=y + CONFIG_HAVE_EBPF_JIT=y + CONFIG_BPF_EVENTS=y + CONFIG_DEBUG_INFO_BTF=y + +Most modern distributions enable these by default. To verify: + +.. code-block:: bash + + # Check if BTF is available + ls -la /sys/kernel/btf/vmlinux + + # Check BPF support + zgrep BPF /proc/config.gz + +Build Dependencies +================== + +Compiler Requirements +--------------------- + +**GCC 11.2.0 or later** (recommended) + +.. code-block:: bash + + # Check GCC version + gcc --version + + # Set compiler for CMake + export CC=$(which gcc) + export CXX=$(which g++) + +**Clang/LLVM** (for eBPF compilation) + +Clang is required to compile eBPF programs. Version 10+ recommended. + +.. code-block:: bash + + # Check Clang version + clang --version + +Build Tools +----------- + +Required build tools: + +* **CMake 3.5+**: Build system generator +* **Make**: Build automation +* **Git**: Version control (for obtaining source) +* **pkg-config**: Dependency detection + +.. code-block:: bash + + # On CentOS/Rocky Linux + sudo dnf install cmake make git pkg-config + + # On Ubuntu/Debian + sudo apt-get install cmake build-essential git pkg-config + +Core eBPF Dependencies +====================== + +libbpf (v1.5.0+) +---------------- + +**Required Version: 1.5.0 or later** + +libbpf is the core library for loading and managing eBPF programs. DataCrumbs requires a recent version with support for: + +* Modern BPF features (ring buffers, etc.) +* BTF support +* CO-RE (Compile Once - Run Everywhere) + +Installation from Source +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + # Clone libbpf + git clone https://github.com/libbpf/libbpf.git + cd libbpf/src + + # Build and install + make + sudo make install + sudo ldconfig + + # Verify installation + pkg-config --modversion libbpf + +Installation from Package Manager +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + # CentOS/Rocky Linux + sudo dnf install libbpf-devel + + # Ubuntu 22.04+ + sudo apt-get install libbpf-dev + +.. note:: + Package manager versions may be older than 1.5.0. Building from source is recommended for the latest features. + +bpftool (v7.5.0+) +----------------- + +**Required Version: 7.5.0 or later** + +bpftool is used during the build process to generate eBPF-related headers and skeleton files. + +Installation from Source +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + # Install dependencies + sudo dnf install libelf-devel libcap-devel + + # Clone Linux kernel tools + git clone --depth 1 --branch v6.1 https://github.com/torvalds/linux.git + cd linux/tools/bpf/bpftool + + # Build and install + make + sudo make install + + # Verify installation + bpftool version + +System Installation +^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + # CentOS/Rocky Linux + sudo dnf install bpftool + + # Ubuntu + sudo apt-get install linux-tools-common linux-tools-generic + +.. note:: + The bpftool version often matches the kernel version. Ensure you have a recent version installed. + +Additional Library Dependencies +================================ + +yaml-cpp +-------- + +**Purpose**: Configuration file parsing (YAML format) + +DataCrumbs uses YAML for configuration files that define: + +* Host-specific settings +* Probe configurations +* Capture rules + +Installation: + +.. code-block:: bash + + # From source + git clone https://github.com/jbeder/yaml-cpp.git + cd yaml-cpp + mkdir build && cd build + cmake -DYAML_BUILD_SHARED_LIBS=ON .. + make + sudo make install + + # From package manager + # CentOS/Rocky Linux + sudo dnf install yaml-cpp-devel + + # Ubuntu/Debian + sudo apt-get install libyaml-cpp-dev + +json-c +------ + +**Purpose**: JSON data handling for trace output and data files + +DataCrumbs uses JSON for: + +* Probe metadata storage +* Category definitions +* Internal data exchange + +Installation: + +.. code-block:: bash + + # From package manager + # CentOS/Rocky Linux + sudo dnf install json-c-devel + + # Ubuntu/Debian + sudo apt-get install libjson-c-dev + +libelf +------ + +**Purpose**: ELF (Executable and Linkable Format) file parsing + +Required for: + +* Discovering symbols in libraries +* Attaching probes to functions +* Reading binary metadata + +Installation: + +.. code-block:: bash + + # CentOS/Rocky Linux + sudo dnf install elfutils-libelf-devel + + # Ubuntu/Debian + sudo apt-get install libelf-dev + +zlib +---- + +**Purpose**: Trace data compression + +DataCrumbs can compress trace output to reduce storage requirements. + +Installation: + +.. code-block:: bash + + # CentOS/Rocky Linux + sudo dnf install zlib-devel + + # Ubuntu/Debian + sudo apt-get install zlib1g-dev + +Optional Dependencies +===================== + +patchelf +-------- + +**Purpose**: Binary patching for track/untrack functionality + +Required only if you plan to use ``datacrumbs_track`` and ``datacrumbs_untrack`` scripts to permanently instrument binaries. + +Installation: + +.. code-block:: bash + + # CentOS/Rocky Linux + sudo dnf install patchelf + + # Ubuntu/Debian + sudo apt-get install patchelf + +MPI Implementation +------------------ + +**Purpose**: MPI-IO tracing support + +If tracing MPI applications, install an MPI implementation: + +.. code-block:: bash + + # OpenMPI + sudo dnf install openmpi-devel + + # Or MPICH + sudo dnf install mpich-devel + + # Load MPI module (if using environment modules) + module load openmpi + +HDF5 +---- + +**Purpose**: HDF5 I/O tracing support + +For applications using HDF5: + +.. code-block:: bash + + # CentOS/Rocky Linux + sudo dnf install hdf5-devel + + # Ubuntu/Debian + sudo apt-get install libhdf5-dev + +Python Dependencies (for Analysis) +=================================== + +The analysis tools in ``analysis/`` directory require Python 3.8+ with the following packages: + +.. code-block:: bash + + pip install -r analysis/requirements.txt + +Key packages: + +- ``pandas``: Data analysis +- ``matplotlib``: Visualization +- ``jupyter``: Interactive notebooks +- ``numpy``: Numerical operations + +Kernel Headers +============== + +DataCrumbs needs access to kernel headers for eBPF compilation. + +Installation: + +.. code-block:: bash + + # CentOS/Rocky Linux + sudo dnf install kernel-devel kernel-headers + + # Ubuntu/Debian + sudo apt-get install linux-headers-$(uname -r) + +The kernel headers should be located at: + +- ``/usr/src/kernels/`` +- ``/lib/modules/$(uname -r)/build`` + +You can specify a custom path using the ``DATACRUMBS_KERNEL_HEADERS_PATH`` CMake variable. + +Verifying Dependencies +====================== + +Before building, verify all required dependencies are available: + +.. code-block:: bash + + # Check kernel version + uname -r + + # Check for BTF support + ls /sys/kernel/btf/vmlinux + + # Check libbpf + pkg-config --modversion libbpf + + # Check bpftool + bpftool version + + # Check compiler + gcc --version + clang --version + +Complete Dependency Installation +================================= + +CentOS/Rocky Linux 8 +-------------------- + +.. code-block:: bash + + # System tools + sudo dnf install -y gcc gcc-c++ clang llvm make cmake git + sudo dnf install -y kernel-devel kernel-headers + + # eBPF tools + sudo dnf install -y libbpf-devel bpftool + + # Libraries + sudo dnf install -y elfutils-libelf-devel yaml-cpp-devel json-c-devel zlib-devel + + # Optional tools + sudo dnf install -y patchelf + + # MPI (optional) + sudo dnf install -y openmpi-devel + + # HDF5 (optional) + sudo dnf install -y hdf5-devel + +Ubuntu 22.04 +------------ + +.. code-block:: bash + + # System tools + sudo apt-get update + sudo apt-get install -y build-essential clang llvm cmake git + sudo apt-get install -y linux-headers-$(uname -r) + + # eBPF tools + sudo apt-get install -y libbpf-dev linux-tools-common linux-tools-generic + + # Libraries + sudo apt-get install -y libelf-dev libyaml-cpp-dev libjson-c-dev zlib1g-dev + + # Optional tools + sudo apt-get install -y patchelf + + # MPI (optional) + sudo apt-get install -y libopenmpi-dev + + # HDF5 (optional) + sudo apt-get install -y libhdf5-dev + +Troubleshooting +=============== + +BTF Not Available +----------------- + +If ``/sys/kernel/btf/vmlinux`` doesn't exist: + +1. Upgrade to a newer kernel (5.8+ recommended) +2. Rebuild kernel with ``CONFIG_DEBUG_INFO_BTF=y`` +3. Use ``DATACRUMBS_KERNEL_HEADERS_PATH`` to point to kernel sources + +libbpf Version Too Old +---------------------- + +If package manager version is < 1.5.0: + +.. code-block:: bash + + # Build from source + git clone https://github.com/libbpf/libbpf.git + cd libbpf/src + git checkout v1.5.0 + make + sudo make install + sudo ldconfig + +Permission Issues +----------------- + +eBPF operations require elevated privileges: + +* Run DataCrumbs server components with ``sudo`` +* Ensure user is in appropriate groups (e.g., ``bpf`` group if available) +* Check ``/proc/sys/kernel/unprivileged_bpf_disabled`` setting diff --git a/docs/deployment.rst b/docs/deployment.rst new file mode 100755 index 00000000..b9abca9b --- /dev/null +++ b/docs/deployment.rst @@ -0,0 +1,595 @@ +=================== +Deployment for HPC +=================== + +DataCrumbs can be deployed on HPC systems in multiple ways to allow users to trace their applications. This guide covers deployment methods for multi-user environments where administrators need to grant users access to DataCrumbs functionality. + +Deployment Overview +=================== + +There are two primary deployment approaches: + +1. **Sudoers Access**: Grant specific users permission to start/stop the DataCrumbs server via sudo +2. **Scheduler Integration**: Use job scheduler prolog/epilog scripts to manage DataCrumbs automatically + +.. list-table:: Deployment Method Comparison + :header-rows: 1 + :widths: 25 35 40 + + * - Method + - Best For + - Characteristics + * - Sudoers Access + - Interactive development, small teams + - User-initiated, explicit control, manual start/stop + * - Scheduler Integration + - Production workloads, large deployments + - Automatic, transparent, per-job isolation + +Method 1: Sudoers File Access +============================== + +This method grants specific users permission to run DataCrumbs server control scripts without requiring full root privileges. + +Overview +-------- + +Users can: + +- Start DataCrumbs server with ``sudo datacrumbs_server_run.sh`` +- Stop DataCrumbs server with ``sudo datacrumbs_server_stop.sh`` +- Cannot modify DataCrumbs installation or configuration +- Cannot access other users' trace data + +Sudoers Configuration +--------------------- + +**Step 1: Create sudoers configuration file** + +Create ``/etc/sudoers.d/datacrumbs`` with the following content: + +.. code-block:: bash + + # Allow specific users to run DataCrumbs server control scripts + + # Define user aliases (customize for your site) + User_Alias DATACRUMBS_USERS = user1, user2, user3, %hpc_group + + # Define command aliases + Cmnd_Alias DATACRUMBS_START = /opt/datacrumbs/sbin/datacrumbs_server_run.sh + Cmnd_Alias DATACRUMBS_STOP = /opt/datacrumbs/sbin/datacrumbs_server_stop.sh + Cmnd_Alias DATACRUMBS_SERVICE_START = /opt/datacrumbs/sbin/datacrumbs_service_run.sh + Cmnd_Alias DATACRUMBS_SERVICE_STOP = /opt/datacrumbs/sbin/datacrumbs_service_stop.sh + + # Grant permissions (no password required) + DATACRUMBS_USERS ALL = (root) NOPASSWD: DATACRUMBS_START, DATACRUMBS_STOP + DATACRUMBS_USERS ALL = (root) NOPASSWD: DATACRUMBS_SERVICE_START, DATACRUMBS_SERVICE_STOP + +.. important:: + Replace ``/opt/datacrumbs`` with your actual DataCrumbs installation prefix. + +**Step 2: Set correct permissions** + +.. code-block:: bash + + # Set ownership and permissions + sudo chown root:root /etc/sudoers.d/datacrumbs + sudo chmod 0440 /etc/sudoers.d/datacrumbs + + # Validate sudoers syntax + sudo visudo -c -f /etc/sudoers.d/datacrumbs + +**Step 3: Verify configuration** + +.. code-block:: bash + + # Test as regular user + sudo -l + + # Expected output should include: + # User may run the following commands: + # (root) NOPASSWD: /opt/datacrumbs/sbin/datacrumbs_server_run.sh + # (root) NOPASSWD: /opt/datacrumbs/sbin/datacrumbs_server_stop.sh + +User-Specific Configuration +---------------------------- + +**Allow per-user DataCrumbs access:** + +.. code-block:: bash + + # In /etc/sudoers.d/datacrumbs + User_Alias DATACRUMBS_ADMINS = admin1, admin2 + User_Alias DATACRUMBS_BASIC_USERS = user1, user2, %research_group + + # Admins can run all DataCrumbs commands + DATACRUMBS_ADMINS ALL = (root) NOPASSWD: /opt/datacrumbs/sbin/* + + # Basic users can only start/stop their own servers + DATACRUMBS_BASIC_USERS ALL = (root) NOPASSWD: DATACRUMBS_START, DATACRUMBS_STOP + +Group-Based Access +------------------ + +Grant access to entire groups: + +.. code-block:: bash + + # In /etc/sudoers.d/datacrumbs + + # Allow all users in 'hpc' group + %hpc ALL = (root) NOPASSWD: DATACRUMBS_START, DATACRUMBS_STOP + + # Allow all users in multiple groups + User_Alias DATACRUMBS_USERS = %hpc, %research, %developers + +Usage by Regular Users +----------------------- + +Once configured, users can start and stop DataCrumbs: + +.. code-block:: bash + + # Start DataCrumbs server + sudo datacrumbs_server_run.sh --user $USER + + # Stop DataCrumbs server + sudo datacrumbs_server_stop.sh --user $USER + + # With service mode + sudo datacrumbs_service_run.sh --user $USER + sudo datacrumbs_service_stop.sh --user $USER + +Security Considerations +----------------------- + +.. warning:: + - Only grant access to trusted users + - Regularly audit sudoers configuration + - Monitor DataCrumbs server processes + - Review trace logs for unauthorized access + +Best practices: + +1. Use specific command paths (not wildcards like ``/opt/datacrumbs/*``) +2. Require users to specify ``--user $USER`` to prevent impersonation +3. Set up log monitoring: ``/var/log/auth.log`` tracks sudo usage +4. Implement quota limits on trace storage directories +5. Rotate trace logs regularly + +Restricting Commands +-------------------- + +Limit users to specific DataCrumbs configurations: + +.. code-block:: bash + + # Only allow specific configurations + Cmnd_Alias DATACRUMBS_SAFE_START = /opt/datacrumbs/sbin/datacrumbs_server_run.sh --user *, \ + --config standard + + DATACRUMBS_USERS ALL = (root) NOPASSWD: DATACRUMBS_SAFE_START + +Method 2: Scheduler Integration +================================ + +Automatic DataCrumbs management via job scheduler prolog and epilog scripts. This is the recommended approach for production HPC environments. + +Overview +-------- + +The scheduler automatically: + +- Starts DataCrumbs server when job begins (prolog) +- Stops DataCrumbs server when job completes (epilog) +- Isolates tracing to specific jobs +- No user intervention required + +Supported Schedulers +-------------------- + +* **Flux**: Full support with systemd integration +* **Slurm**: Supported via prolog/epilog scripts + +Flux Integration +================ + +DataCrumbs integrates with Flux resource manager using systemd services and prolog/epilog scripts. + +For complete Flux deployment instructions, see :doc:`flux_integration`. + +Quick Flux Setup +---------------- + +**Step 1: Install systemd service** + +.. code-block:: bash + + # Copy service file to all nodes + for node in node{1..10}; do + sudo scp $PREFIX/etc/datacrumbs/systemd/datacrumbs@.service \ + $node:/etc/systemd/system/ + done + + # Reload systemd + sudo systemctl daemon-reload + +**Step 2: Install prolog/epilog scripts** + +.. code-block:: bash + + # On all Flux nodes + sudo ln -s $PREFIX/sbin/datacrumbs_service_run.sh \ + /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + + sudo ln -s $PREFIX/sbin/datacrumbs_service_stop.sh \ + /etc/flux/system/epilog.d/datacrumbs_service_stop.sh + + # Make executable + sudo chmod u+x /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + sudo chmod u+x /etc/flux/system/epilog.d/datacrumbs_service_stop.sh + +**Step 3: Configure Flux job manager** + +Edit ``/etc/flux/system/conf.d/job-manager.toml``: + +.. code-block:: toml + + [job-manager] + plugins = [ + { load = "prolog-job-manager.so" }, + { load = "epilog.so" } + ] + +**Step 4: Install Flux CLI Plugin** + +The Flux CLI plugin can be installed system-wide or per-user. + +**Option A: System-wide installation (recommended for HPC)** + +.. code-block:: bash + + # Create flux plugins directory if it doesn't exist + sudo mkdir -p /etc/flux/cli/plugins + + # Copy the DataCrumbs plugin + sudo cp $PREFIX/etc/datacrumbs/flux/cli/plugins/datacrumbs.py \ + /etc/flux/cli/plugins/ + + # Set permissions for all users + sudo chmod 644 /etc/flux/cli/plugins/datacrumbs.py + +**Option B: Per-user installation** + +.. code-block:: bash + + # Create user plugin directory + mkdir -p ~/plugins + + # Copy the DataCrumbs plugin + cp $PREFIX/etc/datacrumbs/flux/cli/plugins/datacrumbs.py ~/plugins/ + + # Set environment variable (add to ~/.bashrc for persistence) + export FLUX_CLI_PLUGINPATH=~/plugins/ + + # Use with flux commands + flux run --datacrumbs-enable ./my-application + +**Step 5: Restart Flux** + +.. code-block:: bash + + # On broker-0 node + sudo /admin/scripts/flux_reconfig.sh + flux config reload + +Multi-Node Deployment +--------------------- + +Deploy to all nodes in a cluster: + +.. code-block:: bash + + #!/bin/bash + # deploy_datacrumbs.sh + + NODES="node{1..10}" + DATACRUMBS_INSTALL=/opt/datacrumbs + + for node in $(eval echo $NODES); do + echo "Deploying to $node..." + + # Install systemd service + sudo scp ${DATACRUMBS_INSTALL}/etc/datacrumbs/systemd/datacrumbs@.service \ + ${node}:/etc/systemd/system/ + + # Install prolog/epilog via symbolic links + sudo ssh $node << 'EOF' + # Remove old links + rm -f /etc/flux/system/prolog-job-manager.d/datacrumbs* + rm -f /etc/flux/system/epilog.d/datacrumbs* + + # Create new links + ln -s ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_run.sh \ + /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + ln -s ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_stop.sh \ + /etc/flux/system/epilog.d/datacrumbs_service_stop.sh + + # Set permissions + chmod u+x /etc/flux/system/prolog-job-manager.d/datacrumbs* + chmod u+x /etc/flux/system/epilog.d/datacrumbs* + + # Reload systemd + systemctl daemon-reload + EOF + done + + # Install Flux CLI plugin on broker node (system-wide) + echo "Installing Flux CLI plugin" + sudo mkdir -p /etc/flux/cli/plugins + sudo cp ${DATACRUMBS_INSTALL}/etc/datacrumbs/flux/cli/plugins/datacrumbs.py \ + /etc/flux/cli/plugins/ + sudo chmod 644 /etc/flux/cli/plugins/datacrumbs.py + + # Alternative: Install per-user (optional) + # mkdir -p ~/plugins + # cp ${DATACRUMBS_INSTALL}/etc/datacrumbs/flux/cli/plugins/datacrumbs.py ~/plugins/ + # echo "export FLUX_CLI_PLUGINPATH=~/plugins/" >> ~/.bashrc + +User Workflow with Flux +------------------------ + +Users submit jobs normally with optional DataCrumbs flags: + +.. code-block:: bash + + # Enable DataCrumbs for job + flux run -N 4 --datacrumbs-enable ./my-application + + # With composable configuration + flux run -N 4 \ + --datacrumbs-enable \ + --datacrumbs-composite=posix_only \ + ./my-application + +If using per-user plugin installation: + +.. code-block:: bash + + # Set plugin path (or add to ~/.bashrc) + export FLUX_CLI_PLUGINPATH=~/plugins/ + + # Then use flux commands normally + flux run -N 4 --datacrumbs-enable ./my-application + +No explicit DataCrumbs commands needed - prolog/epilog handle everything. + + + +Slurm Integration +================= + +DataCrumbs can be integrated with Slurm using similar prolog/epilog mechanisms. + +Slurm Configuration +------------------- + +**Step 1: Create prolog script** + +Create ``/etc/slurm/prolog.d/datacrumbs.sh``: + +.. code-block:: bash + + #!/bin/bash + # /etc/slurm/prolog.d/datacrumbs.sh + + # Load DataCrumbs environment + export DATACRUMBS_INSTALL=/opt/datacrumbs + source ${DATACRUMBS_INSTALL}/bin/datacrumbs_setup + + # Start DataCrumbs server for job user + if [[ "${SLURM_JOB_USER}" != "" ]]; then + ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_run.sh \ + --user ${SLURM_JOB_USER} \ + --jobid ${SLURM_JOB_ID} + fi + +**Step 2: Create epilog script** + +Create ``/etc/slurm/epilog.d/datacrumbs.sh``: + +.. code-block:: bash + + #!/bin/bash + # /etc/slurm/epilog.d/datacrumbs.sh + + export DATACRUMBS_INSTALL=/opt/datacrumbs + source ${DATACRUMBS_INSTALL}/bin/datacrumbs_setup + + # Stop DataCrumbs server for job user + if [[ "${SLURM_JOB_USER}" != "" ]]; then + ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_stop.sh \ + --user ${SLURM_JOB_USER} \ + --jobid ${SLURM_JOB_ID} + fi + +**Step 3: Configure Slurm** + +Edit ``/etc/slurm/slurm.conf``: + +.. code-block:: ini + + # Enable prolog/epilog + Prolog=/etc/slurm/prolog.d/datacrumbs.sh + Epilog=/etc/slurm/epilog.d/datacrumbs.sh + + # Set timeouts + PrologFlags=Alloc + EpilogMsgTime=30 + +**Step 4: Set permissions and restart** + +.. code-block:: bash + + # Set script permissions + sudo chmod 755 /etc/slurm/prolog.d/datacrumbs.sh + sudo chmod 755 /etc/slurm/epilog.d/datacrumbs.sh + + # Restart Slurm + sudo systemctl restart slurmctld + sudo systemctl restart slurmd + +User Workflow with Slurm +------------------------- + +Users submit jobs normally: + +.. code-block:: bash + + # Submit batch job + sbatch --nodes=4 my-job.sh + + # Interactive job + salloc --nodes=4 + srun ./my-application + +DataCrumbs automatically traces the application. + +Verification and Testing +======================== + +After deployment, verify DataCrumbs is working correctly. + +Test Sudoers Access +------------------- + +.. code-block:: bash + + # As regular user + sudo datacrumbs_server_run.sh --user $USER --verbose + + # Check server is running + ps aux | grep datacrumbs + + # Stop server + sudo datacrumbs_server_stop.sh --user $USER --verbose + +Test Scheduler Integration +--------------------------- + +.. code-block:: bash + + # Submit simple test job (Flux) + flux run -N 1 hostname + + # Check for DataCrumbs traces + ls -la /tmp/datacrumbs_${USER}*/traces/ + + # Submit with explicit enable (Slurm) + sbatch test-job.sh + +Monitor Deployment +------------------ + +Check systemd service status: + +.. code-block:: bash + + # View service status + sudo systemctl status datacrumbs@${USER} + + # View service logs + sudo journalctl -u datacrumbs@${USER} -f + +Check prolog/epilog execution: + +.. code-block:: bash + + # Flux prolog/epilog logs + sudo journalctl -u flux* --no-pager | grep datacrumbs + + # Slurm logs + sudo tail -f /var/log/slurm/slurmctld.log | grep -i prolog + +Troubleshooting Deployment +=========================== + +Common Issues +------------- + +**"Permission denied" when starting server** + +.. code-block:: bash + + # Check sudoers configuration + sudo visudo -c -f /etc/sudoers.d/datacrumbs + + # Verify user is in allowed group + groups $USER + +**Prolog/epilog scripts not executing** + +.. code-block:: bash + + # Flux: Check plugin configuration + flux config get job-manager.plugins + + # Slurm: Check slurm.conf + grep -i prolog /etc/slurm/slurm.conf + + # Verify script permissions + ls -la /etc/flux/system/prolog-job-manager.d/ + ls -la /etc/slurm/prolog.d/ + +**Systemd service fails to start** + +.. code-block:: bash + + # Check service status + sudo systemctl status datacrumbs@${USER} + + # View detailed logs + sudo journalctl -xe -u datacrumbs@${USER} + + # Verify service file + sudo systemctl cat datacrumbs@.service + +**Traces not being generated** + +.. code-block:: bash + + # Check trace directory permissions + ls -la /tmp/datacrumbs_${USER}*/ + + # Verify DataCrumbs binary has correct capabilities + getcap $PREFIX/bin/datacrumbs + + # Should show: cap_bpf,cap_perfmon+ep + +Cleanup and Uninstallation +=========================== + +Remove sudoers configuration: + +.. code-block:: bash + + sudo rm /etc/sudoers.d/datacrumbs + +Remove Flux integration: + +.. code-block:: bash + + # On all nodes + sudo rm /etc/flux/system/prolog-job-manager.d/datacrumbs* + sudo rm /etc/flux/system/epilog.d/datacrumbs* + sudo rm /etc/systemd/system/datacrumbs@.service + sudo systemctl daemon-reload + +Remove Slurm integration: + +.. code-block:: bash + + sudo rm /etc/slurm/prolog.d/datacrumbs.sh + sudo rm /etc/slurm/epilog.d/datacrumbs.sh + # Edit /etc/slurm/slurm.conf to remove Prolog/Epilog lines + sudo systemctl restart slurmctld diff --git a/docs/ebpf_background.rst b/docs/ebpf_background.rst new file mode 100755 index 00000000..50167bdd --- /dev/null +++ b/docs/ebpf_background.rst @@ -0,0 +1,166 @@ +=================== +eBPF Background +=================== + +What is eBPF? +============= + +eBPF (extended Berkeley Packet Filter) is a revolutionary technology that allows running sandboxed programs in the Linux kernel without changing kernel source code or loading kernel modules. Originally designed for network packet filtering, eBPF has evolved into a general-purpose execution engine that can be used for a wide variety of use cases. + +How eBPF Works +============== + +eBPF programs are written in a restricted C subset, compiled to eBPF bytecode, and loaded into the kernel. The kernel verifies the program for safety before executing it, ensuring: + +* **Memory Safety**: Programs cannot access arbitrary memory locations +* **Termination**: Programs must terminate (no infinite loops) +* **Bounded Execution**: Programs have limited instruction count and stack size + +Key Components +-------------- + +1. **eBPF Programs**: Small programs that execute in kernel space +2. **eBPF Maps**: Key-value data structures for sharing data between kernel and user space +3. **eBPF Verifier**: Ensures program safety before execution +4. **BPF Type Format (BTF)**: Provides type information for eBPF programs +5. **Helper Functions**: Kernel-provided functions that eBPF programs can call + +eBPF in DataCrumbs +================== + +DataCrumbs leverages eBPF technology to provide low-overhead I/O tracing capabilities. The tool uses several eBPF features: + +Kprobes and Uprobes +------------------- + +* **Kprobes**: Attach eBPF programs to kernel functions for tracing system calls and kernel-level I/O operations +* **Uprobes**: Attach eBPF programs to user-space functions in libraries (libc, libhdf5, etc.) + +These probes allow DataCrumbs to intercept function calls without modifying the application or kernel code. + +Ring Buffers +------------ + +DataCrumbs uses eBPF ring buffers (introduced in Linux 5.8) for efficient data transfer from kernel to user space. Ring buffers provide: + +* High-throughput event delivery +* Low latency +* Memory efficiency +* Multi-producer, single-consumer semantics + +Maps for State Management +-------------------------- + +eBPF maps store: + +* Process tracking information +* File descriptor mappings +* Thread-local data +* Aggregated statistics + +Advantages of eBPF for I/O Tracing +=================================== + +Minimal Overhead +---------------- + +eBPF programs execute directly in the kernel with JIT compilation, resulting in near-native performance. DataCrumbs typically adds less than 5% overhead to application execution. + +Safety and Stability +-------------------- + +The eBPF verifier ensures that programs cannot crash the kernel or compromise system security. This makes DataCrumbs safe to use in production environments. + +Dynamic Instrumentation +------------------------ + +eBPF programs can be loaded and unloaded dynamically without rebooting the system or restarting applications. This allows DataCrumbs to: + +* Start and stop tracing on demand +* Update probe configurations at runtime +* Trace running applications without interruption + +No Code Modification +-------------------- + +Applications do not need to be recompiled or modified to be traced by DataCrumbs. The tool can trace: + +* Binary-only applications +* Third-party libraries +* System calls +* Custom functions + +eBPF Limitations +================ + +Kernel Version Requirements +--------------------------- + +eBPF features have evolved over time, with different capabilities available in different kernel versions: + +* **Linux 4.18**: Basic eBPF support with compatibility layers +* **Linux 5.1+**: Modern eBPF features +* **Linux 5.8+**: Full modern eBPF features with BPF ring buffers (recommended) + +Stack Size Limits +----------------- + +eBPF programs have a limited stack size (512 bytes). DataCrumbs works around this by: + +* Using per-CPU maps for temporary storage +* Minimizing stack variable usage +* Splitting complex operations across multiple helper functions + +Verifier Restrictions +--------------------- + +The eBPF verifier imposes restrictions on: + +* Loop complexity (bounded loops only in newer kernels) +* Function calls (limited call depth) +* Memory access patterns (must be verified safe) + +DataCrumbs handles these restrictions through careful program design and code generation. + +eBPF Tools and Ecosystem +========================= + +libbpf +------ + +DataCrumbs uses **libbpf** (version 1.5.0+) as the primary library for: + +* Loading eBPF programs into the kernel +* Managing eBPF maps +* Attaching probes to functions +* Handling BTF information + +bpftool +------- + +**bpftool** (version 7.5.0+) is used during the build process for: + +* Generating vmlinux.h (kernel type definitions) +* Creating BPF object files +* Generating skeleton headers for C programs +* Inspecting loaded eBPF programs (debugging) + +BCC vs libbpf +------------- + +DataCrumbs uses the **libbpf** approach rather than BCC (BPF Compiler Collection) because: + +* **Portability**: libbpf-based programs are compiled once and run anywhere +* **Performance**: No runtime compilation overhead +* **Dependencies**: Smaller dependency footprint +* **Distribution**: Easier to package and deploy + +Further Reading +=============== + +For more information about eBPF: + +- `eBPF.io `_ - Official eBPF documentation +- `libbpf Documentation `_ - libbpf API reference +- `Kernel Documentation `_ - Linux kernel eBPF docs +- `BPF Performance Tools `_ - Book by Brendan Gregg diff --git a/docs/flux_integration.rst b/docs/flux_integration.rst new file mode 100755 index 00000000..d77a1b80 --- /dev/null +++ b/docs/flux_integration.rst @@ -0,0 +1,670 @@ +============================ +Flux Scheduler Integration +============================ + +DataCrumbs provides deep integration with the Flux resource manager for automated tracing in HPC environments. This integration enables transparent tracing of batch jobs through Flux job manager prologs/epilogs and systemd service management. + +Overview +======== + +The Flux integration consists of three components: + +1. **Systemd Service**: Manages DataCrumbs server lifecycle +2. **Prolog Script**: Starts DataCrumbs before job execution +3. **Epilog Script**: Stops DataCrumbs after job completion +4. **Flux Plugin**: Provides command-line options for users + +Benefits +-------- + +* **Automatic Tracing**: Jobs are traced transparently without manual server management +* **Per-Job Isolation**: Each job gets its own tracing session +* **Custom Configurations**: Users can specify composable configurations +* **No Code Changes**: Applications remain unmodified +* **Centralized Management**: Administrators control tracing infrastructure + +Architecture +============ + +When a Flux job is submitted with ``--datacrumbs-enable``: + +1. **Prolog Phase** (before job starts): + + - ``datacrumbs_service_run.sh`` is executed + - Systemd service ``datacrumbs@`` is created and started + - DataCrumbs server begins collecting events + - Job waits for server to be ready + +2. **Execution Phase**: + + - Application runs normally with tracing active + - eBPF probes capture I/O events + - Events are written to trace files + +3. **Epilog Phase** (after job completes): + + - ``datacrumbs_service_stop.sh`` is executed + - Systemd service is stopped and disabled + - Server flushes remaining events + - Trace files are finalized + +Installation Steps +================== + +.. note:: + Installation requires root/administrator privileges on all compute nodes. + +Step 1: Enable Flux Prolog/Epilog +---------------------------------- + +Edit the Flux job manager configuration file on the broker node: + +.. code-block:: bash + + # On Flux broker-0 node + sudo vi /etc/flux/system/conf.d/job-manager.toml + +Add or ensure the following configuration: + +.. code-block:: toml + + [job-manager] + + # Enable prolog execution + prolog.command = [ + "/etc/flux/system/prolog-job-manager.d/*", + ] + + # Enable epilog execution + epilog.command = [ + "/etc/flux/system/epilog.d/*", + ] + +Step 2: Install Systemd Service +-------------------------------- + +Install the DataCrumbs systemd service file on all compute nodes: + +**Service file location:** ``/etc/datacrumbs/systemd/datacrumbs@.service`` + +.. code-block:: bash + + # On each compute node + DATACRUMBS_INSTALL=/path/to/datacrumbs/install + + # Create symlink to systemd directory + sudo ln -s ${DATACRUMBS_INSTALL}/etc/datacrumbs/systemd/datacrumbs@.service \\ + /etc/systemd/system/datacrumbs@.service + + # Reload systemd + sudo systemctl daemon-reload + + # Verify service is recognized + systemctl status datacrumbs@test.service + +**Automated deployment** across multiple nodes: + +.. code-block:: bash + + # Example for nodes lead2-lead6, lead9-lead11 + NODES=\"lead{2..6} lead{9..11}\" + + for node in $NODES; do + echo \"Installing on $node\" + ssh $node \"sudo ln -sf ${DATACRUMBS_INSTALL}/etc/datacrumbs/systemd/datacrumbs@.service /etc/systemd/system/ && sudo systemctl daemon-reload\" + done + +Step 3: Install Prolog Script +------------------------------ + +Install the prolog script that starts DataCrumbs: + +**Script location:** ``/sbin/datacrumbs_service_run.sh`` + +.. code-block:: bash + + # On each compute node + DATACRUMBS_INSTALL=/path/to/datacrumbs/install + + # Create symlink to prolog directory + sudo ln -s ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_run.sh \\ + /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + + # Make executable + sudo chmod u+x /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + +**Automated deployment:** + +.. code-block:: bash + + NODES=\"lead{2..6} lead{9..11}\" + + for node in $NODES; do + echo \"Installing prolog on $node\" + ssh $node \"sudo ln -sf ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_run.sh /etc/flux/system/prolog-job-manager.d/ && sudo chmod u+x /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh\" + done + +Step 4: Install Epilog Script +------------------------------ + +Install the epilog script that stops DataCrumbs: + +**Script location:** ``/sbin/datacrumbs_service_stop.sh`` + +.. code-block:: bash + + # On each compute node + DATACRUMBS_INSTALL=/path/to/datacrumbs/install + + # Create symlink to epilog directory + sudo ln -s ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_stop.sh \\ + /etc/flux/system/epilog.d/datacrumbs_service_stop.sh + + # Make executable + sudo chmod u+x /etc/flux/system/epilog.d/datacrumbs_service_stop.sh + +**Automated deployment:** + +.. code-block:: bash + + NODES=\"lead{2..6} lead{9..11}\" + + for node in $NODES; do + echo \"Installing epilog on $node\" + ssh $node \"sudo ln -sf ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_stop.sh /etc/flux/system/epilog.d/ && sudo chmod u+x /etc/flux/system/epilog.d/datacrumbs_service_stop.sh\" + done + +Step 5: Install Flux Plugin +---------------------------- + +Install the Flux CLI plugin for DataCrumbs command-line options: + +**Plugin location:** ``/etc/datacrumbs/flux/cli/plugins/datacrumbs.py`` + +.. code-block:: bash + + # On Flux broker node (or all nodes with flux CLI) + DATACRUMBS_INSTALL=/path/to/datacrumbs/install + + # Create flux plugins directory if it doesn't exist + sudo mkdir -p /etc/flux/cli/plugins + + # Copy plugin file + sudo cp ${DATACRUMBS_INSTALL}/etc/datacrumbs/flux/cli/plugins/datacrumbs.py \\ + /etc/flux/cli/plugins/ + + # Set permissions + sudo chmod 644 /etc/flux/cli/plugins/datacrumbs.py + +**Verify plugin installation:** + +.. code-block:: bash + + # Check if plugin is loaded + flux run --help | grep datacrumbs + + # Should show: + # --datacrumbs-enable Enable datacrumbs + # --datacrumbs-composite COMPOSITE + # Set composite name for datacrumbs + +Step 6: Restart Flux (if needed) +--------------------------------- + +After modifying ``job-manager.toml``, reload Flux configuration: + +.. code-block:: bash + + # On broker-0 node only + flux config reload + +If prolog/epilog entries were added for the first time, a full Flux restart may be required. Consult your system administrator. + +Complete Installation Script +============================= + +Here's a complete script for deploying across multiple nodes: + +.. code-block:: bash + + #!/bin/bash + # deploy_datacrumbs_flux.sh + + # Configuration + DATACRUMBS_INSTALL=/path/to/datacrumbs/install + NODES=\"lead{2..6} lead{9..11}\" + + echo \"Deploying DataCrumbs Flux integration...\" + + # Deploy to each node + for node in $(eval echo $NODES); do + echo \"==========================================\" + echo \"Deploying to $node\" + echo \"==========================================\" + + ssh $node << EOF + # Install systemd service + sudo ln -sf ${DATACRUMBS_INSTALL}/etc/datacrumbs/systemd/datacrumbs@.service \\ + /etc/systemd/system/datacrumbs@.service + sudo systemctl daemon-reload + + # Install prolog script + sudo ln -sf ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_run.sh \\ + /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + sudo chmod u+x /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + + # Install epilog script + sudo ln -sf ${DATACRUMBS_INSTALL}/sbin/datacrumbs_service_stop.sh \\ + /etc/flux/system/epilog.d/datacrumbs_service_stop.sh + sudo chmod u+x /etc/flux/system/epilog.d/datacrumbs_service_stop.sh + + # Clean old runtime files + sudo rm -rf /tmp/datacrumbs* + sudo rm -rf /var/run/datacrumbs* + + echo \"✓ Installation complete on $node\" + EOF + done + + # Install Flux plugin on broker node + echo \"==========================================\" + echo \"Installing Flux plugin\" + echo \"==========================================\" + sudo mkdir -p /etc/flux/cli/plugins + sudo cp ${DATACRUMBS_INSTALL}/etc/datacrumbs/flux/cli/plugins/datacrumbs.py \\ + /etc/flux/cli/plugins/ + sudo chmod 644 /etc/flux/cli/plugins/datacrumbs.py + + echo \"✓ Flux plugin installed\" + echo \"\" + echo \"==========================================\" + echo \"Deployment complete!\" + echo \"==========================================\" + echo \"\" + echo \"Next steps:\" + echo \"1. Verify job-manager.toml has prolog/epilog configured\" + echo \"2. Run: flux config reload (on broker-0)\" + echo \"3. Test: flux run --datacrumbs-enable hostname\" + +Usage +===== + +Basic Usage +----------- + +Enable DataCrumbs for a Flux job: + +.. code-block:: bash + + flux run --datacrumbs-enable [OPTIONS] COMMAND + +Example: + +.. code-block:: bash + + # Single node job + flux run --datacrumbs-enable hostname + + # Multi-node job + flux run --datacrumbs-enable -N 4 -n 32 ./myapp + + # MPI application (Flux handles launch automatically) + flux run --datacrumbs-enable -N 8 -n 64 ./parallel_app + +With Custom Composable Configuration +------------------------------------- + +Specify a custom composable configuration: + +.. code-block:: bash + + flux run --datacrumbs-enable --datacrumbs-composite=CONFIG_NAME [OPTIONS] COMMAND + +Example: + +.. code-block:: bash + + # Use POSIX I/O configuration + flux run --datacrumbs-enable --datacrumbs-composite=posix_io \\ + -N 4 -n 32 ./io_benchmark + + # Use HDF5 configuration + flux run --datacrumbs-enable --datacrumbs-composite=hdf5_only \\ + -N 2 -n 16 ./hdf5_writer dataset.h5 + + # Use MPI-IO configuration + flux run --datacrumbs-enable --datacrumbs-composite=mpiio_only \\ + -N 8 -n 64 ./mpi_parallel_io + +Command Reference +================= + +Flux CLI Options +---------------- + +``--datacrumbs-enable`` + Enable DataCrumbs tracing for the job + + - Default: disabled + - No argument required + +``--datacrumbs-composite=NAME`` + Specify custom composable configuration + + - Requires ``--datacrumbs-enable`` + - NAME must be alphanumeric and underscores only + - Composable must exist (created with ``datacrumbs_compose``) + - If not specified, uses default full configuration + +Examples +======== + +Example 1: Simple Job with Tracing +----------------------------------- + +.. code-block:: bash + + # Submit job with tracing enabled + flux run --datacrumbs-enable -n 1 dd if=/dev/zero of=/tmp/test bs=1M count=100 + + # Check trace location (set in configuration) + ls $DATACRUMBS_TRACE_DIR/ + +Example 2: Batch Job with Custom Configuration +----------------------------------------------- + +.. code-block:: bash + + # Create custom configuration (one-time setup) + sudo datacrumbs_compose --action compose \\ + --name io_benchmark \\ + --probes open,close,read,write,pread64,pwrite64 + + # Submit batch job + flux batch --datacrumbs-enable --datacrumbs-composite=io_benchmark <---.pfw.gz + + # With MPI: + trace-----.pfw.gz + +**Example**: + +.. code-block:: bash + + # Single node job + /path/to/traces/25/11/21/trace-haridev-12345-node01-lead.pfw.gz + + # Multi-rank MPI job (4 ranks generate 4 trace files) + /path/to/traces/25/11/21/trace-haridev-67890-0-4-lead.pfw.gz + /path/to/traces/25/11/21/trace-haridev-67890-1-4-lead.pfw.gz + /path/to/traces/25/11/21/trace-haridev-67890-2-4-lead.pfw.gz + /path/to/traces/25/11/21/trace-haridev-67890-3-4-lead.pfw.gz + +Find traces for a specific job: + +.. code-block:: bash + + # Get job ID + JOBID=$(flux jobs --format=\"{id}\" | head -1) + + # Find trace files + find $DATACRUMBS_TRACE_DIR -name \"trace-*-${JOBID}-*.pfw.gz\" + + # List all traces from today + ls -lh $DATACRUMBS_TRACE_DIR/$(date +%y/%m/%d)/trace-*.pfw.gz + +Monitoring and Debugging +========================= + +Check Service Status +-------------------- + +.. code-block:: bash + + # Check if service is running for a job + JOBID= + systemctl status datacrumbs@${JOBID}.service + + # View service logs + sudo journalctl -u datacrumbs@${JOBID}.service -f + +Check Prolog/Epilog Execution +------------------------------ + +.. code-block:: bash + + # View Flux logs for prolog/epilog + flux dmesg | grep datacrumbs + + # View job exceptions + flux job eventlog | grep datacrumbs + +Debug Mode +---------- + +Enable verbose output in prolog/epilog scripts: + +.. code-block:: bash + + # Edit prolog script + sudo vi /etc/flux/system/prolog-job-manager.d/datacrumbs_service_run.sh + + # Add at the beginning: + export DATACRUMBS_VERBOSE=1 + +Troubleshooting +=============== + +Job Hangs at Prolog +-------------------- + +**Symptom**: Job hangs with message \"prolog running\" + +**Cause**: DataCrumbs server failed to start + +**Solution**: + +.. code-block:: bash + + # Check systemd service + sudo journalctl -u \"datacrumbs@*\" --no-pager + + # Check for permission issues + ls -la /var/run/datacrumbs/ + + # Verify server binary exists + ls -la $DATACRUMBS_INSTALL/sbin/datacrumbs + +Composable Not Found +-------------------- + +**Symptom**: Error about missing composable configuration + +**Cause**: Specified composable doesn't exist + +**Solution**: + +.. code-block:: bash + + # List available composables + ls $PREFIX/libexec/datacrumbs/sbin/$USER/ + + # Create if missing + sudo datacrumbs_compose --action compose --name --probes + +No Traces Generated +------------------- + +**Symptom**: Job completes but no trace files (``.pfw.gz``) created + +**Cause**: Multiple possible causes + +**Solution**: + +.. code-block:: bash + + # Check if trace files exist with correct naming + ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + + # Check trace directory permissions + ls -la $DATACRUMBS_TRACE_DIR + + # Verify application was instrumented + # Applications MUST be tracked or wrapped before tracing works + ldd ./myapp | grep datacrumbs + + # Check service logs + sudo journalctl -u \"datacrumbs@*\" --since \"1 hour ago\" + + # Verify eBPF support + ls /sys/kernel/btf/vmlinux + + # Check for event drops + dmesg | grep -i bpf + +Service Won't Stop +------------------ + +**Symptom**: Epilog fails, service remains running + +**Cause**: Server process not responding + +**Solution**: + +.. code-block:: bash + + # Manually stop service + JOBID= + sudo systemctl stop datacrumbs@${JOBID}.service + + # Force kill if needed + sudo pkill -f \"datacrumbs.*${JOBID}\" + + # Clean up runtime files + sudo rm -rf /var/run/datacrumbs/*${JOBID}* + +Best Practices +============== + +1. **Test First**: Test integration on a single node before cluster-wide deployment +2. **Monitor Overhead**: Check that tracing overhead is acceptable for your workloads +3. **Use Composables**: Create workload-specific configurations to minimize overhead +4. **Regular Cleanup**: Periodically clean old trace files +5. **Log Rotation**: Configure log rotation for DataCrumbs and systemd logs +6. **Resource Limits**: Set appropriate ulimits in systemd service file +7. **Documentation**: Document custom composables and their use cases +8. **User Training**: Educate users on when and how to use ``--datacrumbs-enable`` +9. **Disk Space**: Ensure adequate space for trace files +10. **Backup Configs**: Keep backups of configuration files and composables + +Advanced Configuration +====================== + +Customizing Systemd Service +---------------------------- + +Edit the systemd service file to adjust timeouts, resources, etc.: + +.. code-block:: ini + + # /etc/systemd/system/datacrumbs@.service + [Unit] + Description=DataCrumbs I/O Tracer for Job %i + + [Service] + Type=forking + User=root + EnvironmentFile=/var/run/datacrumbs/datacrumbs-%i.env + ExecStart=/path/to/datacrumbs/sbin/datacrumbs ... + TimeoutStartSec=120s + TimeoutStopSec=60s + LimitNOFILE=1048576 + LimitMEMLOCK=infinity + +Per-User Trace Directories +--------------------------- + +Configure per-user trace directories in the project configuration: + +.. code-block:: yaml + + # project.yaml + trace: + dir_pattern: /scratch/${USER}/traces/%YY%/%MM%/%DD% + +Resource Quotas +--------------- + +Limit trace file size and count per user (filesystem-dependent): + +.. code-block:: bash + + # Example with XFS quotas + xfs_quota -x -c 'limit -u bsoft=100g bhard=120g $USER' /scratch + +Conditional Tracing +------------------- + +Enable tracing only for specific user groups or applications (modify prolog script): + +.. code-block:: bash + + # In datacrumbs_service_run.sh + # Only trace for specific users + if [[ ! \" user1 user2 user3 \" =~ \" $FLUX_JOB_USER \" ]]; then + exit 0 # Skip tracing + fi diff --git a/docs/index.rst b/docs/index.rst index e6f8ff48..a0e705e4 100755 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,20 +1,50 @@ -.. DFTracer documentation master file, created by +.. DataCrumbs documentation master file, created by sphinx-quickstart on Sun Nov 26 20:15:18 2017. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. =============================================================================== -DFTracer: is a library for profiling I/O calls and application functions. +DataCrumbs: eBPF-based I/O Profiling and Tracing for HPC Applications =============================================================================== +DataCrumbs is a comprehensive I/O profiling and tracing tool designed for high-performance computing (HPC) environments. +It leverages eBPF (extended Berkeley Packet Filter) technology to provide low-overhead, real-time monitoring and +analysis of application I/O behavior at scale. + +.. toctree:: + :maxdepth: 2 + :caption: Getting Started + + introduction + ebpf_background + dependencies + +.. toctree:: + :maxdepth: 2 + :caption: Building and Setup + + build + setup + .. toctree:: :maxdepth: 2 :caption: User Guide + usage + integration + composability + +.. toctree:: + :maxdepth: 2 + :caption: Advanced Topics + + flux_integration + +.. toctree:: + :maxdepth: 2 + :caption: Legacy Documentation + overview - build - run - ================== Indices and tables diff --git a/docs/integration.rst b/docs/integration.rst new file mode 100755 index 00000000..f4f6f72d --- /dev/null +++ b/docs/integration.rst @@ -0,0 +1,762 @@ +========================= +Application Integration +========================= + +DataCrumbs provides multiple methods for integrating tracing into your applications without requiring source code modifications. + +Integration Methods +=================== + +DataCrumbs supports three primary integration methods: + +1. **Binary Tracking** (``datacrumbs_track``): Permanently modify executable to include tracing **(Recommended)** +2. **LD_PRELOAD Wrapping** (``datacrumbs_wrap``): Dynamically inject tracing at runtime +3. **Wrapper Mode** (``datacrumbs_run``): Automatic tracing with server management + +.. note:: + **Binary tracking is recommended** for most use cases. Tracked applications run normally when DataCrumbs is not active - they simply don't capture trace data. When the DataCrumbs server is running, data is automatically captured. + +Each method has different use cases and trade-offs. + +Method 1: Binary Tracking (Permanent) +====================================== + +Binary tracking uses ``patchelf`` to permanently add DataCrumbs client library as a dependency of your executable. + +When to Use +----------- + +**Recommended for most use cases:** + +- Applications you want traced every time they run +- Production deployments +- Applications that run frequently +- Long-running applications or daemons +- Scenarios where LD_PRELOAD is problematic +- Setuid/setgid binaries + +**Key benefit**: Tracked applications run normally when DataCrumbs is not active. When the server is running, data is captured automatically. When it's not running, the application executes with no tracing overhead. + +How It Works +------------ + +``datacrumbs_track`` modifies the ELF binary to add ``libdatacrumbs_client.so`` to the ``DT_NEEDED`` entries. The library is automatically loaded when the application starts. + +Tracking an Application +----------------------- + +**Command Reference:** + +.. code-block:: bash + + datacrumbs_track --executable PATH [OPTIONS] + +**Arguments:** + +``--executable PATH`` + Path to the executable to instrument (required) + +**Common Options:** + +``--verbose`` + Enable detailed output showing each step of the tracking process + +``--quiet`` + Suppress informational messages + +``--dry-run`` + Show what would be done without modifying the binary + +**Examples:** + +.. code-block:: bash + + # Track a local binary + datacrumbs_track --executable ./myapp + + # Track with verbose output + datacrumbs_track --executable ./myapp --verbose + + # Dry-run to see what would happen + datacrumbs_track --executable ./myapp --dry-run + + # Track a binary in PATH + datacrumbs_track --executable $(which python3) + + # Track with absolute path (quiet mode) + datacrumbs_track --executable /usr/local/bin/simulation --quiet + +Verification +------------ + +Verify the executable is tracked: + +.. code-block:: bash + + # Check for DataCrumbs library dependency + ldd ./myapp | grep datacrumbs + + # Should show: + # libdatacrumbs_client.so => /path/to/lib/libdatacrumbs_client.so + +Using Tracked Applications +--------------------------- + +Once tracked, the application is automatically traced whenever it runs (if the DataCrumbs server is active): + +.. code-block:: bash + + # Start server + sudo datacrumbs_server_run.sh + + # Run tracked application normally + ./myapp arg1 arg2 + + # Application is automatically traced + # Traces saved to $DATACRUMBS_TRACE_DIR + +Untracking an Application +-------------------------- + +Remove DataCrumbs instrumentation from a binary: + +**Command Reference:** + +.. code-block:: bash + + datacrumbs_untrack --executable PATH [OPTIONS] + +**Arguments:** + +``--executable PATH`` + Path to the executable to uninstrument (required) + +**Common Options:** + +``--verbose`` + Enable detailed output + +``--quiet`` + Suppress informational messages + +``--dry-run`` + Show what would be done without modifying the binary + +**Examples:** + +.. code-block:: bash + + # Untrack a binary + datacrumbs_untrack --executable ./myapp + + # Untrack with verbose output + datacrumbs_untrack --executable ./myapp --verbose + + # Dry-run to verify before untracking + datacrumbs_untrack --executable ./myapp --dry-run + + # Verify removal + ldd ./myapp | grep datacrumbs + # Should show no output + +Important Considerations +------------------------ + +**Backup Your Binaries** + +Always keep a backup before tracking: + +.. code-block:: bash + + cp myapp myapp.original + datacrumbs_track --executable myapp + +**Permissions** + +You need write permission on the binary: + +**Library Path** + +Ensure ``libdatacrumbs_client.so`` is in the library path: + +.. code-block:: bash + + # Add to LD_LIBRARY_PATH + export LD_LIBRARY_PATH=/path/to/datacrumbs/lib:$LD_LIBRARY_PATH + + # Or use module + module load datacrumbs/0.0.4 + +**Binary Compatibility** + +- Works with dynamically linked executables +- Does not work with static binaries +- May not work with binaries that check their own integrity + +Method 2: LD_PRELOAD Wrapping (Dynamic) +======================================== + +LD_PRELOAD wrapping dynamically injects the DataCrumbs client library without modifying the binary. + +When to Use +----------- + +- One-time or ad-hoc tracing +- Testing DataCrumbs before permanent tracking +- Binaries you cannot modify +- Applications where binary modification is undesirable +- System binaries or read-only executables + +How It Works +------------ + +``datacrumbs_wrap`` sets ``LD_PRELOAD`` to load ``libdatacrumbs_client.so`` before executing your application. The library intercepts I/O calls at runtime. + +Wrapping an Application +----------------------- + +**Command Reference:** + +.. code-block:: bash + + datacrumbs_wrap COMMAND [ARGS...] + +**Arguments:** + +``COMMAND`` + Command to execute with tracing + +``ARGS`` + Arguments to pass to the command + +**Examples:** + +.. code-block:: bash + + # Wrap a simple command + datacrumbs_wrap ./myapp input.dat + + # Wrap with multiple arguments + datacrumbs_wrap python3 analysis.py --input data.csv --output results.txt + + # Wrap a pipeline + datacrumbs_wrap bash -c "cat file.txt | ./process > output.txt" + + # Wrap with environment variables + datacrumbs_wrap env VAR=value ./myapp + +Using with Server +----------------- + +For LD_PRELOAD wrapping to work, the DataCrumbs server must be running: + +.. code-block:: bash + + # Start server + sudo datacrumbs_server_run.sh + + # Wrap and run application + datacrumbs_wrap ./myapp + + # Stop server when done + sudo datacrumbs_server_stop.sh + +Manual LD_PRELOAD +----------------- + +You can also manually set LD_PRELOAD: + +.. code-block:: bash + + # Set LD_PRELOAD + export LD_PRELOAD=/path/to/lib/libdatacrumbs_client.so + + # Run application + ./myapp + + # Unset when done + unset LD_PRELOAD + +Important Considerations +------------------------ + +**Security Restrictions** + +LD_PRELOAD is ignored for setuid/setgid binaries for security reasons: + +.. code-block:: bash + + # This won't work if myapp is setuid + datacrumbs_wrap /usr/bin/setuid_app + +**Environment Inheritance** + +Child processes inherit LD_PRELOAD: + +.. code-block:: bash + + # All processes in the pipeline are traced + datacrumbs_wrap bash -c "./step1 | ./step2 | ./step3" + +**Library Conflicts** + +Some applications may conflict with LD_PRELOAD: + +.. code-block:: bash + + # If application checks LD_PRELOAD + # Use track method instead + +**Performance** + +LD_PRELOAD adds minimal overhead compared to tracking (both use the same client library). + +Method 3: Wrapper Mode (Managed) +================================= + +The ``datacrumbs_run`` wrapper provides the easiest integration with automatic server management. + +When to Use +----------- + +- Quick, one-off tracing sessions +- Applications where you want automatic setup/teardown +- Testing or debugging scenarios +- When you don't want to manage the server manually + +How It Works +------------ + +``datacrumbs_run`` automatically: + +1. Configures the environment +2. Starts the DataCrumbs server +3. Runs your application (with internal tracking) +4. Stops the server +5. Collects and saves traces + +Using Wrapper Mode +------------------ + +See :doc:`usage` for detailed ``datacrumbs_run`` documentation. + +.. code-block:: bash + + # Simple usage + datacrumbs_run --app "./myapp args" + + # MPI application (launcher configured in project.yaml) + datacrumbs_run --app "./parallel_app" --enable_mpi --nodes 4 --ppn 8 + +Integration Comparison +====================== + ++------------------+-------------------+------------------+-------------------+-------------------+ +| Feature | Track | LD_PRELOAD | Wrapper | Best For | ++==================+===================+==================+===================+===================+ +| Setup Effort | One-time | Every run | Every run | Varies | ++------------------+-------------------+------------------+-------------------+-------------------+ +| Binary Modified | Yes | No | No | LD_PRELOAD/Wrap | ++------------------+-------------------+------------------+-------------------+-------------------+ +| Permanent | Yes | No | No | Track | ++------------------+-------------------+------------------+-------------------+-------------------+ +| Server Needed | Manual start | Manual start | Auto-managed | Wrapper | ++------------------+-------------------+------------------+-------------------+-------------------+ +| Overhead | Minimal | Minimal | Minimal | All equal | ++------------------+-------------------+------------------+-------------------+-------------------+ +| Setuid Works | Yes | No | No | Track | ++------------------+-------------------+------------------+-------------------+-------------------+ +| Ease of Use | Medium | Easy | Easiest | Wrapper | ++------------------+-------------------+------------------+-------------------+-------------------+ +| Production Use | Yes | Yes | Yes | All suitable | ++------------------+-------------------+------------------+-------------------+-------------------+ + +Recommendations +--------------- + +**Use Track (Recommended):** + +- **Primary recommendation for most use cases** +- Applications run normally when DataCrumbs is not running (no overhead) +- Data is captured automatically when DataCrumbs server is active +- One-time setup, always ready for tracing +- Suitable for production environments +- Works with setuid/setgid binaries + +**Use LD_PRELOAD when:** + +- You need one-time tracing +- Cannot modify binaries (system binaries, read-only filesystems) +- Testing different configurations +- Temporary tracing needs + +**Use Wrapper when:** + +- You want simplicity for ad-hoc analysis +- One-off analysis sessions +- Automatic server management is desired +- MPI applications with scheduler integration + +Advanced Integration Patterns +============================== + +Pattern 1: Selective Function Tracing +-------------------------------------- + +Configure which functions to trace by editing the host configuration file: + +.. code-block:: yaml + + # etc/datacrumbs/configs/myhost.yaml + capture_probes: + - name: open + library: libc + enabled: true + - name: H5Fopen + library: libhdf5 + enabled: true + - name: MPI_File_open + library: libmpi + enabled: false # Disabled + +Rebuild DataCrumbs after configuration changes. + +Pattern 2: Multi-Stage Pipeline Tracing +---------------------------------------- + +Trace complex pipelines with multiple stages: + +.. code-block:: bash + + # Start server once + sudo datacrumbs_server_run.sh + + # Track all stages + datacrumbs_track --executable ./stage1 + datacrumbs_track --executable ./stage2 + datacrumbs_track --executable ./stage3 + + # Run pipeline (all stages traced) + ./stage1 input.dat | ./stage2 | ./stage3 > output.dat + + # Stop server + sudo datacrumbs_server_stop.sh + +Pattern 3: Mixed Integration +----------------------------- + +Combine different methods for different components: + +.. code-block:: bash + + # Track main application permanently + datacrumbs_track --executable ./mainapp + + # Start server + sudo datacrumbs_server_run.sh + + # Run main app (tracked) + ./mainapp & + + # Run helper with wrap (not tracked permanently) + datacrumbs_wrap ./helper_script + + # Stop server + sudo datacrumbs_server_stop.sh + +Pattern 4: Conditional Tracing +------------------------------- + +Enable tracing only when needed: + +.. code-block:: bash + + # Track application + datacrumbs_track --executable ./myapp + + # Run WITHOUT tracing (server not running) + ./myapp # No traces generated + + # Run WITH tracing (start server first) + sudo datacrumbs_server_run.sh + ./myapp # Traces generated + sudo datacrumbs_server_stop.sh + +Integration with Build Systems +=============================== + +Makefile Integration +-------------------- + +.. code-block:: makefile + + # Makefile + myapp: src/*.c + $(CC) -o myapp src/*.c + + track: myapp + datacrumbs_track --executable ./myapp + + run-traced: track + sudo datacrumbs_server_run.sh + ./myapp + sudo datacrumbs_server_stop.sh + + untrack: + datacrumbs_untrack --executable ./myapp + +CMake Integration +----------------- + +.. code-block:: cmake + + # CMakeLists.txt + add_executable(myapp src/main.c) + + # Add custom target for tracking + add_custom_target(track + COMMAND datacrumbs_track --executable $ + DEPENDS myapp + ) + + # Add custom target for traced execution + add_custom_target(run-traced + COMMAND sudo datacrumbs_server_run.sh + COMMAND $ + COMMAND sudo datacrumbs_server_stop.sh + DEPENDS track + ) + +Container Integration +===================== + +Docker +------ + +.. code-block:: dockerfile + + # Dockerfile + FROM ubuntu:22.04 + + # Install DataCrumbs + RUN apt-get update && apt-get install -y datacrumbs + + # Copy application + COPY myapp /usr/local/bin/ + + # Track application at build time + RUN datacrumbs_track --executable /usr/local/bin/myapp + + # Run with tracing + CMD ["bash", "-c", "datacrumbs_server_run.sh && myapp && datacrumbs_server_stop.sh"] + +Running the container: + +.. code-block:: bash + + # Run with eBPF capabilities + docker run --privileged --cap-add=ALL \ + -v /sys/kernel/debug:/sys/kernel/debug:rw \ + myapp-traced + +Singularity +----------- + +.. code-block:: bash + + # Build container with DataCrumbs + singularity build myapp.sif myapp.def + + # Run with tracing + singularity exec --writable-tmpfs myapp.sif \ + bash -c "source /opt/datacrumbs/bin/datacrumbs_setup && \ + datacrumbs_run --app './myapp'" + +Programming Language Integration +================================= + +Python +------ + +Trace Python scripts and their I/O: + +.. code-block:: bash + + # Track Python interpreter + datacrumbs_track --executable $(which python3) + + # Or wrap + datacrumbs_wrap python3 myscript.py + +C/C++ Applications +------------------ + +No special handling needed: + +.. code-block:: bash + + # Compile application + gcc -o myapp myapp.c + + # Track + datacrumbs_track --executable ./myapp + +Fortran +------- + +.. code-block:: bash + + # Compile + gfortran -o simulation simulation.f90 + + # Track + datacrumbs_track --executable ./simulation + +Java +---- + +Trace Java applications' native I/O: + +.. code-block:: bash + + # Wrap Java + datacrumbs_wrap java -jar myapp.jar + +Troubleshooting Integration +============================ + +Tracking Fails +-------------- + +.. code-block:: bash + + # Check if patchelf is installed + which patchelf + + # Install if missing + sudo dnf install patchelf # CentOS/Rocky + sudo apt install patchelf # Ubuntu + + # Verify executable is not static + file ./myapp # Should show "dynamically linked" + +LD_PRELOAD Not Working +---------------------- + +.. code-block:: bash + + # Verify library exists + ls -la $PREFIX/lib/libdatacrumbs_client.so + + # Check LD_LIBRARY_PATH + echo $LD_LIBRARY_PATH | grep datacrumbs + + # Add if missing + export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH + +No Traces Generated +------------------- + +.. code-block:: bash + + # Verify server is running + ps aux | grep datacrumbs + + # Check if application is instrumented + ldd ./myapp | grep datacrumbs + + # Verify trace directory + ls -la $DATACRUMBS_TRACE_DIR + + # Check logs + cat $DATACRUMBS_TRACE_DIR/datacrumbs.log + +Application Crashes After Tracking +----------------------------------- + +.. code-block:: bash + + # Untrack immediately + datacrumbs_untrack --executable ./myapp + + # Check for library conflicts + ldd ./myapp + + # Try LD_PRELOAD method instead + datacrumbs_wrap ./myapp + +Best Practices +============== + +1. **Test First**: Try LD_PRELOAD before permanent tracking +2. **Backup Binaries**: Always keep unmodified copies +3. **Document Tracked Binaries**: Maintain a list of tracked executables +4. **Use Version Control**: Track modified binaries separately +5. **Verify Integration**: Check with ``ldd`` after tracking +6. **Clean Up**: Untrack when no longer needed +7. **Monitor Overhead**: Ensure tracing doesn't impact performance significantly +8. **Use Wrapper for Scripts**: Shell scripts work best with wrapper mode +9. **Check Library Paths**: Ensure DataCrumbs libraries are accessible +10. **Test in Development**: Validate integration before production use + +Examples +======== + +Example 1: Track HDF5 Application +---------------------------------- + +.. code-block:: bash + + # Track the application + datacrumbs_track --executable ./hdf5_writer + + # Verify + ldd ./hdf5_writer | grep datacrumbs + + # Start server + sudo datacrumbs_server_run.sh + + # Run application (automatically traced) + ./hdf5_writer output.h5 + + # Stop server + sudo datacrumbs_server_stop.sh + + # View trace files (.pfw.gz format) + ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + +Example 2: Trace System Utility +-------------------------------- + +.. code-block:: bash + + # Cannot modify system binary, use wrap + sudo datacrumbs_server_run.sh + + # Wrap the system command + datacrumbs_wrap tar -czf backup.tar.gz /data + + # Stop server + sudo datacrumbs_server_stop.sh + + # View trace file + ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + +Example 3: Pipeline Integration +-------------------------------- + +.. code-block:: bash + + # Track all components + datacrumbs_track --executable ./preprocess + datacrumbs_track --executable ./compute + datacrumbs_track --executable ./postprocess + + # Start server + sudo datacrumbs_server_run.sh + + # Run pipeline + ./preprocess input.dat | ./compute | ./postprocess > output.dat + + # All three stages traced + sudo datacrumbs_server_stop.sh diff --git a/docs/introduction.rst b/docs/introduction.rst new file mode 100755 index 00000000..3e0cdc9d --- /dev/null +++ b/docs/introduction.rst @@ -0,0 +1,101 @@ +============ +Introduction +============ + +Overview +======== + +DataCrumbs is a comprehensive I/O profiling and tracing tool designed for high-performance computing (HPC) environments. It leverages eBPF (extended Berkeley Packet Filter) technology to provide low-overhead, real-time monitoring and analysis of application I/O behavior at scale. + +Key Features +============ + +Low-Overhead Profiling +---------------------- + +DataCrumbs uses eBPF to achieve minimal performance overhead while capturing detailed I/O traces. Unlike traditional profiling tools that may introduce significant overhead, DataCrumbs operates in kernel space, minimizing interference with application execution. + +Scalable Architecture +--------------------- + +Designed for large-scale HPC systems, DataCrumbs can efficiently trace I/O operations across distributed applications running on thousands of nodes. The tool supports multiple job schedulers including: + +* FLUX +* SLURM +* OpenMPI +* Standalone execution + +Multi-Layer Tracing +------------------- + +DataCrumbs captures I/O operations at multiple layers: + +* **System Calls**: Low-level I/O operations (open, read, write, close, etc.) +* **POSIX I/O**: Standard C library I/O functions +* **MPI-IO**: Parallel I/O operations in MPI applications +* **HDF5**: High-level I/O library operations +* **Custom Functions**: User-defined function tracing through configuration + +Flexible Deployment +------------------- + +DataCrumbs supports multiple deployment modes: + +1. **Server Mode**: Long-running server process for continuous monitoring +2. **Service Mode**: Systemd service integration for managed execution +3. **Wrapper Mode**: Direct application wrapping for single executions +4. **Composable Mode**: Custom probe configurations for specific use cases + +Real-Time Analysis +------------------ + +The tool provides: + +* DFTracer format output (``.pfw.gz``) for efficient trace storage and analysis +* Event aggregation and correlation across processes +* Trace compression for efficient storage +* Real-time event processing with ring buffers + +Use Cases +========= + +DataCrumbs is particularly useful for: + +* **Performance Analysis**: Understanding I/O bottlenecks in HPC applications +* **I/O Pattern Discovery**: Identifying access patterns and optimization opportunities +* **Debugging**: Tracing file access patterns to diagnose issues +* **System Monitoring**: Continuous monitoring of I/O behavior in production environments +* **Research**: Studying I/O characteristics of scientific applications + +Architecture +============ + +DataCrumbs consists of several key components: + +1. **eBPF Probes**: Kernel-space programs that capture events with minimal overhead +2. **Explorer**: Discovers available probes and functions in libraries +3. **Generator**: Creates custom eBPF programs based on configuration +4. **Server**: User-space daemon that collects and processes events +5. **Client Library**: Injected into applications for tracking +6. **Writer**: Formats and outputs trace data in DFTracer format (``.pfw.gz``) + +Target Applications +=================== + +DataCrumbs is designed for profiling: + +* MPI applications +* Parallel I/O workloads +* Scientific computing applications +* Data-intensive applications +* Any application using POSIX, HDF5, MPI-IO, or custom I/O libraries + +License +======= + +DataCrumbs is developed at Lawrence Livermore National Laboratory and released under an open-source license. See the LICENSE file in the repository for details. + +Citation +======== + +If you use DataCrumbs in your research, please cite the appropriate publication. See CITATION.cff in the repository for citation information. diff --git a/docs/run.rst b/docs/run.rst old mode 100644 new mode 100755 index e6b2a2b7..a39d934f --- a/docs/run.rst +++ b/docs/run.rst @@ -1,7 +1,14 @@ -Run Datacrumbs -============== +=============== +Running DataCrumbs +=============== -To run Datacrumbs tests, follow these instructions: +This guide describes how to run DataCrumbs tests and trace applications, including examples with IOR benchmarking. + +Basic Test Execution +==================== + +Running Tests with CTest +------------------------ 1. **Navigate to the build directory:** @@ -15,28 +22,343 @@ To run Datacrumbs tests, follow these instructions: ctest -N -3. **View arguments for the Datacrumbs start test which is Daemonize script:** +3. **View arguments for the DataCrumbs start test (Daemonize script):** .. code-block:: bash ctest -R datacrumbs_start -VV - This will show verbose output and the arguments used for the `datacrumbs_start` test. + This will show verbose output and the arguments used for the ``datacrumbs_start`` test. -4. **View arguments for the Datacrumbs run test which is sync script:** +4. **View arguments for the DataCrumbs run test (sync script):** .. code-block:: bash ctest -R datacrumbs_run -VV - This will show verbose output and the arguments used for the `datacrumbs_run` test. + This will show verbose output and the arguments used for the ``datacrumbs_run`` test. -Refer to your project's `ctest` configuration for additional test options. - -5. **Run the `test_simple_dd` test:** +5. **Run the ``test_simple_dd`` test:** .. code-block:: bash ctest -R test_simple_dd -VV - This will execute the `test_simple_dd` test with verbose output from the build directory. \ No newline at end of file + This will execute the ``test_simple_dd`` test with verbose output from the build directory. + +Running Applications with IOR +============================== + +IOR (Interleaved Or Random) is a parallel file system benchmarking tool commonly used in HPC environments. This section demonstrates how to install and run IOR with DataCrumbs tracing. + +Installing IOR +-------------- + +To install IOR, follow these steps: + +1. **Clone the IOR repository:** + + .. code-block:: bash + + git clone https://github.com/hpc/ior.git + cd ior + +2. **Build IOR:** + + .. code-block:: bash + + ./bootstrap + ./configure --prefix=$PREFIX + make -j + make install + +3. **(Optional) Install system-wide:** + + .. code-block:: bash + + sudo make install + +For more details, refer to the official IOR documentation: https://github.com/hpc/ior + +Running IOR Benchmarks +---------------------- + +**Basic IOR Test:** + +.. code-block:: bash + + # Run a simple IOR test + ior -a POSIX -b 1m -t 256k -s 16 -F + +This runs IOR with: +- POSIX I/O API +- 1MB block size +- 256KB transfer size +- 16 segments per task +- File-per-process mode + +**Parallel IOR with MPI:** + +.. code-block:: bash + + # Run IOR with MPI across multiple processes + mpirun -np 4 ior -a MPIIO -b 4m -t 1m -s 8 -o /scratch/testfile + +This runs IOR with: +- MPI-IO API +- 4 MPI processes +- 4MB block size +- 1MB transfer size +- 8 segments per task +- Output file at ``/scratch/testfile`` + +Tracing IOR with DataCrumbs +---------------------------- + +**Prerequisites**: Instrument IOR before tracing: + +.. code-block:: bash + + # Track IOR binary (one-time setup) + datacrumbs_track --executable $(which ior) + + # Or use wrap mode (no pre-tracking needed) + +**Method 1: Using datacrumbs_run (Synchronous)** + +.. code-block:: bash + + # Trace a single-node IOR run (if IOR is tracked) + datacrumbs_run --app-name ior-test -- ior -a POSIX -b 1m -t 256k -s 16 -F + + # Or with wrap mode + datacrumbs_run --app-name ior-test -- datacrumbs_wrap ior -a POSIX -b 1m -t 256k -s 16 -F + +**Method 2: Using datacrumbs_server (Daemon Mode)** + +.. code-block:: bash + + # Start DataCrumbs daemon + datacrumbs_server_run.sh + + # Run your IOR benchmark + mpirun -np 8 ior -a MPIIO -b 4m -t 1m -s 8 -o /scratch/testfile + + # Stop DataCrumbs daemon + datacrumbs_server_stop.sh + +**Method 3: Multi-node IOR with Flux** + +.. code-block:: bash + + # Using Flux scheduler for multi-node execution + flux run -N 4 -n 16 datacrumbs_run --app-name ior-multinode -- \ + ior -a MPIIO -b 8m -t 2m -s 16 -o /lustre/testfile + +**Method 4: Multi-node IOR with SLURM** + +.. code-block:: bash + + # Using SLURM scheduler for multi-node execution + srun -N 4 -n 16 datacrumbs_run --app-name ior-multinode -- \ + ior -a MPIIO -b 8m -t 2m -s 16 -o /lustre/testfile + +IOR Test Examples with DataCrumbs +---------------------------------- + +**Example 1: Write Performance Test** + +.. code-block:: bash + + # Test write performance with different block sizes + datacrumbs_run --app-name ior-write-1m -- ior -a POSIX -w -b 1m -t 256k -s 32 -F + datacrumbs_run --app-name ior-write-4m -- ior -a POSIX -w -b 4m -t 1m -s 32 -F + datacrumbs_run --app-name ior-write-16m -- ior -a POSIX -w -b 16m -t 4m -s 32 -F + +**Example 2: Read Performance Test** + +.. code-block:: bash + + # Test read performance (requires existing files from write test) + datacrumbs_run --app-name ior-read-1m -- ior -a POSIX -r -b 1m -t 256k -s 32 -F + +**Example 3: Collective I/O Test** + +.. code-block:: bash + + # Test MPI-IO collective operations + mpirun -np 4 datacrumbs_run --app-name ior-collective -- \ + ior -a MPIIO -b 4m -t 1m -s 16 -c -o /scratch/collective-test + +The ``-c`` flag enables collective I/O operations. + +**Example 4: Random I/O Test** + +.. code-block:: bash + + # Test random I/O patterns + datacrumbs_run --app-name ior-random -- \ + ior -a POSIX -b 1m -t 64k -s 64 -z -o /scratch/random-test + +The ``-z`` flag enables random I/O instead of sequential. + +**Example 5: Shared File Test** + +.. code-block:: bash + + # All processes access a single shared file + mpirun -np 8 datacrumbs_run --app-name ior-shared -- \ + ior -a MPIIO -b 2m -t 512k -s 16 -o /scratch/shared-file + +Without the ``-F`` flag, all processes use a single shared file. + +Analyzing IOR Traces +-------------------- + +After running IOR with DataCrumbs, analyze the generated traces: + +.. code-block:: bash + + # View trace files in DFTracer format (.pfw.gz) + ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + + # Example output: + # trace-root-12345-node01-docker.pfw.gz + # trace-haridev-67890-0-4-lead.pfw.gz (MPI rank 0) + # trace-haridev-67890-1-4-lead.pfw.gz (MPI rank 1) + +**Using DFTracer Utilities**: + +.. code-block:: bash + + # Install DFTracer utilities + pip install dftracer-utils + + # Merge traces from all MPI ranks + dftracer-merge --input "trace-*-67890-*.pfw.gz" --output ior-merged.pfw.gz + + # Get I/O statistics + dftracer-stats --input ior-merged.pfw.gz + + # Split large trace for easier handling + dftracer-split --input ior-merged.pfw.gz --output-dir ior-traces/ + +**Documentation**: https://dftracer.readthedocs.io/en/latest/bash_utilities.html + +**Using DFAnalyzer for Detailed Analysis**: + +.. code-block:: bash + + # Install DFAnalyzer + pip install dfanalyzer + + # Generate comprehensive report + dfanalyzer analyze --input ior-merged.pfw.gz --output ior-report.html + + # Interactive analysis session + dfanalyzer interactive --input ior-merged.pfw.gz + +**Documentation**: https://dftracer.readthedocs.io/projects/analyzer/en/latest/getting-started.html#usage + +**Trace Format**: DFTracer format - see https://dftracer.readthedocs.io/en/latest/trace_format.html + +For DataCrumbs-specific Jupyter notebook examples, refer to the ``analysis/`` directory in the repository. + +Advanced Configuration +====================== + +Trace and Log Directory Configuration +-------------------------------------- + +**Trace Directory** (Administrator Only): + +The trace directory is configured by the system administrator during installation and **cannot be changed by users at runtime**. + +.. code-block:: bash + + # Administrator sets trace directory at build time: + # cmake -DDATACRUMBS_CONFIGURED_TRACE_DIR=/scratch/traces .. + # + # Or via project YAML configuration: + # trace_dir: /lustre/traces + # trace_dir_pattern: /scratch/traces/%YY%/%MM%/%DD% + +**Log Directory**: + +Log directory may be configurable depending on administrator settings: + +.. code-block:: bash + + # If enabled by administrator, users can set log directory + export DATACRUMBS_CONFIGURED_LOG_DIR=/scratch/logs + datacrumbs_run --app-name myapp -- ./myapp + +Filtering Traced Paths +----------------------- + +**Administrator Configuration Only** + +Path filtering must be configured at build time by the system administrator: + +.. code-block:: bash + + # Administrator configures path filtering at build time + cmake -DDATACRUMBS_INCLUSION_PATH=/scratch/data .. + make install + + # After installation, only I/O to /scratch/data will be traced + datacrumbs_run --app-name filtered-app -- ./myapp + +.. note:: + Users cannot change the inclusion path at runtime. This must be set during installation. + +Troubleshooting +=============== + +Permission Issues +----------------- + +If you encounter permission errors: + +.. code-block:: bash + + # Ensure eBPF capabilities (datacrumbs binary is in sbin) + sudo setcap cap_sys_admin,cap_bpf,cap_perfmon+ep $PREFIX/sbin/datacrumbs + + # Or run with sudo + sudo -E datacrumbs_run --app-name myapp -- ./myapp + +Missing Traces +-------------- + +If traces are not generated: + +.. code-block:: bash + + # Check if DataCrumbs is running + ps aux | grep datacrumbs + + # Check logs (default is /tmp unless configured otherwise) + cat /tmp/datacrumbs*.log + # Or if you know your configured log directory: + # cat ${DATACRUMBS_CONFIGURED_LOG_DIR}/datacrumbs*.log + + # Verify trace directory permissions (default is /tmp) + ls -ld /tmp/*trace* 2>/dev/null || echo "No trace files found" + +Performance Impact +------------------ + +To reduce tracing overhead: + +.. code-block:: bash + + # Use profiling mode instead of full tracing + cmake -DDATACRUMBS_MODE_STR=PROFILE .. + make install + + # Skip small events + cmake -DDATACRUMBS_SKIP_SMALL_EVENTS_THRESHOLD_NS=10000 .. + make install + +For more information on running DataCrumbs in production environments, see the :doc:`usage` section. \ No newline at end of file diff --git a/docs/setup.rst b/docs/setup.rst new file mode 100755 index 00000000..9dad8442 --- /dev/null +++ b/docs/setup.rst @@ -0,0 +1,1551 @@ +==================== +Environment Setup +==================== + +After building and installing DataCrumbs, you need to set up your environment to use the tools. + +Setup Script Overview +===================== + +DataCrumbs provides a ``datacrumbs_setup`` script that configures the environment for running tracing sessions. + +Basic Setup +=========== + +Source the setup script to configure your environment: + +.. code-block:: bash + + # If using environment modules + module use /path/to/install/etc/datacrumbs/modulefiles + module load datacrumbs/ + + # Or source directly + source /path/to/install/bin/datacrumbs_setup + +What Setup Does +=============== + +The setup script: + +1. **Detects User Context**: Determines if running as root or regular user +2. **Loads Configuration**: Reads project and host-specific YAML configuration +3. **Sets Environment Variables**: Configures paths and runtime parameters +4. **Configures Resource Limits**: Sets appropriate ulimits for eBPF operations +5. **Creates Aliases**: Provides convenient command shortcuts +6. **Loads Module (optional)**: Integrates with environment modules if available + +Environment Variables Set +========================= + +After sourcing the setup script, the following variables are available: + +.. list-table:: Global Configuration Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_VERSION`` + - DataCrumbs version number (e.g., ``0.0.4``) + * - ``DATACRUMBS_LIB_VERSION`` + - Library version number (e.g., ``1.0.0``) + +.. list-table:: Installation Path Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_INSTALL_HOST`` + - Hostname where DataCrumbs is installed + * - ``DATACRUMBS_INSTALL_USER`` + - User who installed DataCrumbs + * - ``DATACRUMBS_INSTALL_PREFIX`` + - Installation prefix directory (e.g., ``/opt/datacrumbs``) + * - ``DATACRUMBS_INSTALL_BIN_DIR`` + - Directory for user command binaries + * - ``DATACRUMBS_INSTALL_SBIN_DIR`` + - Directory for system/admin binaries + * - ``DATACRUMBS_INSTALL_LIB_DIR`` + - Directory for shared libraries + * - ``DATACRUMBS_INSTALL_LIBEXEC_DIR`` + - Directory for internal executables and eBPF objects + * - ``DATACRUMBS_INSTALL_ETC_DIR`` + - Directory for configuration files + +.. list-table:: Client Configuration Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_CLIENT_LIB`` + - Path to the client library (``libdatacrumbs_client.so``) + * - ``DATACRUMBS_CLIENT_BIN`` + - Directory for user-specific client binaries + +.. list-table:: Trace Configuration Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_TRACE_DIR`` + - Directory for trace files. Supports date patterns: ``%YY%`` (year), ``%MM%`` (month), ``%DD%`` (day) + * - ``DATACRUMBS_TRACE_DIR_PATTERN`` + - Pattern template for trace directory (e.g., ``/scratch/traces/%YY%/%MM%/%DD%``) + +.. list-table:: Job Scheduler Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_JOB_SCHEDULER`` + - Active job scheduler (``FLUX``, ``SLURM``, ``OPENMPI``, etc.) + * - ``DATACRUMBS_JOB_RUN`` + - Command to run jobs (e.g., ``flux run``, ``srun``) + * - ``DATACRUMBS_JOB_NODE_FLAG`` + - Flag for specifying number of nodes (e.g., ``-N``) + * - ``DATACRUMBS_JOB_PPN_FLAG`` + - Flag for specifying processes per node (e.g., ``-n``) + * - ``DATACRUMBS_JOB_ID_VAR`` + - Environment variable containing job ID (e.g., ``FLUX_JOB_ID``, ``SLURM_JOB_ID``) + +.. list-table:: Server Configuration Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_SERVER_LOAD_TIMEOUT`` + - Timeout in seconds for server to load eBPF programs (default: ``600``) + * - ``DATACRUMBS_SERVER_RUN_DIR`` + - Directory for server runtime files (PID files, lock files) + * - ``DATACRUMBS_SERVER_RUN_ID`` + - Unique identifier for the current tracing session + * - ``DATACRUMBS_SERVER_MODULE`` + - Flag for module system integration (``0`` or ``1``) + +.. list-table:: Log Configuration Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_LOG_DIR`` + - Directory for log files (e.g., ``/var/log/datacrumbs``) + +.. list-table:: Runtime Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_USER`` + - Current user running DataCrumbs (auto-detected or from ``$USER``) + * - ``DATACRUMBS_IS_ROOT`` + - Flag indicating if running as root (``1``) or regular user (``0``) + +.. list-table:: System Path Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``PATH`` + - Updated to include ``$PREFIX/bin`` (user commands) and ``$PREFIX/sbin`` (admin commands) + * - ``LD_LIBRARY_PATH`` + - Updated to include ``$PREFIX/lib`` (DataCrumbs libraries) and dependency library paths + +.. list-table:: Module System Variables + :header-rows: 1 + :widths: 30 70 + + * - Variable + - Description + * - ``DATACRUMBS_MODULE_AVAILABLE`` + - Set to ``1`` if environment modules are available, ``0`` otherwise + * - ``DATACRUMBS_ENV_LOADED`` + - Set to ``1`` after successful setup to prevent re-initialization + +Using Environment Modules +========================== + +DataCrumbs integrates with environment modules (Lmod/TCL modules) for easy environment management. + +Module File Location +-------------------- + +The module file is installed at: + +.. code-block:: text + + /etc/datacrumbs/modulefiles/datacrumbs/.lua + +Loading the Module +------------------ + +.. code-block:: bash + + # Add module path + module use /path/to/install/etc/datacrumbs/modulefiles + + # Load DataCrumbs module + module load datacrumbs/0.0.4 + + # Verify loaded + module list + +The module automatically: + +- Adds binaries to ``PATH`` +- Adds libraries to ``LD_LIBRARY_PATH`` +- Sources ``datacrumbs_setup`` +- Sets up command aliases + +Module Information +------------------ + +View module details: + +.. code-block:: bash + + # Show module information + module show datacrumbs/0.0.4 + + # Show help text + module help datacrumbs/0.0.4 + +Unloading the Module +-------------------- + +.. code-block:: bash + + module unload datacrumbs + +Available Command Aliases +========================== + +After setup, the following aliases are available: + +Tracking Commands +----------------- + +``datacrumbs_track`` +^^^^^^^^^^^^^^^^^^^^ + +Permanently instrument a binary for tracing. + +.. code-block:: bash + + datacrumbs_track --executable /path/to/myapp + +``datacrumbs_untrack`` +^^^^^^^^^^^^^^^^^^^^^^ + +Remove DataCrumbs instrumentation from a binary. + +.. code-block:: bash + + datacrumbs_untrack --executable /path/to/myapp + +Execution Commands +------------------ + +``datacrumbs_run`` +^^^^^^^^^^^^^^^^^^ + +Run an application with DataCrumbs tracing. + +.. code-block:: bash + + datacrumbs_run --app "myapp arg1 arg2" + +``datacrumbs_compose_run`` +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Run using a custom composable configuration. + +.. code-block:: bash + + datacrumbs_compose_run --composite-name myconfig + +Server Management +----------------- + +``datacrumbs_stop`` +^^^^^^^^^^^^^^^^^^^ + +Stop the DataCrumbs server (requires sudo). + +.. code-block:: bash + + datacrumbs_stop + +``datacrumbs_compose`` +^^^^^^^^^^^^^^^^^^^^^^ + +Manage composable configurations (requires sudo). + +.. code-block:: bash + + sudo datacrumbs_compose --action discover + +Utility Commands +---------------- + +``datacrumbs_wrap`` +^^^^^^^^^^^^^^^^^^^ + +Run a command with LD_PRELOAD-based tracing (requires sudo). + +.. code-block:: bash + + datacrumbs_wrap myapp arg1 arg2 + +``datacrumbs_create_log_dir`` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Create date-based log directory structure. + +.. code-block:: bash + + datacrumbs_create_log_dir + +Configuration Files +=================== + +DataCrumbs uses YAML configuration files to define tracing behavior. + +Project Configuration +--------------------- + +**Location**: ``/etc/datacrumbs/configs/project.yaml`` + +Contains project-wide settings including paths, scheduler configuration, and server parameters. + +Example: + +.. code-block:: yaml + + version: 0.0.4 + lib_version: 1.0.0 + install: + host: myhostname + user: myuser + prefix: /opt/datacrumbs + bin_dir: ${DATACRUMBS_INSTALL_PREFIX}/bin + sbin_dir: ${DATACRUMBS_INSTALL_PREFIX}/sbin + lib_dir: ${DATACRUMBS_INSTALL_PREFIX}/lib + client: + lib: ${DATACRUMBS_INSTALL_LIB_DIR}/libdatacrumbs_client.so + bin: ${DATACRUMBS_INSTALL_LIBEXEC_DIR}/sbin/${DATACRUMBS_USER} + trace: + dir_pattern: /scratch/traces/%YY%/%MM%/%DD% + job: + scheduler: FLUX + run: flux run + node_flag: -N + ppn_flag: -n + id_var: FLUX_JOB_ID + server: + load_timeout: 600 + run_dir: /var/run/datacrumbs + module: 0 + log: + dir: /var/log/datacrumbs + +.. _host-configuration: + +Host Configuration +------------------ + +**Location**: ``/etc/datacrumbs/configs/.yaml`` + +Contains host-specific settings for probe configurations and capture rules. This file **must exist** for the hostname specified during build (``DATACRUMBS_HOST``). + +.. important:: + The host configuration file is required for DataCrumbs to build successfully. Copy and modify an existing configuration file (e.g., ``lead.yaml``, ``docker.yaml``) or create a new one based on the examples in ``etc/datacrumbs/configs/``. + +Capture Probes Configuration +============================= + +The ``capture_probes`` section defines which functions, system calls, or events DataCrumbs should trace. Each capture probe specifies what to monitor and how to discover traceable functions. + +Capture probes use different mechanisms to discover and attach to functions. The capture type determines how symbols are discovered, while the probe type determines how they are instrumented at runtime. + +Common Fields +------------- + +All capture probe types share these base fields inherited from the ``CaptureProbe`` class: + +.. list-table:: + :header-rows: 1 + :widths: 20 15 65 + + * - Field + - Required + - Description + * - ``name`` + - Yes + - Unique identifier for this probe set + * - ``probe`` + - Yes + - Runtime probe mechanism: ``syscalls``, ``kprobe``, ``uprobe``, ``usdt``, or ``custom`` + * - ``type`` + - Yes + - Symbol discovery method: ``header``, ``binary``, ``ksym``, ``usdt``, or ``custom`` + * - ``regex`` + - Optional + - Regular expression to filter discovered function names (default: ``.*`` matches all) + * - ``enable_explorer`` + - Optional + - Enable/disable probe discovery at build time (default: ``true``) + +Capture Types Overview +---------------------- + +.. list-table:: + :header-rows: 1 + :widths: 20 30 50 + + * - Capture Type + - Discovery Method + - Compatible Probe Types + * - ``ksym`` + - Kernel symbol table (``/proc/kallsyms``) + - ``kprobe`` only + * - ``header`` + - Parse C header files with Clang + - ``syscalls``, ``kprobe``, ``uprobe`` + * - ``binary`` + - Parse ELF binary symbols + - ``kprobe`` (kernel modules), ``uprobe`` (user binaries) + * - ``usdt`` + - DTRACE probes in binaries + - ``usdt`` only + * - ``custom`` + - User-defined plugin interface + - ``custom`` (can use any underlying mechanism) + +Kernel Symbol Capture (ksym) +----------------------------- + +**Capture Type**: ``ksym`` | **Compatible Probes**: ``kprobe`` + +**Class**: ``KernelCaptureProbe`` + +Discovers kernel functions from the compiled kernel symbol table at ``/proc/kallsyms``. This method queries the running kernel for available functions with type 'T' (global) or 't' (local). + +**Required Fields**: + +.. list-table:: + :header-rows: 1 + :widths: 20 80 + + * - Field + - Description + * - ``name`` + - Identifier for the probe set + * - ``probe`` + - Must be ``kprobe`` + * - ``type`` + - Must be ``ksym`` + * - ``regex`` + - Pattern to match kernel symbol names from ``/proc/kallsyms`` + +**Advantages**: +* Discovers only functions available in the running kernel +* No need for kernel source or headers +* Fast symbol lookup + +**Example - XFS Filesystem Functions**: + +.. code-block:: yaml + + - name: xfs + probe: kprobe + type: ksym + regex: ^xfs(?!.*cold).* + +**Example - IOMAP Functions**: + +.. code-block:: yaml + + - name: iomap + probe: kprobe + type: ksym + regex: ^iomap(?!.*cold).* + +**Example - All VFS Functions**: + +.. code-block:: yaml + + - name: vfs + probe: kprobe + type: ksym + regex: ^vfs_.* + +Header File Capture +-------------------- + +**Capture Type**: ``header`` | **Compatible Probes**: ``syscalls``, ``kprobe``, ``uprobe`` + +**Class**: ``HeaderCaptureProbe`` + +Parses C header files using Clang to discover function declarations. This method extracts function signatures from header files without requiring compiled binaries. + +**Required Fields**: + +.. list-table:: + :header-rows: 1 + :widths: 20 80 + + * - Field + - Description + * - ``name`` + - Identifier for the probe set + * - ``probe`` + - ``syscalls``, ``kprobe``, or ``uprobe`` + * - ``type`` + - Must be ``header`` + * - ``file`` + - Path to C header file + * - ``regex`` + - Optional pattern to filter function names + * - ``enable_explorer`` + - Optional: Disable if header parsing is slow (default: ``true``) + +**Advantages**: +* Works without compiled binaries +* Extracts complete function signatures +* Useful for system calls and kernel headers + +Use Case: System Calls +^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: yaml + + - name: sys + probe: syscalls + type: header + file: @DATACRUMBS_KERNEL_HEADERS_PATH@/include/linux/syscalls.h + regex: sys_.* + +Use Case: Kernel Page Cache +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: yaml + + - name: os_page_cache + probe: kprobe + type: header + file: @DATACRUMBS_KERNEL_HEADERS_PATH@/include/linux/pagemap.h + +Use Case: Kernel Functions (Alternative to ksym) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: yaml + + - name: kernel_fs + probe: kprobe + type: header + file: @DATACRUMBS_KERNEL_HEADERS_PATH@/include/linux/fs.h + regex: (inode|dentry)_.* + +Binary Symbol Capture +---------------------- + +**Capture Type**: ``binary`` | **Compatible Probes**: ``kprobe`` (kernel modules), ``uprobe`` (user binaries) + +**Class**: ``BinaryCaptureProbe`` + +Extracts symbols from compiled ELF binaries using symbol table parsing. Works for both kernel modules (.ko) and user-space binaries/libraries. + +**Required Fields**: + +.. list-table:: + :header-rows: 1 + :widths: 20 80 + + * - Field + - Description + * - ``name`` + - Identifier for the probe set + * - ``probe`` + - ``kprobe`` (for .ko files) or ``uprobe`` (for binaries/libraries) + * - ``type`` + - Must be ``binary`` + * - ``file`` + - Path to binary, shared library, or kernel module + * - ``regex`` + - Pattern to filter symbol names (recommended to exclude compiler-generated names) + * - ``include_offsets`` + - Optional: Include function offsets in output (default: ``false``) + +**Advantages**: +* No source code or headers needed +* Works with any ELF binary +* Discovers actual available functions + +Use Case: Kernel Modules (kprobe) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Example - Lustre Filesystem Module**: + +.. code-block:: yaml + + - name: lustre + probe: kprobe + type: binary + file: /usr/lib/modules/5.14.0/weak-updates/lustre/fs/lustre.ko + regex: (?!.*__)(?!.*:)(?!.*constprop)(?!.*isra).* + +**Regex Explanation**: Excludes compiler-generated names: +* ``(?!.*__)`` - Exclude functions with double underscores +* ``(?!.*:)`` - Exclude namespaced symbols +* ``(?!.*constprop)`` - Exclude const propagation variants +* ``(?!.*isra)`` - Exclude interprocedural scalar replacement variants + +**Example - Lustre OSC Module**: + +.. code-block:: yaml + + - name: osc + probe: kprobe + type: binary + file: /usr/lib/modules/5.14.0/weak-updates/lustre/fs/osc.ko + regex: (?!.*__)(?!.*:)(?!.*constprop)(?!.*isra).* + +Use Case: User-Space Libraries (uprobe) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Example - Standard C Library**: + +.. code-block:: yaml + + - name: libc + probe: uprobe + type: binary + file: @DATACRUMBS_LIBC_SO@ + regex: .*(open|close|read|write|fork).* + +**Example - MPI Library**: + +.. code-block:: yaml + + - name: mpi + probe: uprobe + type: binary + file: /opt/openmpi/lib/libmpi.so + regex: MPI_File_.* + +**Example - HDF5 Library**: + +.. code-block:: yaml + + - name: hdf5 + probe: uprobe + type: binary + file: /usr/lib64/libhdf5.so.200 + regex: H5[FD].* + +Use Case: Application Binaries (uprobe) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Example - IOR Benchmark**: + +.. code-block:: yaml + + - name: ior + probe: uprobe + type: binary + file: /home/user/software/ior/bin/ior + regex: .* + +USDT Capture +------------ + +**Capture Type**: ``usdt`` | **Compatible Probes**: ``usdt`` + +**Class**: ``USDTCaptureProbe`` + +Discovers User-level Statically Defined Tracing (USDT) probes using the DTRACE mechanism. USDT probes are embedded in applications and libraries for tracing, commonly used in interpreted languages like Python. + +**Required Fields**: + +.. list-table:: + :header-rows: 1 + :widths: 20 80 + + * - Field + - Description + * - ``name`` + - Identifier for the probe set + * - ``probe`` + - Must be ``usdt`` + * - ``type`` + - Must be ``usdt`` + * - ``binary_path`` + - Path to binary containing USDT probes + * - ``provider`` + - USDT provider name (namespace for probes) + * - ``regex`` + - Optional pattern to filter probe names + +**Advantages**: +* Low overhead for interpreted languages +* Standardized tracing interface +* Application-specific semantic probes + +**Currently Supported**: Python + +**Example - Python USDT Probes**: + +.. code-block:: yaml + + - name: python + probe: usdt + type: usdt + binary_path: /lib64/libpython3.6m.so.1.0 + provider: python + +**Example - Python GC Probes**: + +.. code-block:: yaml + + - name: python_gc + probe: usdt + type: usdt + binary_path: /lib64/libpython3.6m.so.1.0 + provider: python + regex: gc.* + +Custom Capture +-------------- + +**Capture Type**: ``custom`` | **Compatible Probes**: ``custom`` + +**Class**: ``CustomCaptureProbe`` + +Provides a plugin interface for user-defined probe discovery, function mapping, and event processing. Custom probes can work with any underlying probe mechanism (kprobe, uprobe, etc.) but with complete control over probe logic. + +**Required Fields**: + +.. list-table:: + :header-rows: 1 + :widths: 20 80 + + * - Field + - Description + * - ``name`` + - Identifier for the custom probe + * - ``probe`` + - Must be ``custom`` + * - ``type`` + - Must be ``custom`` + * - ``file`` + - Path to custom BPF source file (.bpf.c) with probe implementations + * - ``probes`` + - Path to JSON file defining probe points and function mappings + * - ``process_header`` + - Path to C header file with event processing functions + * - ``start_event_id`` + - Starting event ID for this probe set (must be unique, typically 100000+) + * - ``event_type`` + - Event classification: ``1`` (duration events), ``2`` (instant events) + +**Advantages**: +* Complete control over probe behavior +* Custom event processing logic +* Can combine multiple probe types +* Plugin architecture for extensibility + +**Use Cases**: +* Complex multi-probe workflows +* Custom data collection beyond function tracing +* Specialized performance analysis +* Domain-specific instrumentation + +**Example - Custom System I/O Probe**: + +.. code-block:: yaml + + - name: custom1 + start_event_id: 100000 + probe: custom + type: custom + file: /opt/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c + probes: /opt/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/probes.json + process_header: /opt/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h + event_type: 2 + +**Plugin Structure**: + +* **BPF file** (``file``): Contains eBPF programs with probe logic +* **Probes JSON** (``probes``): Defines which functions to attach to and their metadata +* **Process header** (``process_header``): C header with functions to process events in user-space + +CMake Variable Substitution +============================ + +Configuration files support CMake variable substitution at build time: + +.. list-table:: + :header-rows: 1 + :widths: 40 60 + + * - Variable + - Expands To + * - ``@DATACRUMBS_PROJECT_PATH@`` + - Build directory path + * - ``@DATACRUMBS_LIBC_SO@`` + - Detected libc library path + * - ``@DATACRUMBS_KERNEL_HEADERS_PATH@`` + - Kernel headers directory + * - ``@DATACRUMBS_KERNEL_UNAME_R@`` + - Kernel release version + +**Example Using Variables**: + +.. code-block:: yaml + + - name: libc + probe: uprobe + type: binary + file: @DATACRUMBS_LIBC_SO@ + regex: .*(open|close|read|write).* + + - name: page_cache + probe: kprobe + type: header + file: @DATACRUMBS_KERNEL_HEADERS_PATH@/include/linux/pagemap.h + +Choosing the Right Capture Type +================================ + +.. list-table:: + :header-rows: 1 + :widths: 20 40 40 + + * - Capture Type + - When to Use + - Limitations + * - **ksym** + - Kernel functions only; fast discovery; no headers needed + - Linux kernel only; no source information + * - **header** + - Have header files; need function signatures; build-time discovery + - Requires header files; slower parsing + * - **binary** + - Have compiled binary; no source; runtime symbol discovery + - No function signatures; binary must have symbols + * - **usdt** + - Tracing interpreted languages; application-specific probes + - Limited language support (Python) + * - **custom** + - Complex instrumentation; custom logic; plugin development + - Requires custom BPF programming + +Complete Configuration Examples +================================ + +Available example configurations in ``etc/datacrumbs/configs/``: + +.. list-table:: + :header-rows: 1 + :widths: 25 75 + + * - File + - Description + * - ``lead.yaml`` + - Full HPC cluster: custom probes, syscalls, Lustre modules, MPI, kernel symbols + * - ``docker.yaml`` + - Container environment: custom probes, libc uprobe, Python USDT, kernel headers + * - ``corona.yaml`` + - LLNL Corona system with comprehensive instrumentation + * - ``tuolumne.yaml`` + - LLNL Tuolumne system focused on MPI-IO workflows + * - ``hdf.yaml`` + - HDF5-focused configuration for scientific applications + +Data Files +========== + +DataCrumbs generates and maintains several data files during build and runtime to manage probe discovery, validation, and event mapping. These files use the naming pattern ``--.`` where: + +* ```` - Hostname from project configuration +* ```` - Install user from project configuration + +File Locations +-------------- + +All data files are stored in: ``/etc/datacrumbs/data/`` + +Probe Discovery Files +--------------------- + +probes-HOST-USER.json +^^^^^^^^^^^^^^^^^^^^^ + +**Generated**: Build time (explorer phase) + +**Purpose**: Master list of discovered probe points organized by capture probe configuration + +Contains all functions discovered by the explorer during the build process. Each entry represents a complete capture probe configuration with its discovered functions. + +**Structure**: Array of capture probe objects, where each object contains: + +* ``type`` - Probe type (0=syscalls, 1=kprobe, 2=uprobe, 3=usdt, 4=custom) +* ``name`` - Capture probe name from configuration +* ``functions`` - Array of discovered function names +* Additional fields specific to probe type (binary_path, provider, bpf_path, etc.) + +**Example Entry (uprobe)**: + +.. code-block:: json + + { + "type": 2, + "name": "libc", + "functions": ["__GI___fork", "__GI___register_atfork", "__GI___vfork"], + "binary_path": "/usr/lib64/libc.so.6", + "function_offsets": ["0xf96b8", "0x841c0", "0x73458"] + } + +**Example Entry (kprobe)**: + +.. code-block:: json + + { + "type": 1, + "name": "xfs", + "functions": ["xfs_file_read_iter", "xfs_file_write_iter", "xfs_file_open"] + } + +**Example Entry (custom)**: + +.. code-block:: json + + { + "type": 4, + "name": "custom1", + "functions": ["openat", "read", "write", "close"], + "bpf_path": "/opt/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio.bpf.c", + "start_event_id": 100000, + "process_header": "/opt/datacrumbs/etc/datacrumbs/plugins/custom_probes/sys_io/sysio_process.h", + "event_type": 2 + } + +probes-exclusion-HOST-USER.json +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Managed by**: User (manual editing) + +**Purpose**: User-defined probe exclusion list + +Contains exclusion lists for each capture probe. Only three fields are used: ``type``, ``name``, and ``functions``. All other fields (binary_path, bpf_path, etc.) are ignored. + +**Structure**: Array of objects with required fields: + +* ``type`` - Probe type (must match capture probe type) +* ``name`` - Capture probe name (must match configuration) +* ``functions`` - Array of function names to exclude + +**Example**: + +.. code-block:: json + + [ + { + "type": 0, + "name": "sys", + "functions": ["bdflush", "fork", "ioctl", "ni_syscall"] + }, + { + "type": 2, + "name": "libc", + "functions": ["fnmatch@@GLIBC_2.2.5", "sysctl@GLIBC_2.2.5"] + }, + { + "type": 1, + "name": "xfs", + "functions": ["xfs_buf_cold", "xfs_attr_check_namespace"] + } + ] + +**Use Cases**: +* Exclude functions that cause issues or crashes +* Reduce probe count for performance +* Filter out noisy or irrelevant functions +* Avoid versioned symbols that may not exist on all systems + +**Note**: The exclusion file may contain additional fields from copying the probes file, but only ``type``, ``name``, and ``functions`` are processed during probe discovery. + +categories-HOST-USER.json +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Generated**: Build time (generator phase) + +**Purpose**: Event ID to probe information mapping + +Maps unique event IDs to their corresponding capture probe categories and function names. This is the key lookup table for trace analysis, generated during the same phase as eBPF object compilation. + +**Structure**: Object with event IDs as keys, each mapping to probe metadata + +**Example Structure**: + +.. code-block:: json + + { + "1000": { + "probe_name": "libc", + "function_name": "__GI___fork" + }, + "1010": { + "probe_name": "os_page_cache", + "function_name": "add_to_page_cache_lru" + }, + "100000": { + "probe_name": "custom1", + "function_name": "openat" + } + } + +**Event ID Ranges**: +* **1000-99999**: Standard probes (kprobe, uprobe, syscalls, usdt) +* **100000+**: Custom probes (user-defined via ``start_event_id``) + +This mapping enables: +* Event ID → Function name resolution during trace analysis +* Category grouping for aggregated analysis +* Human-readable trace output + +manual-probes-HOST-USER.json +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Generated**: Build time (generator phase) + +**Purpose**: Probes that cannot be compiled into the eBPF object files + +Contains probes discovered during the generator phase that cannot be statically compiled into eBPF objects. These require runtime resolution and attachment. + +**Structure**: Array of capture probe objects (same as probes file) + +**Common Cases**: +* **Multi-offset symbols**: Functions with multiple addresses due to compiler optimizations or inlining +* **Dynamic libraries**: Symbols only available when library is loaded at runtime +* **Runtime-specific paths**: Kernel modules loaded after boot +* **Unresolvable symbols**: Functions that exist but cannot be compiled into static eBPF programs + +**Example Entry (multiple offsets)**: + +.. code-block:: json + + [ + { + "type": 2, + "name": "ior", + "functions": ["2060", "2061"], + "binary_path": "/home/user/software/ior/bin/ior", + "include_offsets": false + } + ] + +**Note**: The numbers in the ``functions`` array are **event IDs** that correspond to entries in ``categories-HOST-USER.json``. These event IDs reference the actual function names and metadata. These probes are attached dynamically when the DataCrumbs server starts. + +probes-invalid-HOST-USER.json +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Generated**: Runtime (by ``datacrumbs_validator``) + +**Purpose**: Validated probe blacklist - tracks probes that failed validation + +Maintains the same structure as other probe files but lists functions deemed invalid during validation. + +**Structure**: Array of capture probe objects with invalid function lists + +Probes are marked invalid when: +* Attachment fails during validation +* Probe causes system instability +* Symbol no longer exists in current kernel/binary +* Function signature incompatible with tracing + +**Example**: + +.. code-block:: json + + [ + { + "type": 1, + "name": "lustre", + "functions": ["ll_dom_readpage", "lustre_exit", "lustre_init"] + }, + { + "type": 1, + "name": "os_page_cache", + "functions": ["page_cache_sync_readahead"] + } + ] + +Run ``datacrumbs_validator`` after system updates or configuration changes to refresh this list. + +Key Artifacts for Analysis +--------------------------- + +The two most important files for understanding your current tracing configuration: + +.. list-table:: + :header-rows: 1 + :widths: 40 60 + + * - File + - Purpose + * - ``probes-HOST-USER.json`` + - Complete list of active probes organized by capture probe name with all discovered functions + * - ``categories-HOST-USER.json`` + - Event ID → (probe name, function name) mapping for decoding trace events + +**Workflow Integration**: + +1. **Build time - Explorer phase**: Generates ``probes-*.json`` from capture_probes config +2. **User customization**: Edit ``probes-exclusion-*.json`` to exclude unwanted probes +3. **Build time - Generator phase**: Creates ``categories-*.json`` (event ID mappings) and ``manual-probes-*.json`` (probes that cannot be compiled) +4. **Runtime - Validation**: Failed probes recorded in ``probes-invalid-*.json`` by validator +5. **Runtime - Server startup**: Manual probes from step 3 are dynamically attached using event IDs from categories file +6. **Analysis**: Use ``categories-*.json`` to decode event IDs in trace files + +File Management +--------------- + +**Regenerating Data Files**: + +.. code-block:: bash + + # Rebuild to regenerate probes and categories + cd build && make install + +**Viewing Active Probes by Category**: + +.. code-block:: bash + + # Show probe counts per capture probe + jq -r '.[] | "\(.name): \(.functions | length) functions"' \ + /opt/datacrumbs/etc/datacrumbs/data/probes-*.json + +**Checking Event ID Assignments**: + +.. code-block:: bash + + # View event ID mappings + jq '.' /opt/datacrumbs/etc/datacrumbs/data/categories-*.json + +**Finding Specific Function's Event ID**: + +.. code-block:: bash + + # Search for function in categories + jq -r 'to_entries[] | select(.value.function_name=="xfs_file_read_iter") | + "Event ID: \(.key), Probe: \(.value.probe_name)"' \ + /opt/datacrumbs/etc/datacrumbs/data/categories-*.json + +Output Files +============ + +DataCrumbs generates trace and log files during runtime. Understanding the naming conventions and formats is essential for trace analysis. + +Trace Files +----------- + +**Format**: DFTracer format (``.pfw.gz``) + +**Documentation**: https://dftracer.readthedocs.io/en/latest/trace_format.html + +Trace files are compressed binary files containing timestamped events captured by eBPF probes. Each trace file represents the activity of a single process or MPI rank. + +**Naming Convention**: + +The trace file naming convention depends on whether MPI is enabled: + +**Without MPI** (``--disable-mpi``): + +.. code-block:: text + + trace----.pfw.gz + +**Example**: + +.. code-block:: text + + trace-root-12345-node01-docker.pfw.gz + +**With MPI**: + +.. code-block:: text + + trace-----.pfw.gz + +**Example**: + +.. code-block:: text + + trace-haridev-67890-0-4-lead.pfw.gz + trace-haridev-67890-1-4-lead.pfw.gz + trace-haridev-67890-2-4-lead.pfw.gz + trace-haridev-67890-3-4-lead.pfw.gz + +**Filename Components**: + +.. list-table:: + :header-rows: 1 + :widths: 20 80 + + * - Component + - Description + * - ```` + - Runtime user (from ``DATACRUMBS_USER`` or ``--user``) + * - ```` + - Unique run identifier (from ``--run_id`` argument) + * - ```` + - System hostname (non-MPI mode only) + * - ```` + - MPI process rank (0 to N-1, MPI mode only) + * - ```` + - Total number of MPI processes (MPI mode only) + * - ```` + - Configuration name from command line (e.g., ``lead``, ``docker``) + +**Location**: + +Trace files are written to the directory specified by ``DATACRUMBS_TRACE_DIR`` (or ``--trace_log_dir`` argument). + +**Default**: ``/var/log/datacrumbs`` or configured ``trace_log_dir`` from YAML. + +**Analysis**: + +Trace files can be analyzed using **DFTracer tools**: + +**DFTracer Utilities** - Trace manipulation and statistics: + +.. code-block:: bash + + pip install dftracer-utils + dftracer-stats --input trace-*.pfw.gz + dftracer-merge --input "trace-*-67890-*.pfw.gz" --output merged.pfw.gz + dftracer-split --input merged.pfw.gz --output-dir split-traces/ + +**Documentation**: https://dftracer.readthedocs.io/en/latest/bash_utilities.html + +**DFAnalyzer** - Comprehensive analysis: + +.. code-block:: bash + + pip install dfanalyzer + dfanalyzer analyze --input trace-*.pfw.gz --output report.html + dfanalyzer interactive --input trace-*.pfw.gz + +**Documentation**: https://dftracer.readthedocs.io/projects/analyzer/en/latest/getting-started.html#usage + +The DFTracer format includes: + +* Event timestamps (nanosecond precision) +* Event IDs (mapped via ``categories-*.json``) +* Process/thread information +* Function entry/exit pairs (for duration events) +* Custom event data (for instant events) + +Log Files +--------- + +**Format**: Plain text (``.log``) + +Log files contain human-readable diagnostic and debugging information from the DataCrumbs server and client components. + +**Naming Convention**: + +.. code-block:: text + + datacrumbs--.log + +**Example**: + +.. code-block:: text + + datacrumbs-server-20250122-143052.log + datacrumbs-client-20250122-143105.log + +**Location**: + +Log files are written to the directory specified by ``DATACRUMBS_LOG_DIR`` (or ``--log_dir`` argument). + +**Default**: Current working directory or configured ``log_dir``. + +**Log Levels**: + +* ``ERROR``: Critical errors requiring attention +* ``WARN``: Warnings about potential issues +* ``INFO``: General information about execution +* ``DEBUG``: Detailed debugging information +* ``TRACE``: Fine-grained execution traces + +**Viewing Logs**: + +.. code-block:: bash + + # View recent server logs + tail -f /var/log/datacrumbs/datacrumbs-server-*.log + + # Search for errors + grep ERROR /var/log/datacrumbs/*.log + + # Filter by component + grep "\[ConfigurationManager\]" /var/log/datacrumbs/*.log + +Output Management +----------------- + +**Disk Space Considerations**: + +* Trace files can grow large in high-frequency tracing scenarios +* Compression (``.gz``) reduces file size by ~10x +* Plan storage capacity based on trace duration and probe count + +**Cleanup**: + +.. code-block:: bash + + # Remove old traces (older than 7 days) + find $DATACRUMBS_TRACE_DIR -name "trace-*.pfw.gz" -mtime +7 -delete + + # Archive traces before cleanup + tar czf traces-archive-$(date +%Y%m%d).tar.gz $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + +**Aggregating MPI Traces**: + +For MPI applications, use DFTracer utilities to merge traces from all ranks: + +.. code-block:: bash + + # Install DFTracer utilities + pip install dftracer-utils + + # Merge all ranks for a specific run + dftracer-merge --input "$DATACRUMBS_TRACE_DIR/trace-*-67890-*.pfw.gz" \ + --output "$DATACRUMBS_TRACE_DIR/merged-67890.pfw.gz" + + # Split large merged trace if needed + dftracer-split --input "$DATACRUMBS_TRACE_DIR/merged-67890.pfw.gz" \ + --output-dir "$DATACRUMBS_TRACE_DIR/split-67890/" + + # Analyze merged trace + pip install dfanalyzer + dfanalyzer analyze --input "$DATACRUMBS_TRACE_DIR/merged-67890.pfw.gz" \ + --output "$DATACRUMBS_TRACE_DIR/report-67890.html" + +**Documentation**: + +* DFTracer utilities: https://dftracer.readthedocs.io/en/latest/bash_utilities.html +* DFAnalyzer: https://dftracer.readthedocs.io/projects/analyzer/en/latest/getting-started.html#usage + +Resource Limits +=============== + +DataCrumbs automatically configures system resource limits for optimal eBPF operation: + +File Descriptors +---------------- + +.. code-block:: bash + + # Automatically set to maximum + ulimit -n $(ulimit -H -n) + +eBPF requires many file descriptors for maps, programs, and ring buffers. + +Locked Memory +------------- + +.. code-block:: bash + + # Automatically set to maximum + ulimit -l $(ulimit -H -l) + +eBPF maps and ring buffers use locked memory that cannot be swapped. + +Manual Adjustment +----------------- + +If automatic limits are insufficient: + +.. code-block:: bash + + # Increase hard limits (requires root) + sudo bash -c "echo '* hard nofile 1048576' >> /etc/security/limits.conf" + sudo bash -c "echo '* soft nofile 1048576' >> /etc/security/limits.conf" + + # For current session + ulimit -n 1048576 + ulimit -l unlimited + +Directory Structure After Setup +================================ + +DataCrumbs creates the following directory structure: + +.. code-block:: text + + / + ├── bin/ # User commands + │ ├── datacrumbs_setup + │ ├── datacrumbs_run + │ ├── datacrumbs_track + │ ├── datacrumbs_untrack + │ ├── datacrumbs_wrap + │ └── ... + ├── sbin/ # Admin commands + │ ├── datacrumbs # Main server binary + │ ├── datacrumbs_server_run.sh + │ ├── datacrumbs_server_stop.sh + │ ├── datacrumbs_service_run.sh + │ ├── datacrumbs_service_stop.sh + │ └── ... + ├── lib/ # Libraries + │ ├── libdatacrumbs_client.so + │ ├── libdatacrumbs_obj.so + │ └── ... + ├── libexec/ # Internal components + │ └── datacrumbs/ + │ ├── objects/ # eBPF object files + │ └── composable/ # Composable configurations + └── etc/ + └── datacrumbs/ + ├── configs/ # YAML configuration files + ├── data/ # Probe metadata + ├── modulefiles/ # Environment module files + ├── systemd/ # Systemd service files + └── flux/ # Flux plugin files + +Verification +============ + +Verify your setup is correct: + +.. code-block:: bash + + # Check environment variables + echo $DATACRUMBS_USER + echo $DATACRUMBS_TRACE_DIR + echo $PATH | grep datacrumbs + + # Check resource limits + ulimit -n + ulimit -l + + # Check available commands + which datacrumbs_run + which datacrumbs_track + + # Test validator + datacrumbs_validator + +Multiple User Setup +=================== + +For shared installations where multiple users will use DataCrumbs: + +Build Configuration +------------------- + +.. code-block:: bash + + # Build with shared install user + cmake -DCMAKE_INSTALL_PREFIX=/opt/datacrumbs \ + -DDATACRUMBS_INSTALL_USER=shared \ + .. + +Each User Setup +--------------- + +.. code-block:: bash + + # Each user loads the module + module use /opt/datacrumbs/etc/datacrumbs/modulefiles + module load datacrumbs/0.0.4 + + # User-specific trace directory + export DATACRUMBS_TRACE_DIR=/scratch/$USER/traces + +Per-User Configuration +---------------------- + +Users can override some default settings: + +.. code-block:: bash + + # Custom log directory (if administrator enabled this) + export DATACRUMBS_CONFIGURED_LOG_DIR=/custom/logs + +.. note:: + **Trace directory cannot be overridden at runtime**. The trace directory (``DATACRUMBS_TRACE_DIR``) is set by the administrator during installation via the ``trace_dir`` or ``trace_dir_pattern`` configuration in the project YAML file. Users cannot change this location. + +Troubleshooting +=============== + +Setup Script Not Found +----------------------- + +.. code-block:: bash + + # Verify installation + ls /path/to/install/bin/datacrumbs_setup + + # Check PATH + export PATH=/path/to/install/bin:$PATH + +Permission Issues +----------------- + +.. code-block:: bash + + # Ensure directories are accessible + ls -la $DATACRUMBS_TRACE_DIR + ls -la $DATACRUMBS_SERVER_RUN_DIR + + # Create if needed + mkdir -p $DATACRUMBS_TRACE_DIR + mkdir -p $DATACRUMBS_SERVER_RUN_DIR + +Module Not Found +---------------- + +.. code-block:: bash + + # Verify module path + module use /path/to/install/etc/datacrumbs/modulefiles + + # List available modules + module avail datacrumbs + +Resource Limit Errors +--------------------- + +.. code-block:: bash + + # Check current limits + ulimit -a + + # Increase if needed (as root) + sudo pam_limits.so + +Configuration File Errors +------------------------- + +.. code-block:: bash + + # Verify configuration files exist + ls $PREFIX/etc/datacrumbs/configs/ + + # Check YAML syntax + python3 -c "import yaml; yaml.safe_load(open('config.yaml'))" diff --git a/docs/tuo.rst b/docs/tuo.rst deleted file mode 100644 index 58a8c31e..00000000 --- a/docs/tuo.rst +++ /dev/null @@ -1,20 +0,0 @@ - -1. Modules to be loaded - - .. code-block:: bash - - module load gcc/11.2.0 - export CC=`which gcc` - export CXX=`which g++` - -2. BPF Time configuration for Tuo - - .. code-block:: bash - - export BPFTIME_SHM_MEMORY_MB=10240 - export BPFTIME_MAX_FD_COUNT=128000 - bpftime --install-location $PREFIX/lib load /usr/workspace/haridev/datacrumbs/build/bin/datacrumbs "run" "tuolumne-mpiio" "--user" "haridev" "--config_path" "/usr/workspace/haridev/datacrumbs/etc/datacrumbs/configs" "--data_dir" "/usr/workspace/haridev/datacrumbs/etc/datacrumbs/data" "--trace_log_dir" "/usr/workspace/haridev/datacrumbs/etc/datacrumbs/logs" - add-auto-load-safe-path /opt/cray/pe/gcc/11.2.0/snos/lib64/libstdc++.so.6.0.29-gdb.py - set follow-fork-mode child - set detach-on-fork off - set print-frame-arguments all \ No newline at end of file diff --git a/docs/usage.rst b/docs/usage.rst new file mode 100755 index 00000000..b9e986dd --- /dev/null +++ b/docs/usage.rst @@ -0,0 +1,832 @@ +================= +Using DataCrumbs +================= + +DataCrumbs provides multiple modes of operation for tracing applications. This guide covers all usage patterns. + +Quick Start +=========== + +**Recommended: Use Binary Tracking** + +Applications should be instrumented using ``datacrumbs_track`` (recommended) or ``datacrumbs_wrap``: + +.. code-block:: bash + + # Source setup + source /path/to/install/bin/datacrumbs_setup + + # Recommended: Track the application (permanent instrumentation) + datacrumbs_track --executable ./myapp + datacrumbs_run --app "./myapp arg1 arg2" + + # Alternative: Wrap the application (runtime instrumentation) + datacrumbs_run --app "datacrumbs_wrap ./myapp arg1 arg2" + +This automatically: + +1. Starts the DataCrumbs server +2. Runs your instrumented application with tracing enabled +3. Stops the server and collects traces + +.. note:: + **Tracked applications work normally when DataCrumbs is not running** - they simply won't capture trace data. When the DataCrumbs server is running, data is automatically captured. When it's not running, the application executes normally with no tracing overhead. + +Common Script Options +===================== + +All DataCrumbs scripts support the following options: + +.. list-table:: Common Script Options + :header-rows: 1 + :widths: 20 80 + + * - Option + - Description + * - ``--verbose`` + - Enable detailed output for debugging and monitoring + * - ``--quiet`` + - Suppress informational messages (errors still shown) + * - ``--dry-run`` + - Show what would be executed without actually running commands + +Example usage: + +.. code-block:: bash + + # Verbose mode to see detailed operations + datacrumbs_run --verbose --app "./myapp" + + # Quiet mode for automated scripts + datacrumbs_run --quiet --app "./batch_job" + + # Dry-run to preview actions + datacrumbs_track --dry-run --executable ./myapp + + # Combine options + datacrumbs_compose --action discover --verbose + +Usage Modes +=========== + +DataCrumbs supports three primary usage modes: + +1. **Wrapper Mode** (``datacrumbs_run``): Easiest - wraps application execution +2. **Server Mode** (``datacrumbs_server_run.sh``): Long-running server for multiple sessions +3. **Service Mode** (``datacrumbs_service_run.sh``): Systemd service integration + +Wrapper Mode +============ + +Use ``datacrumbs_run`` for single application tracing sessions. + +Basic Usage +----------- + +.. code-block:: bash + + datacrumbs_run --app "command args" + +Example: Trace a Simple Program +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + # Trace dd command + datacrumbs_run --app "dd if=/dev/zero of=/tmp/test.dat bs=1M count=100" + + # Trace Python script + datacrumbs_run --app "python3 myanalysis.py" + + # Trace with complex arguments + datacrumbs_run --app "tar -czf backup.tar.gz /data/important" + +MPI Applications +---------------- + +For MPI applications, specify node and process configuration. The MPI launcher (e.g., ``mpirun``, ``srun``, ``flux run``) is configured in the project YAML and automatically used by DataCrumbs. + +.. code-block:: bash + + datacrumbs_run --app "./mpiapp input.dat" --enable_mpi --nodes 4 --ppn 8 + +**Options:** + +- ``--enable_mpi``: Enable MPI mode +- ``--nodes N``: Number of nodes to use +- ``--ppn N``: Processes per node + +.. note:: + Do not include the MPI launcher (``mpirun``, ``srun``, etc.) in the ``--app`` command. DataCrumbs automatically uses the launcher configured in ``project.yaml`` (``job.run`` setting). + +Example: MPI Application +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + # Run 32 processes (4 nodes × 8 processes/node) + datacrumbs_run --app "./myapp" --enable_mpi --nodes 4 --ppn 8 + + # With arguments + datacrumbs_run --app "./simulation input.dat" --enable_mpi --nodes 2 --ppn 16 + +Command Reference: datacrumbs_run +---------------------------------- + +**Synopsis:** + +.. code-block:: bash + + datacrumbs_run --app "COMMAND" [OPTIONS] + +**Required Arguments:** + +``--app "COMMAND"`` + Application command with arguments (quoted) + +**Optional Arguments:** + +``--enable_mpi`` + Enable MPI support (default: disabled) + +``--nodes N`` + Number of nodes for MPI execution (default: 1) + +``--ppn N`` + Processes per node for MPI execution (default: 1) + +**Examples:** + +.. code-block:: bash + + # Single process + datacrumbs_run --app "./myapp input.txt" + + # MPI with 16 processes on 2 nodes + datacrumbs_run --app "./parallel_app" --enable_mpi --nodes 2 --ppn 8 + + # Complex command with pipes and redirection + datacrumbs_run --app "cat largefile.dat | ./process > output.txt" + +Output Location +--------------- + +**Trace Files** (DFTracer format): + +Traces are saved to ``$DATACRUMBS_TRACE_DIR`` with naming based on MPI mode: + +.. code-block:: bash + + # Without MPI: + $DATACRUMBS_TRACE_DIR/trace----.pfw.gz + + # With MPI: + $DATACRUMBS_TRACE_DIR/trace-----.pfw.gz + +**Example filenames**: + +.. code-block:: text + + trace-root-12345-node01-docker.pfw.gz # Non-MPI mode + trace-haridev-67890-0-4-lead.pfw.gz # MPI rank 0 of 4 + trace-haridev-67890-3-4-lead.pfw.gz # MPI rank 3 of 4 + +**Log Files**: + +Logs are saved to ``$DATACRUMBS_LOG_DIR``: + +.. code-block:: bash + + $DATACRUMBS_LOG_DIR/datacrumbs-server-.log + $DATACRUMBS_LOG_DIR/datacrumbs-client-.log + +See :doc:`setup` Output Files section for detailed format information. + +Server Mode +=========== + +Use server mode when you want to run multiple tracing sessions without restarting the server. + +**Prerequisites**: Applications must be instrumented before the server can trace them. + +Starting the Server +------------------- + +.. code-block:: bash + + sudo datacrumbs_server_run.sh + +The server: + +- Runs in the background +- Listens for traced applications +- Collects events from all traced processes +- Writes traces continuously to ``.pfw.gz`` files + +Starting with Composable Configuration +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: bash + + sudo datacrumbs_server_run.sh --composite-name myconfig + +Instrumenting Applications +-------------------------- + +**Before** running the server, instrument your applications: + +.. code-block:: bash + + # Method 1: Track binary (permanent modification) + datacrumbs_track --executable ./myapp + + # Method 2: Use wrap script (runtime injection) + # No pre-tracking needed for wrap mode + +Running Applications +-------------------- + +With the server running and applications instrumented: + +.. code-block:: bash + + # Run tracked binary + ./myapp + + # Or use wrap mode + datacrumbs_wrap ./otherapp arg1 arg2 + +Stopping the Server +------------------- + +.. code-block:: bash + + sudo datacrumbs_server_stop.sh + +This: + +- Stops the eBPF programs +- Flushes remaining events +- Closes trace files +- Cleans up resources + +Command Reference: datacrumbs_server_run.sh +------------------------------------------- + +**Synopsis:** + +.. code-block:: bash + + sudo datacrumbs_server_run.sh [OPTIONS] + +**Optional Arguments:** + +``--composite-name NAME`` + Use custom composable configuration (default: standard configuration) + +``--enable-mpi`` + Enable MPI support + +``--nodes N`` + Number of nodes (default: 1) + +``--ppn N`` + Processes per node (default: 1) + +**Examples:** + +.. code-block:: bash + + # Start standard server + sudo datacrumbs_server_run.sh + + # Start with custom configuration + sudo datacrumbs_server_run.sh --composite-name hdf5_only + + # Start for MPI environment + sudo datacrumbs_server_run.sh --enable-mpi --nodes 4 --ppn 16 + +Command Reference: datacrumbs_server_stop.sh +-------------------------------------------- + +**Synopsis:** + +.. code-block:: bash + + sudo datacrumbs_server_stop.sh [OPTIONS] + +**Optional Arguments:** + +``--composite-name NAME`` + Stop server for specific composable configuration + +**Examples:** + +.. code-block:: bash + + # Stop standard server + sudo datacrumbs_server_stop.sh + + # Stop specific composable server + sudo datacrumbs_server_stop.sh --composite-name hdf5_only + +Service Mode (Systemd) +======================= + +Service mode integrates DataCrumbs with systemd for managed, persistent tracing. + +Service Installation +-------------------- + +The systemd service file is installed at: + +.. code-block:: text + + /etc/datacrumbs/systemd/datacrumbs@.service + +Starting the Service +-------------------- + +.. code-block:: bash + + # Enable and start service for current user + sudo systemctl enable datacrumbs@$USER.service + sudo systemctl start datacrumbs@$USER.service + +The service: + +- Starts automatically at boot +- Restarts on failure +- Logs to systemd journal +- Runs with appropriate privileges + +Using Service Scripts +^^^^^^^^^^^^^^^^^^^^^ + +Alternatively, use the provided scripts: + +.. code-block:: bash + + # Start service + sudo datacrumbs_service_run.sh + + # Stop service + sudo datacrumbs_service_stop.sh + +Checking Service Status +----------------------- + +.. code-block:: bash + + # Check status + sudo systemctl status datacrumbs@$USER.service + + # View logs + sudo journalctl -u datacrumbs@$USER.service -f + + # Check if running + ps aux | grep datacrumbs + +Stopping the Service +-------------------- + +.. code-block:: bash + + # Stop service + sudo systemctl stop datacrumbs@$USER.service + + # Disable automatic startup + sudo systemctl disable datacrumbs@$USER.service + + # Or use script + sudo datacrumbs_service_stop.sh + +Command Reference: datacrumbs_service_run.sh +-------------------------------------------- + +**Synopsis:** + +.. code-block:: bash + + sudo datacrumbs_service_run.sh + +**Description:** + +Starts DataCrumbs as a systemd service. The service is automatically enabled and started. + +**Prerequisites:** + +- Root or sudo access +- Systemd service file installed +- Environment configured via ``datacrumbs_setup`` + +Command Reference: datacrumbs_service_stop.sh +--------------------------------------------- + +**Synopsis:** + +.. code-block:: bash + + sudo datacrumbs_service_stop.sh + +**Description:** + +Stops the DataCrumbs systemd service. + +Composable Mode +=============== + +Composable mode allows using custom-built DataCrumbs configurations for specialized tracing scenarios. + +Creating a Composable Configuration +------------------------------------ + +.. code-block:: bash + + # Discover available probes + sudo datacrumbs_compose --action discover + + # Build custom configuration + sudo datacrumbs_compose --action build --name myconfig + +Running with Composable +------------------------ + +.. code-block:: bash + + # Using run wrapper + datacrumbs_compose_run --composite-name myconfig + + # Or start server with composable + sudo datacrumbs_server_run.sh --composite-name myconfig + +Command Reference: datacrumbs_compose +------------------------------------- + +**Synopsis:** + +.. code-block:: bash + + sudo datacrumbs_compose --action ACTION [OPTIONS] + +**Arguments:** + +``--action ACTION`` + Action to perform: ``discover``, ``build``, ``clean`` + +``--name NAME`` + Name for the composable configuration + +**Examples:** + +.. code-block:: bash + + # Discover available probes + sudo datacrumbs_compose --action discover + + # Build custom config + sudo datacrumbs_compose --action build --name hdf5_posix + + # Clean composable builds + sudo datacrumbs_compose --action clean + +Advanced Usage +============== + +Filtering by Path +----------------- + +**Administrator Configuration Only** + +Path filtering must be configured by the system administrator at build time and cannot be changed by users at runtime. + +.. code-block:: bash + + # Administrator sets inclusion path at build time: + # cmake -DDATACRUMBS_INCLUSION_PATH=/scratch/data .. + # make install + # + # Or via project YAML configuration: + # inclusion_path: /scratch/data + +Once configured, only I/O operations on files under the specified path (e.g., ``/scratch/data``) will be traced. + +.. note:: + Users cannot change the inclusion path at runtime. Contact your system administrator to modify path filtering. + +Multi-Node Tracing +------------------ + +For distributed tracing across multiple nodes: + +.. code-block:: bash + + # Start server on each node (via scheduler) + srun -N 4 sudo datacrumbs_server_run.sh --enable-mpi --nodes 4 + + # Run application + srun -N 4 -n 32 ./mpi_app + + # Stop servers + srun -N 4 sudo datacrumbs_server_stop.sh + +Traces are collected independently on each node. + +Integration with Job Schedulers +================================ + +SLURM +----- + +.. code-block:: bash + + #!/bin/bash + #SBATCH -N 4 + #SBATCH -n 32 + #SBATCH -t 1:00:00 + + # Load DataCrumbs + module load datacrumbs/0.0.4 + + # Run with tracing + datacrumbs_run --app "./myapp" --enable_mpi --nodes 4 --ppn 8 + +FLUX +---- + +.. code-block:: bash + + #!/bin/bash + + # Load DataCrumbs + module load datacrumbs/0.0.4 + + # Submit job with tracing + flux run -N 4 -n 32 datacrumbs_run --app "./myapp" --enable_mpi + +OpenMPI (Standalone) +-------------------- + +.. code-block:: bash + + # Load DataCrumbs and MPI + module load datacrumbs/0.0.4 + module load openmpi + + # Run with tracing (MPI launcher configured in project.yaml) + datacrumbs_run --app "./myapp" --enable_mpi --nodes 4 --ppn 8 + +Trace Analysis +============== + +Viewing Traces +-------------- + +DataCrumbs outputs traces in **DFTracer format** (``.pfw.gz`` compressed files): + +.. code-block:: bash + + # Find your traces + ls $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + + # Example output: + # trace-root-12345-node01-docker.pfw.gz + # trace-haridev-67890-0-4-lead.pfw.gz + +**Format**: DFTracer format - see https://dftracer.readthedocs.io/en/latest/trace_format.html + +The trace includes: + +- Timestamped events (nanosecond precision) +- Event IDs (mapped via ``categories-*.json``) +- Function entry/exit pairs +- Process/thread/rank information +- File access patterns + +Analyzing Traces with DFTracer Tools +------------------------------------- + +**DFTracer Utilities** + +Use DFTracer utilities for trace manipulation and inspection: + +.. code-block:: bash + + # Install DFTracer utilities + pip install dftracer-utils + + # Get trace statistics + dftracer-stats --input trace-*.pfw.gz + + # Merge multiple trace files (e.g., from MPI ranks) + dftracer-merge --input "trace-*-67890-*.pfw.gz" --output merged-trace.pfw.gz + + # Split large trace files + dftracer-split --input merged-trace.pfw.gz --output-dir split-traces/ + +**Documentation**: https://dftracer.readthedocs.io/en/latest/bash_utilities.html + +**DFAnalyzer - Comprehensive Analysis** + +For detailed analysis, use DFAnalyzer: + +.. code-block:: bash + + # Install DFAnalyzer + pip install dfanalyzer + + # Generate analysis report + dfanalyzer analyze --input trace-*.pfw.gz --output report.html + + # Interactive analysis + dfanalyzer interactive --input trace-*.pfw.gz + + # Export to CSV for custom analysis + dfanalyzer export --input trace-*.pfw.gz --format csv --output trace-data.csv + +**Documentation**: https://dftracer.readthedocs.io/projects/analyzer/en/latest/getting-started.html#usage + +Custom Analysis Scripts +----------------------- + +DataCrumbs also includes Jupyter notebooks for custom analysis: + +.. code-block:: bash + + # Navigate to analysis directory + cd $DATACRUMBS_INSTALL/share/datacrumbs/analysis + + # Install dependencies + pip install -r requirements.txt + + # Run analysis notebook + jupyter notebook analysis.ipynb + +Troubleshooting +=============== + +Permission Denied Errors +------------------------ + +.. code-block:: bash + + # Ensure sudo for server operations + sudo datacrumbs_server_run.sh + + # Check ulimits + ulimit -n + ulimit -l + + # Increase if needed + ulimit -n 1048576 + ulimit -l unlimited + +Server Won't Start +------------------ + +.. code-block:: bash + + # Check if already running + ps aux | grep datacrumbs + + # Check logs + cat $DATACRUMBS_TRACE_DIR/datacrumbs.log + + # Verify eBPF support + ls /sys/kernel/btf/vmlinux + + # Check for port conflicts + sudo lsof -i -P -n | grep datacrumbs + +No Traces Generated +------------------- + +.. code-block:: bash + + # Verify server is running + ps aux | grep datacrumbs + + # Check trace directory exists + ls -la $DATACRUMBS_TRACE_DIR + + # Verify application is instrumented + ldd ./myapp | grep datacrumbs + + # Check logs for errors + tail -f $DATACRUMBS_TRACE_DIR/datacrumbs.log + +High Overhead +------------- + +.. code-block:: bash + + # Reduce traced events + export DATACRUMBS_SKIP_SMALL_EVENTS_THRESHOLD_NS=10000 + + # Use profiling mode instead of tracing + # (Administrator must rebuild with -DDATACRUMBS_MODE_STR=PROFILE) + + # Path filtering (Administrator only - set at build time) + # Contact your administrator to enable path filtering + +Missing Events +-------------- + +.. code-block:: bash + + # Increase ring buffer size + # (Rebuild with -DDATACRUMBS_TRACE_RINGBUF_SIZE_MB=64) + + # Check for event drops + grep "dropped" $DATACRUMBS_TRACE_DIR/datacrumbs.log + +Best Practices +============== + +1. **Use binary tracking** (``datacrumbs_track``) - recommended for most use cases; apps run normally when DataCrumbs is not active +2. **Use wrapper mode** (``datacrumbs_run``) for simplicity and automatic server management +3. **Use server mode** for multiple short-running applications +4. **Use service mode** for continuous, production monitoring +5. **Path filtering** (administrator only) - contact your admin to enable filtering by specific paths +6. **Increase ring buffer** for high-throughput I/O applications +7. **Check logs** regularly for warnings or errors +8. **Clean old traces** periodically to free disk space +9. **Test on small workloads** before production runs +10. **Use composables** for specialized tracing needs +11. **Monitor overhead** and adjust thresholds as needed + +Examples +======== + +Example 1: Trace HDF5 Application +---------------------------------- + +.. code-block:: bash + + # Load environment + module load datacrumbs/0.0.4 + module load hdf5 + + # Run with tracing + datacrumbs_run --app "./hdf5_writer dataset.h5" + + # View trace files (.pfw.gz format) + ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + +Example 2: Trace MPI-IO Application +------------------------------------ + +.. code-block:: bash + + # Load modules + module load datacrumbs/0.0.4 + module load openmpi + + # Run MPI application with tracing (64 processes on 4 nodes) + datacrumbs_run --app "./parallel_io" \ + --enable_mpi --nodes 4 --ppn 16 + + # View traces from all ranks (64 .pfw.gz files, one per rank) + ls -lh $DATACRUMBS_TRACE_DIR/trace-*-*-64-*.pfw.gz + +Example 3: Long-Running Server +------------------------------- + +.. code-block:: bash + + # Start server + sudo datacrumbs_server_run.sh + + # Track multiple applications + datacrumbs_track --executable ./app1 + datacrumbs_track --executable ./app2 + + # Run applications (they're automatically traced) + ./app1 & + ./app2 & + + # Wait for completion + wait + + # Stop server + sudo datacrumbs_server_stop.sh + + # View collected traces + ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz + +Example 4: Filtered Tracing +---------------------------- + +**Prerequisite**: Administrator must have configured path filtering at build time. + +.. code-block:: bash + + # If administrator configured filtering for /scratch filesystem: + # cmake -DDATACRUMBS_INCLUSION_PATH=/scratch .. + + # Run application - only /scratch I/O will be traced + datacrumbs_run --app "./mixed_io" + + # Only /scratch I/O operations are in the trace + # View the generated trace file + ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz From 02762d83b3cfc8bdfdfd00821a9425e4ed567b92 Mon Sep 17 00:00:00 2001 From: Hariharan Date: Fri, 28 Nov 2025 23:16:36 -0800 Subject: [PATCH 11/12] Enhance DataCrumbs scripts by adding server start/stop functionality and improving argument handling --- infrastructure/docker/build-multiarch.sh | 41 +++++++++++- scripts/datacrumbs/datacrumbs_compose_run.in | 65 +++++++++++--------- scripts/datacrumbs/datacrumbs_run.in | 46 +++++++++----- scripts/datacrumbs/datacrumbs_setup.in | 32 +++++----- 4 files changed, 120 insertions(+), 64 deletions(-) diff --git a/infrastructure/docker/build-multiarch.sh b/infrastructure/docker/build-multiarch.sh index 97b418dc..dd1bb2c5 100755 --- a/infrastructure/docker/build-multiarch.sh +++ b/infrastructure/docker/build-multiarch.sh @@ -16,6 +16,7 @@ PLATFORMS="${PLATFORMS:-linux/amd64,linux/arm64}" # Parse command line arguments PUSH=false LOAD=false +RUN=false print_usage() { echo "Usage: $0 [OPTIONS]" @@ -23,6 +24,7 @@ print_usage() { echo "Options:" echo " --push Push the built images to the registry" echo " --load Load the image into local Docker (only works for single platform)" + echo " --run Run the container after loading (implies --load)" echo " --platform ARCH Comma-separated list of platforms (default: linux/amd64,linux/arm64)" echo " --tag TAG Image tag (default: latest)" echo " --name NAME Image name (default: datacrumbs)" @@ -33,6 +35,7 @@ print_usage() { echo "Examples:" echo " $0 --push # Build and push multi-arch images" echo " $0 --load --platform linux/amd64 # Build and load amd64 only" + echo " $0 --run --platform linux/amd64 # Build, load and run container" echo " $0 --push --tag v1.0.0 --name myimage # Custom tag and name" } @@ -46,6 +49,11 @@ while [[ $# -gt 0 ]]; do LOAD=true shift ;; + --run) + RUN=true + LOAD=true + shift + ;; --platform) PLATFORMS="$2" shift 2 @@ -173,8 +181,37 @@ if [ $? -eq 0 ]; then elif [ "$LOAD" = true ]; then echo "" echo "Image has been loaded into local Docker." - echo "You can run it with:" - echo " docker run -it ${FULL_IMAGE_NAME}" + + if [ "$RUN" = true ]; then + echo "" + echo "Starting container with workspace mounted at /opt/datacrumbs..." + docker run -ti --privileged --cap-add sys_admin --cap-add sys_ptrace \ + --net=host --pid=host --hostname docker \ + -v /lib/modules/:/lib/modules:ro \ + -v /sys/kernel/debug/:/sys/kernel/debug:rw \ + -v /sys/fs/bpf:/sys/fs/bpf \ + -v "$(pwd):/opt/datacrumbs" -w /opt/datacrumbs \ + ${FULL_IMAGE_NAME} + else + echo "" + echo "To run with current workspace mounted (replaces built version in container):" + echo " docker run -ti --privileged --cap-add sys_admin --cap-add sys_ptrace \\" + echo " --net=host --pid=host --hostname docker \\" + echo " -v /lib/modules/:/lib/modules:ro \\" + echo " -v /sys/kernel/debug/:/sys/kernel/debug:rw \\" + echo " -v /sys/fs/bpf:/sys/fs/bpf \\" + echo " -v \"\$(pwd):/opt/datacrumbs\" -w /opt/datacrumbs \\" + echo " ${FULL_IMAGE_NAME}" + echo "" + echo "To run with workspace mounted at /workspace (keeps built version):" + echo " docker run -ti --privileged --cap-add sys_admin --cap-add sys_ptrace \\" + echo " --net=host --pid=host --hostname docker \\" + echo " -v /lib/modules/:/lib/modules:ro \\" + echo " -v /sys/kernel/debug/:/sys/kernel/debug:rw \\" + echo " -v /sys/fs/bpf:/sys/fs/bpf \\" + echo " -v \"\$(pwd):/workspace\" -w /workspace \\" + echo " ${FULL_IMAGE_NAME}" + fi fi else echo "" diff --git a/scripts/datacrumbs/datacrumbs_compose_run.in b/scripts/datacrumbs/datacrumbs_compose_run.in index 5bd85574..57f2d2e8 100755 --- a/scripts/datacrumbs/datacrumbs_compose_run.in +++ b/scripts/datacrumbs/datacrumbs_compose_run.in @@ -50,50 +50,57 @@ if [[ -z "${DATACRUMBS_COMPOSE_RUN_APP}" ]]; then exit 1 fi -if ! validate_datacrumbs_composite_name "${DATACRUMBS_COMPOSABLE_NAME}"; then - error "Invalid composable name: ${DATACRUMBS_COMPOSABLE_NAME}" - exit 1 -fi - # Convert APP_CMD string into array, splitting on spaces read -ra APP_CMD <<< "${DATACRUMBS_COMPOSE_RUN_APP}" # Load environment source "$SCRIPT_DIR/datacrumbs_setup" +if ! validate_datacrumbs_composite_name "${DATACRUMBS_COMPOSABLE_NAME}"; then + error "Invalid composable name: ${DATACRUMBS_COMPOSABLE_NAME}" + exit 1 +fi + check_regular_user log "Running cmd: ${APP_CMD[*]} as USER = $DATACRUMBS_USER using composable $DATACRUMBS_COMPOSABLE_NAME" -if [[ -z "$DRY_RUN" ]]; then - datacrumbs_init "$DATACRUMBS_USER" "$DATACRUMBS_TRACE_DIR" +# Build args to pass to server scripts +server_args=() +if [[ -n "${DATACRUMBS_COMPOSABLE_NAME}" && "${DATACRUMBS_COMPOSABLE_NAME}" != "NONE" ]]; then + server_args+=("--composite-name" "${DATACRUMBS_COMPOSABLE_NAME}") +fi +if [[ "${DATACRUMBS_JOB_ENABLE_MPI}" == "1" ]]; then + server_args+=("--enable-mpi") + server_args+=("--nodes" "${DATACRUMBS_JOB_NODES}") + server_args+=("--ppn" "${DATACRUMBS_JOB_PPN}") +fi +if [[ "${VERBOSE:-0}" == "1" ]]; then + server_args+=("--verbose") +fi +if [[ "${QUIET:-0}" == "1" ]]; then + server_args+=("--quiet") +fi +if [[ "${DRY_RUN:-0}" == "1" ]]; then + server_args+=("--dry-run") fi -debug "DATACRUMBS_SERVER_RUN_ID: $DATACRUMBS_SERVER_RUN_ID" -debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" -debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" -debug "DATACRUMBS_LOG_FILE: $DATACRUMBS_LOG_FILE" -debug "DATACRUMBS_SERVER_READY_FILE: $DATACRUMBS_SERVER_READY_FILE" - - - - -exec=("${DATACRUMBS_INSTALL_SBIN_DIR}/datacrumbs_compose_wrapper" "${DATACRUMBS_COMPOSABLE_NAME}") -debug "Starting datacrumbs server with exec: ${exec[*]}" -datacrumbs_start_server "${exec[*]}" +SERVER_RUN_BIN=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SBINDIR@/datacrumbs_server_run.sh +SERVER_STOP_BIN=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SBINDIR@/datacrumbs_server_stop.sh +echo "Starting DataCrumbs server via: $SERVER_RUN_BIN ${server_args[*]}" +sudo "$SERVER_RUN_BIN" "${server_args[@]}" +if [[ $? -ne 0 ]]; then + echo "Error: Failed to start DataCrumbs server" + exit 1 +fi log "Running App: ${APP_CMD[*]}" job_launch "${APP_CMD[@]}" log "Finished App" -debug "Stopping datacrumbs server with exec: ${exec[*]}" -datacrumbs_stop_server "${exec[*]}" $PROG_NAME -if [[ "$DRY_RUN" == "1" ]]; then - debug "[DRY_RUN] Would print datacrumbs status" - debug "[DRY_RUN] Would finalize datacrumbs for user: $DATACRUMBS_USER" -else - debug "Printing datacrumbs status" - datacrumbs_print_status - debug "Finalizing datacrumbs for user: $DATACRUMBS_USER" - datacrumbs_finalize "$DATACRUMBS_USER" +echo "Stopping DataCrumbs server via: $SERVER_STOP_BIN ${server_args[*]}" +sudo "$SERVER_STOP_BIN" "${server_args[@]}" +if [[ $? -ne 0 ]]; then + echo "Error: Failed to stop DataCrumbs server" + exit 1 fi diff --git a/scripts/datacrumbs/datacrumbs_run.in b/scripts/datacrumbs/datacrumbs_run.in index eb694cdd..0413c5f1 100755 --- a/scripts/datacrumbs/datacrumbs_run.in +++ b/scripts/datacrumbs/datacrumbs_run.in @@ -45,25 +45,39 @@ source $SCRIPT_DIR/datacrumbs_setup check_regular_user +# Build args to pass to server scripts +server_args=() +if [[ "${DATACRUMBS_JOB_ENABLE_MPI}" == "1" ]]; then + server_args+=("--enable-mpi") + server_args+=("--nodes" "${DATACRUMBS_JOB_NODES}") + server_args+=("--ppn" "${DATACRUMBS_JOB_PPN}") +fi +if [[ "${VERBOSE:-0}" == "1" ]]; then + server_args+=("--verbose") +fi +if [[ "${QUIET:-0}" == "1" ]]; then + server_args+=("--quiet") +fi +if [[ "${DRY_RUN:-0}" == "1" ]]; then + server_args+=("--dry-run") +fi +SERVER_RUN_BIN=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SBINDIR@/datacrumbs_server_run.sh +SERVER_STOP_BIN=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SBINDIR@/datacrumbs_server_stop.sh -debug "DATACRUMBS_SERVER_RUN_ID: $DATACRUMBS_SERVER_RUN_ID" -debug "DATACRUMBS_JOB_ID_VAR: $DATACRUMBS_JOB_ID_VAR" -debug "value DATACRUMBS_JOB_ID_VAR: ${!DATACRUMBS_JOB_ID_VAR}" -debug "DATACRUMBS_LOG_FILE: $DATACRUMBS_LOG_FILE" -debug "DATACRUMBS_SERVER_READY_FILE: $DATACRUMBS_SERVER_READY_FILE" -datacrumbs_init $DATACRUMBS_USER $DATACRUMBS_TRACE_DIR - - -echo "Running cmd: ${APP_CMD[*]} as USER = $DATACRUMBS_USER and storing traces in $DATACRUMBS_TRACE_DIR and log file $DATACRUMBS_LOG_FILE" -datacrumbs_start_server @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SBINDIR@/datacrumbs - +echo "Starting DataCrumbs server via: $SERVER_RUN_BIN ${server_args[*]}" +sudo "$SERVER_RUN_BIN" "${server_args[@]}" +if [[ $? -ne 0 ]]; then + echo "Error: Failed to start DataCrumbs server" + exit 1 +fi log "Running App: ${APP_CMD[*]}" job_launch "${APP_CMD[@]}" log "Finished App" -datacrumbs_stop_server @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SBINDIR@/datacrumbs $PROG_NAME - -datacrumbs_print_status - -datacrumbs_finalize $DATACRUMBS_USER $DATACRUMBS_TRACE_DIR +echo "Stopping DataCrumbs server via: $SERVER_STOP_BIN ${server_args[*]}" +sudo "$SERVER_STOP_BIN" "${server_args[@]}" +if [[ $? -ne 0 ]]; then + echo "Error: Failed to stop DataCrumbs server" + exit 1 +fi diff --git a/scripts/datacrumbs/datacrumbs_setup.in b/scripts/datacrumbs/datacrumbs_setup.in index 966241a7..5428beee 100755 --- a/scripts/datacrumbs/datacrumbs_setup.in +++ b/scripts/datacrumbs/datacrumbs_setup.in @@ -11,24 +11,22 @@ CONFIG_FILE=@DATACRUMBS_INSTALL_ETC_CONFIGSDIR@/project.yaml source ${SCRIPT_DIR}/datacrumbs_utility -if [[ "${DATACRUMBS_ENV_LOADED:-0}" == "0" ]]; then - if [[ "$(id -u)" != "0" ]]; then - export DATACRUMBS_IS_ROOT=0 - export DATACRUMBS_USER=$(id -un) - else - export DATACRUMBS_IS_ROOT=1 - export DATACRUMBS_USER=$SUDO_USER - if [[ -z "$DATACRUMBS_USER" ]]; then - DATACRUMBS_USER=$USER - debug "User is root." - fi - if [[ -z "$DATACRUMBS_USER" ]] || [[ "$DATACRUMBS_USER" = "root" ]]; then - DATACRUMBS_USER=$(get_actual_user) - fi +if [[ "$(id -u)" != "0" ]]; then + export DATACRUMBS_IS_ROOT=0 + export DATACRUMBS_USER=$(id -un) +else + export DATACRUMBS_IS_ROOT=1 + export DATACRUMBS_USER=$SUDO_USER + if [[ -z "$DATACRUMBS_USER" ]]; then + DATACRUMBS_USER=$USER + debug "User is root." + fi + if [[ -z "$DATACRUMBS_USER" ]] || [[ "$DATACRUMBS_USER" = "root" ]]; then + DATACRUMBS_USER=$(get_actual_user) fi - - readonly DATACRUMBS_IS_ROOT - readonly DATACRUMBS_USER +fi + +if [[ "${DATACRUMBS_ENV_LOADED:-0}" == "0" ]]; then eval $(datacrumbs_parse_yaml ${CONFIG_FILE} "DATACRUMBS_") log "After loading yaml for $DATACRUMBS_USER" YEAR=$(date +%y) From 416a3a7566e3271c130b2955ac4e03926bd47bf9 Mon Sep 17 00:00:00 2001 From: asparsa Date: Mon, 1 Dec 2025 21:15:41 +0000 Subject: [PATCH 12/12] adding callgraph docs --- docs/build.rst | 66 +++++ .../hdf5-callgraph-compare-example.png | Bin 0 -> 292465 bytes docs/example/hdf5-callgraph-example.png | Bin 0 -> 242589 bytes docs/example/hdf5-callgraph-example.txt | 260 ++++++++++++++++++ docs/integration.rst | 74 +++++ 5 files changed, 400 insertions(+) create mode 100644 docs/example/hdf5-callgraph-compare-example.png create mode 100644 docs/example/hdf5-callgraph-example.png create mode 100644 docs/example/hdf5-callgraph-example.txt diff --git a/docs/build.rst b/docs/build.rst index db951567..506055b5 100755 --- a/docs/build.rst +++ b/docs/build.rst @@ -670,6 +670,72 @@ Lima setup includes Spack for dependency management: spack install openmpi@5.0.5 spack load openmpi +Building in Chameleon +====================== +Chameleon is a configurable experimental environment for large-scale edge to cloud research. +Only registered users by/as PIs have access Chameleon resources. + +Setting up Chameleon Instance +----------------- +Pick a hardware type and site using Chameleon resource catalouge. Go to the the chosen site’s “Reservations → Leases” page and create a lease with one floating IP. +Once the lease becomes ACTIVE, open “Compute → Instances,” launch a new instance by selecting your lease. +Select UBUNTU-22.04.04_DATACRUMBS image when launching your instance and attach sharednet1 network. +Finally associate a floating IP in the “Network → Floating IPs” section, then connect from your terminal with SSH using the cc user and your private key. + + +Build DataCrumbs for Chameleon +------------------------------ +Inside the instance: + +Make sure the package config can find libbpf, you can set the PKG_CONFIG_PATH if needed: + +.. code-block:: bash + + export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH + +Set Installation Directory: + +.. code-block:: bash + + export DATACRUMBS_DIR=/home/$USER/datacrumbs/install + +Create host configuration: + +.. code-block:: bash + + cp $DATACRUMBS_DIR/docs/example/example.yaml \ + $DATACRUMBS_DIR/etc/datacrumbs/configs/chameleon.yaml + # Edit chameleon.yaml as needed for your system + +Configure CMake arguments: + +.. code-block:: bash + cmake_args=( + -DCMAKE_INSTALL_PREFIX=$DATACRUMBS_DIR + -DDATACRUMBS_HOST=chameleon + -DDATACRUMBS_USER=$USER + -DDATACRUMBS_CONFIGURED_TRACE_DIR=$DATACRUMBS_DIR/traces + -DDATACRUMBS_CONFIGURED_LOG_DIR=$DATACRUMBS_DIR/logs + ) +Build and install: + +.. code-block:: bash + pushd $DATACRUMBS_DIR + mkdir -p build && cd build + cmake "${cmake_args[@]}" .. + make -j16 + make install + popd + +Running DataCrumbs on Chameleon +------------------------------- +For a standard usage (without BPFTime): + +.. code-block:: bash + # See Usage section for complete examples + datacrumbs_server_run.sh + datacrumbs_run --help + Building for Tuolumne Supercomputer ==================================== diff --git a/docs/example/hdf5-callgraph-compare-example.png b/docs/example/hdf5-callgraph-compare-example.png new file mode 100644 index 0000000000000000000000000000000000000000..aca750727ffdf903d2578d07653a2069cebe11c6 GIT binary patch literal 292465 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VFf+3Gv=K(pUYudPHyHPlKGb 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%0A721t0BqfvAzDd6M(%KwA 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

+|bO%BqaH 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 Bs;>Y5 literal 0 HcmV?d00001 diff --git a/docs/example/hdf5-callgraph-example.txt b/docs/example/hdf5-callgraph-example.txt new file mode 100644 index 00000000..786e2bf6 --- /dev/null +++ b/docs/example/hdf5-callgraph-example.txt @@ -0,0 +1,260 @@ +Found 8 instance(s) of 'H5Dwrite_async'. + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #1) +Total time for this instance: 25765 +============================================================ +└── H5Dwrite_async (dur: 25765 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 25734 [inclusive], depth: 1) [99.88% of parent] + └── H5VL_dataset_write_direct (dur: 25710 [inclusive], depth: 2) [99.91% of parent] + └── H5VL__dataset_write (dur: 25692 [inclusive], depth: 3) [99.93% of parent] + └── H5VL__native_dataset_write (dur: 25677 [inclusive], depth: 4) [99.94% of parent] + └── H5D__write (dur: 25654 [inclusive], depth: 5) [99.91% of parent] + ├── H5D__typeinfo_init (dur: 42 [inclusive], depth: 6) [0.16% of parent] + │ └── H5T_path_find (dur: 19 [inclusive], depth: 7) [45.24% of parent] + ├── H5D__chunk_io_init (dur: 127 [inclusive], depth: 6) [0.50% of parent] + │ └── H5D__chunk_io_init_selections (dur: 100 [inclusive], depth: 7) [78.74% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 54 [inclusive], depth: 8) [54.00% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 26 [inclusive], depth: 8) [26.00% of parent] + ├── H5D__ioinfo_adjust (dur: 35 [inclusive], depth: 6) [0.14% of parent] + ├── H5D__chunk_mdio_init (dur: 112 [inclusive], depth: 6) [0.44% of parent] + │ └── H5D__chunk_lookup (dur: 14 [inclusive], depth: 7) [12.50% of parent] + └── H5D__collective_write (dur: 25245 [inclusive], depth: 6) [98.41% of parent] + └── H5D__piece_io (dur: 25231 [inclusive], depth: 7) [99.94% of parent] + ├── H5F_mpi_get_rank (dur: 19 [inclusive], depth: 8) [0.08% of parent] + ├── H5F_mpi_get_size (dur: 19 [inclusive], depth: 8) [0.08% of parent] + └── H5D__link_piece_collective_io (dur: 25167 [inclusive], depth: 8) [99.75% of parent] + └── H5D__final_collective_io (dur: 25044 [inclusive], depth: 9) [99.51% of parent] + └── H5D__mpio_select_write (dur: 25029 [inclusive], depth: 10) [99.94% of parent] + └── H5F_shared_block_write (dur: 25015 [inclusive], depth: 11) [99.94% of parent] + └── H5F__accum_write (dur: 25001 [inclusive], depth: 12) [99.94% of parent] + └── H5FD_write (dur: 24987 [inclusive], depth: 13) [99.94% of parent] + └── H5FD__mpio_write (dur: 24963 [inclusive], depth: 14) [99.90% of parent] +============================================================ + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #2) +Total time for this instance: 24068 +============================================================ +└── H5Dwrite_async (dur: 24068 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 24032 [inclusive], depth: 1) [99.85% of parent] + └── H5VL_dataset_write_direct (dur: 24014 [inclusive], depth: 2) [99.93% of parent] + └── H5VL__dataset_write (dur: 23997 [inclusive], depth: 3) [99.93% of parent] + └── H5VL__native_dataset_write (dur: 23984 [inclusive], depth: 4) [99.95% of parent] + └── H5D__write (dur: 23967 [inclusive], depth: 5) [99.93% of parent] + ├── H5D__typeinfo_init (dur: 38 [inclusive], depth: 6) [0.16% of parent] + │ └── H5T_path_find (dur: 20 [inclusive], depth: 7) [52.63% of parent] + ├── H5D__chunk_io_init (dur: 105 [inclusive], depth: 6) [0.44% of parent] + │ └── H5D__chunk_io_init_selections (dur: 81 [inclusive], depth: 7) [77.14% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 41 [inclusive], depth: 8) [50.62% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 21 [inclusive], depth: 8) [25.93% of parent] + ├── H5D__ioinfo_adjust (dur: 27 [inclusive], depth: 6) [0.11% of parent] + ├── H5D__chunk_mdio_init (dur: 109 [inclusive], depth: 6) [0.45% of parent] + │ └── H5D__chunk_lookup (dur: 18 [inclusive], depth: 7) [16.51% of parent] + └── H5D__collective_write (dur: 23614 [inclusive], depth: 6) [98.53% of parent] + └── H5D__piece_io (dur: 23602 [inclusive], depth: 7) [99.95% of parent] + ├── H5F_mpi_get_rank (dur: 19 [inclusive], depth: 8) [0.08% of parent] + ├── H5F_mpi_get_size (dur: 17 [inclusive], depth: 8) [0.07% of parent] + └── H5D__link_piece_collective_io (dur: 23544 [inclusive], depth: 8) [99.75% of parent] + └── H5D__final_collective_io (dur: 23455 [inclusive], depth: 9) [99.62% of parent] + └── H5D__mpio_select_write (dur: 23442 [inclusive], depth: 10) [99.94% of parent] + └── H5F_shared_block_write (dur: 23428 [inclusive], depth: 11) [99.94% of parent] + └── H5F__accum_write (dur: 23416 [inclusive], depth: 12) [99.95% of parent] + └── H5FD_write (dur: 23404 [inclusive], depth: 13) [99.95% of parent] + └── H5FD__mpio_write (dur: 23381 [inclusive], depth: 14) [99.90% of parent] +============================================================ + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #3) +Total time for this instance: 23695 +============================================================ +└── H5Dwrite_async (dur: 23695 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 23664 [inclusive], depth: 1) [99.87% of parent] + └── H5VL_dataset_write_direct (dur: 23647 [inclusive], depth: 2) [99.93% of parent] + └── H5VL__dataset_write (dur: 23632 [inclusive], depth: 3) [99.94% of parent] + └── H5VL__native_dataset_write (dur: 23619 [inclusive], depth: 4) [99.94% of parent] + └── H5D__write (dur: 23603 [inclusive], depth: 5) [99.93% of parent] + ├── H5D__typeinfo_init (dur: 36 [inclusive], depth: 6) [0.15% of parent] + │ └── H5T_path_find (dur: 20 [inclusive], depth: 7) [55.56% of parent] + ├── H5D__chunk_io_init (dur: 103 [inclusive], depth: 6) [0.44% of parent] + │ └── H5D__chunk_io_init_selections (dur: 80 [inclusive], depth: 7) [77.67% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 41 [inclusive], depth: 8) [51.25% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 19 [inclusive], depth: 8) [23.75% of parent] + ├── H5D__ioinfo_adjust (dur: 27 [inclusive], depth: 6) [0.11% of parent] + ├── H5D__chunk_mdio_init (dur: 113 [inclusive], depth: 6) [0.48% of parent] + │ └── H5D__chunk_lookup (dur: 21 [inclusive], depth: 7) [18.58% of parent] + └── H5D__collective_write (dur: 23252 [inclusive], depth: 6) [98.51% of parent] + └── H5D__piece_io (dur: 23240 [inclusive], depth: 7) [99.95% of parent] + ├── H5F_mpi_get_rank (dur: 19 [inclusive], depth: 8) [0.08% of parent] + ├── H5F_mpi_get_size (dur: 18 [inclusive], depth: 8) [0.08% of parent] + └── H5D__link_piece_collective_io (dur: 23184 [inclusive], depth: 8) [99.76% of parent] + └── H5D__final_collective_io (dur: 23086 [inclusive], depth: 9) [99.58% of parent] + └── H5D__mpio_select_write (dur: 23074 [inclusive], depth: 10) [99.95% of parent] + └── H5F_shared_block_write (dur: 23062 [inclusive], depth: 11) [99.95% of parent] + └── H5F__accum_write (dur: 23048 [inclusive], depth: 12) [99.94% of parent] + └── H5FD_write (dur: 23035 [inclusive], depth: 13) [99.94% of parent] + └── H5FD__mpio_write (dur: 23014 [inclusive], depth: 14) [99.91% of parent] +============================================================ + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #4) +Total time for this instance: 24066 +============================================================ +└── H5Dwrite_async (dur: 24066 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 24037 [inclusive], depth: 1) [99.88% of parent] + └── H5VL_dataset_write_direct (dur: 24021 [inclusive], depth: 2) [99.93% of parent] + └── H5VL__dataset_write (dur: 24008 [inclusive], depth: 3) [99.95% of parent] + └── H5VL__native_dataset_write (dur: 23995 [inclusive], depth: 4) [99.95% of parent] + └── H5D__write (dur: 23980 [inclusive], depth: 5) [99.94% of parent] + ├── H5D__typeinfo_init (dur: 33 [inclusive], depth: 6) [0.14% of parent] + │ └── H5T_path_find (dur: 18 [inclusive], depth: 7) [54.55% of parent] + ├── H5D__chunk_io_init (dur: 92 [inclusive], depth: 6) [0.38% of parent] + │ └── H5D__chunk_io_init_selections (dur: 69 [inclusive], depth: 7) [75.00% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 34 [inclusive], depth: 8) [49.28% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 18 [inclusive], depth: 8) [26.09% of parent] + ├── H5D__ioinfo_adjust (dur: 24 [inclusive], depth: 6) [0.10% of parent] + ├── H5D__chunk_mdio_init (dur: 109 [inclusive], depth: 6) [0.45% of parent] + │ └── H5D__chunk_lookup (dur: 17 [inclusive], depth: 7) [15.60% of parent] + └── H5D__collective_write (dur: 23658 [inclusive], depth: 6) [98.66% of parent] + └── H5D__piece_io (dur: 23647 [inclusive], depth: 7) [99.95% of parent] + ├── H5F_mpi_get_rank (dur: 16 [inclusive], depth: 8) [0.07% of parent] + ├── H5F_mpi_get_size (dur: 15 [inclusive], depth: 8) [0.06% of parent] + └── H5D__link_piece_collective_io (dur: 23595 [inclusive], depth: 8) [99.78% of parent] + └── H5D__final_collective_io (dur: 23506 [inclusive], depth: 9) [99.62% of parent] + └── H5D__mpio_select_write (dur: 23495 [inclusive], depth: 10) [99.95% of parent] + └── H5F_shared_block_write (dur: 23483 [inclusive], depth: 11) [99.95% of parent] + └── H5F__accum_write (dur: 23470 [inclusive], depth: 12) [99.94% of parent] + └── H5FD_write (dur: 23458 [inclusive], depth: 13) [99.95% of parent] + └── H5FD__mpio_write (dur: 23439 [inclusive], depth: 14) [99.92% of parent] +============================================================ + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #5) +Total time for this instance: 24109 +============================================================ +└── H5Dwrite_async (dur: 24109 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 24079 [inclusive], depth: 1) [99.88% of parent] + └── H5VL_dataset_write_direct (dur: 24063 [inclusive], depth: 2) [99.93% of parent] + └── H5VL__dataset_write (dur: 24048 [inclusive], depth: 3) [99.94% of parent] + └── H5VL__native_dataset_write (dur: 24035 [inclusive], depth: 4) [99.95% of parent] + └── H5D__write (dur: 24019 [inclusive], depth: 5) [99.93% of parent] + ├── H5D__typeinfo_init (dur: 36 [inclusive], depth: 6) [0.15% of parent] + │ └── H5T_path_find (dur: 19 [inclusive], depth: 7) [52.78% of parent] + ├── H5D__chunk_io_init (dur: 93 [inclusive], depth: 6) [0.39% of parent] + │ └── H5D__chunk_io_init_selections (dur: 72 [inclusive], depth: 7) [77.42% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 35 [inclusive], depth: 8) [48.61% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 19 [inclusive], depth: 8) [26.39% of parent] + ├── H5D__ioinfo_adjust (dur: 25 [inclusive], depth: 6) [0.10% of parent] + ├── H5D__chunk_mdio_init (dur: 106 [inclusive], depth: 6) [0.44% of parent] + │ └── H5D__chunk_lookup (dur: 14 [inclusive], depth: 7) [13.21% of parent] + └── H5D__collective_write (dur: 23689 [inclusive], depth: 6) [98.63% of parent] + └── H5D__piece_io (dur: 23678 [inclusive], depth: 7) [99.95% of parent] + ├── H5F_mpi_get_rank (dur: 18 [inclusive], depth: 8) [0.08% of parent] + ├── H5F_mpi_get_size (dur: 16 [inclusive], depth: 8) [0.07% of parent] + └── H5D__link_piece_collective_io (dur: 23621 [inclusive], depth: 8) [99.76% of parent] + └── H5D__final_collective_io (dur: 23534 [inclusive], depth: 9) [99.63% of parent] + └── H5D__mpio_select_write (dur: 23521 [inclusive], depth: 10) [99.94% of parent] + └── H5F_shared_block_write (dur: 23509 [inclusive], depth: 11) [99.95% of parent] + └── H5F__accum_write (dur: 23496 [inclusive], depth: 12) [99.94% of parent] + └── H5FD_write (dur: 23484 [inclusive], depth: 13) [99.95% of parent] + └── H5FD__mpio_write (dur: 23464 [inclusive], depth: 14) [99.91% of parent] +============================================================ + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #6) +Total time for this instance: 24693 +============================================================ +└── H5Dwrite_async (dur: 24693 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 24661 [inclusive], depth: 1) [99.87% of parent] + └── H5VL_dataset_write_direct (dur: 24644 [inclusive], depth: 2) [99.93% of parent] + └── H5VL__dataset_write (dur: 24629 [inclusive], depth: 3) [99.94% of parent] + └── H5VL__native_dataset_write (dur: 24616 [inclusive], depth: 4) [99.95% of parent] + └── H5D__write (dur: 24600 [inclusive], depth: 5) [99.94% of parent] + ├── H5D__typeinfo_init (dur: 36 [inclusive], depth: 6) [0.15% of parent] + │ └── H5T_path_find (dur: 19 [inclusive], depth: 7) [52.78% of parent] + ├── H5D__chunk_io_init (dur: 101 [inclusive], depth: 6) [0.41% of parent] + │ └── H5D__chunk_io_init_selections (dur: 78 [inclusive], depth: 7) [77.23% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 38 [inclusive], depth: 8) [48.72% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 22 [inclusive], depth: 8) [28.21% of parent] + ├── H5D__ioinfo_adjust (dur: 27 [inclusive], depth: 6) [0.11% of parent] + ├── H5D__chunk_mdio_init (dur: 110 [inclusive], depth: 6) [0.45% of parent] + │ └── H5D__chunk_lookup (dur: 18 [inclusive], depth: 7) [16.36% of parent] + └── H5D__collective_write (dur: 24256 [inclusive], depth: 6) [98.60% of parent] + └── H5D__piece_io (dur: 24244 [inclusive], depth: 7) [99.95% of parent] + ├── H5F_mpi_get_rank (dur: 19 [inclusive], depth: 8) [0.08% of parent] + ├── H5F_mpi_get_size (dur: 18 [inclusive], depth: 8) [0.07% of parent] + └── H5D__link_piece_collective_io (dur: 24187 [inclusive], depth: 8) [99.76% of parent] + └── H5D__final_collective_io (dur: 24089 [inclusive], depth: 9) [99.59% of parent] + └── H5D__mpio_select_write (dur: 24076 [inclusive], depth: 10) [99.95% of parent] + └── H5F_shared_block_write (dur: 24064 [inclusive], depth: 11) [99.95% of parent] + └── H5F__accum_write (dur: 24049 [inclusive], depth: 12) [99.94% of parent] + └── H5FD_write (dur: 24037 [inclusive], depth: 13) [99.95% of parent] + └── H5FD__mpio_write (dur: 24016 [inclusive], depth: 14) [99.91% of parent] +============================================================ + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #7) +Total time for this instance: 24902 +============================================================ +└── H5Dwrite_async (dur: 24902 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 24869 [inclusive], depth: 1) [99.87% of parent] + └── H5VL_dataset_write_direct (dur: 24852 [inclusive], depth: 2) [99.93% of parent] + └── H5VL__dataset_write (dur: 24837 [inclusive], depth: 3) [99.94% of parent] + └── H5VL__native_dataset_write (dur: 24824 [inclusive], depth: 4) [99.95% of parent] + └── H5D__write (dur: 24808 [inclusive], depth: 5) [99.94% of parent] + ├── H5D__typeinfo_init (dur: 37 [inclusive], depth: 6) [0.15% of parent] + │ └── H5T_path_find (dur: 19 [inclusive], depth: 7) [51.35% of parent] + ├── H5D__chunk_io_init (dur: 100 [inclusive], depth: 6) [0.40% of parent] + │ └── H5D__chunk_io_init_selections (dur: 76 [inclusive], depth: 7) [76.00% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 37 [inclusive], depth: 8) [48.68% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 20 [inclusive], depth: 8) [26.32% of parent] + ├── H5D__ioinfo_adjust (dur: 26 [inclusive], depth: 6) [0.10% of parent] + ├── H5D__chunk_mdio_init (dur: 110 [inclusive], depth: 6) [0.44% of parent] + │ └── H5D__chunk_lookup (dur: 18 [inclusive], depth: 7) [16.36% of parent] + └── H5D__collective_write (dur: 24466 [inclusive], depth: 6) [98.62% of parent] + └── H5D__piece_io (dur: 24455 [inclusive], depth: 7) [99.96% of parent] + ├── H5F_mpi_get_rank (dur: 19 [inclusive], depth: 8) [0.08% of parent] + ├── H5F_mpi_get_size (dur: 17 [inclusive], depth: 8) [0.07% of parent] + └── H5D__link_piece_collective_io (dur: 24399 [inclusive], depth: 8) [99.77% of parent] + └── H5D__final_collective_io (dur: 24309 [inclusive], depth: 9) [99.63% of parent] + └── H5D__mpio_select_write (dur: 24297 [inclusive], depth: 10) [99.95% of parent] + └── H5F_shared_block_write (dur: 24284 [inclusive], depth: 11) [99.95% of parent] + └── H5F__accum_write (dur: 24271 [inclusive], depth: 12) [99.95% of parent] + └── H5FD_write (dur: 24258 [inclusive], depth: 13) [99.95% of parent] + └── H5FD__mpio_write (dur: 24237 [inclusive], depth: 14) [99.91% of parent] +============================================================ + +============================================================ +Call graph for 'H5Dwrite_async' (Instance #8) +Total time for this instance: 23961 +============================================================ +└── H5Dwrite_async (dur: 23961 [inclusive], depth: 0) [100.00% of self] + └── H5D__write_api_common (dur: 23932 [inclusive], depth: 1) [99.88% of parent] + └── H5VL_dataset_write_direct (dur: 23916 [inclusive], depth: 2) [99.93% of parent] + └── H5VL__dataset_write (dur: 23902 [inclusive], depth: 3) [99.94% of parent] + └── H5VL__native_dataset_write (dur: 23890 [inclusive], depth: 4) [99.95% of parent] + └── H5D__write (dur: 23876 [inclusive], depth: 5) [99.94% of parent] + ├── H5D__typeinfo_init (dur: 35 [inclusive], depth: 6) [0.15% of parent] + │ └── H5T_path_find (dur: 18 [inclusive], depth: 7) [51.43% of parent] + ├── H5D__chunk_io_init (dur: 96 [inclusive], depth: 6) [0.40% of parent] + │ └── H5D__chunk_io_init_selections (dur: 74 [inclusive], depth: 7) [77.08% of parent] + │ ├── H5D__create_piece_file_map_hyper (dur: 34 [inclusive], depth: 8) [45.95% of parent] + │ └── H5D__create_piece_mem_map_hyper (dur: 22 [inclusive], depth: 8) [29.73% of parent] + ├── H5D__ioinfo_adjust (dur: 26 [inclusive], depth: 6) [0.11% of parent] + ├── H5D__chunk_mdio_init (dur: 104 [inclusive], depth: 6) [0.44% of parent] + │ └── H5D__chunk_lookup (dur: 14 [inclusive], depth: 7) [13.46% of parent] + └── H5D__collective_write (dur: 23548 [inclusive], depth: 6) [98.63% of parent] + └── H5D__piece_io (dur: 23537 [inclusive], depth: 7) [99.95% of parent] + ├── H5F_mpi_get_rank (dur: 18 [inclusive], depth: 8) [0.08% of parent] + ├── H5F_mpi_get_size (dur: 16 [inclusive], depth: 8) [0.07% of parent] + └── H5D__link_piece_collective_io (dur: 23482 [inclusive], depth: 8) [99.77% of parent] + └── H5D__final_collective_io (dur: 23396 [inclusive], depth: 9) [99.63% of parent] + └── H5D__mpio_select_write (dur: 23384 [inclusive], depth: 10) [99.95% of parent] + └── H5F_shared_block_write (dur: 23371 [inclusive], depth: 11) [99.94% of parent] + └── H5F__accum_write (dur: 23359 [inclusive], depth: 12) [99.95% of parent] + └── H5FD_write (dur: 23347 [inclusive], depth: 13) [99.95% of parent] + └── H5FD__mpio_write (dur: 23327 [inclusive], depth: 14) [99.91% of parent] +============================================================ + + +completed. diff --git a/docs/integration.rst b/docs/integration.rst index f4f6f72d..4e266fbb 100755 --- a/docs/integration.rst +++ b/docs/integration.rst @@ -704,6 +704,25 @@ Examples Example 1: Track HDF5 Application ---------------------------------- +To trace an HDF5 application, add HDF5 to your host configuration: + +.. code-block:: yaml + - name: h5 + probe: uprobe + type: binary + file: /path/to/libhdf5.so + regex: H5.* + +Probes can be narrowed down further as needed. For example, to trace only dataset traces you can use: + +.. code-block:: yaml + - name: h5d + probe: uprobe + type: binary + file: /path/to/libhdf5.so + regex: H5D.* + +Then, after rebuilding DataCrumbs with the updated configuration, you can track your HDF5 application: .. code-block:: bash @@ -725,6 +744,61 @@ Example 1: Track HDF5 Application # View trace files (.pfw.gz format) ls -lh $DATACRUMBS_TRACE_DIR/trace-*.pfw.gz +The trace files can then be analyzed and visualized using DataCrumbs tools. + +Creating Callgraphs +---------------------- +To create a callgraph for collected traces, use the following command: + +.. code-block:: bash + + callgraph_creator Trace-file [OPTIONS] + +**Arguments:** + +``--show-percentage`` + Display the percentage of time each function took +``--aggregate`` + Aggregate function calls across all traces +``--output `` + Specify the output format. can be: + 'text' (default): Human-readable call tree. + 'dot': DOT language file for Graphviz. +``--time-metric `` + Metric for time display. can be 'inclusive' or 'exclusive'. +``--focus-function `` + Focus the output on all instances of a specific function. +``--depth_cut`` + Set the maximum depth for the call tree (default: 20). + +Example of text output focusing on H5Dwrite: + +.. url:: https://datacrumbs.org/docs/example/hdf5-callgraph-example.txt + :alt: Callgraph Example Text + +to create a png image from the dot output, use: + +.. code-block:: bash + dot -Tpng callgraph.dot -o callgraph.png + +Example of created png file: + +.. image:: ./example/hdf5-callgraph-example.png + :alt: Callgraph Example + +To compare two callgrphs, use the following command: + +.. code-block:: bash + callgraph_compare callgraph1.dot callgraph2.dot + +This will create a new dot file highlighting differences between the two callgraphs, using color coding to indicate increases or decreases in function call times. +Functions with increased time will be shown in green, while those with decreased time will be shown in red. Functions with same time will be uncolored. +Functions added will be shown in blue, and functions removed will be shown in gray. +For example of comparing two callgraphs: + +.. image:: ./example/hdf5-callgraph-compare-example.png + :alt: Callgraph Compare Example + Example 2: Trace System Utility --------------------------------

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