YAC 3.21.0
Yet Another Coupler
Loading...
Searching...
No Matches
test_yac_pak_tracing.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
#include <mpi.h>
#include "io_utils.h"
#include "tests.h"
#include "yac_pak.h"
#include "test_yac_pak_common.h"
Include dependency graph for test_yac_pak_tracing.c:

Go to the source code of this file.

Detailed Description

Test
Multi-rank MPI tests for YAC PAK tracing infrastructure. Must be run with 4 MPI ranks.

Tests:

  1. Check trace of ranks: per-rank CSV files, correct event counts, rank column values, default flush_duration_s header, trace_metadata.json.
  2. Auto-generated output directory (no YAC_PAK_TRACE_DIR set).
  3. Stride-based selective writing (YAC_PAK_TRACE_STRIDE=2).
  4. Stride capping (YAC_PAK_TRACE_STRIDE=100 capped to mpi_size=4).
  5. Setup-phase event tracing (YAC_PAK_TRACE_SETUP=0|1).
  6. YAC_PAK_TRACE_FLUSH_TIME=0 omits flush_duration_s from CSV header.
  7. Buffer growth.
  8. Level-2 tracing: a REGION event nested inside a level-1 PUT event.
  9. Level gating (level 1 and level 2 events)
  10. Level 0 (coupling off): setup events still recorded, coupling discarded.
  11. YAC_PAK_TRACE_WRITE_MODE=instant
  12. Write mode instant via yac_pak_trace_record.
  13. YAC_PAK_TRACE_VERBOSE=1 prints progress messages to stderr.
  14. YAC_PAK_TRACE_WRITE_MODE=instant with YAC_PAK_TRACE_STRIDE.

Definition in file test_yac_pak_tracing.c.