Skip to content

tests/unit: add bigput_sweep large-buffer put correctness test#58

Draft
bcmIntc wants to merge 1 commit into
openshmem-org:mainfrom
bcmIntc:bcm_hugePT_fix
Draft

tests/unit: add bigput_sweep large-buffer put correctness test#58
bcmIntc wants to merge 1 commit into
openshmem-org:mainfrom
bcmIntc:bcm_hugePT_fix

Conversation

@bcmIntc
Copy link
Copy Markdown
Collaborator

@bcmIntc bcmIntc commented Apr 18, 2026

Summary

Adds bigput_sweep, a new unit test that verifies correctness of shmem_int_put across a large symmetric heap allocation.

Unlike the existing bigput test — which repeatedly puts to the same fixed buffer — bigput_sweep divides a large symmetric allocation into chunks and puts each chunk to the corresponding offset on (my_pe+1) % npes, sweeping the full buffer. After all transfers complete, every element is verified against the expected pattern.

What it tests:

  • Large contiguous symmetric heap allocations
  • Correctness of data across many puts to different offsets
  • Full buffer verification (not just bandwidth)

Options:

  • -t \<N\> — total elements per PE (default 32M ints = 128 MB)
  • -c \<N\> — elements per put/chunk (default 256K ints = 1 MB)
  • -l \<N\> — number of sweep repetitions (default 1)
  • -v — verbose: shows MB/sec and per-PE verification result

Supports k/m/g suffixes on all size arguments. Each PE prints its hostname and PE number at startup for easy identification in multi-node runs.

@bcmIntc bcmIntc self-assigned this Apr 18, 2026
bigput_sweep sweeps successive chunks of a large symmetric allocation
to (my_pe+1) % npes, then verifies all elements match the expected
pattern. Unlike bigput, which repeatedly puts to the same fixed buffer,
bigput_sweep exercises a large portion of the symmetric heap across
many put operations.

Supports -t (total elements), -c (chunk size), -l (loops), -v (verbose).
Each PE prints its hostname and PE number at startup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant