Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: add p2p benchmark code #6907

Merged
merged 6 commits into from
Oct 2, 2024
Merged

test: add p2p benchmark code #6907

merged 6 commits into from
Oct 2, 2024

Commits on Oct 2, 2024

  1. modules: add mydef_boot

    MyDef provides general templating facilities.
    hzhou committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    3f49883 View commit details
    Browse the repository at this point in the history
  2. test/mpi: add p2p benchmarks in test/mpi/bench

    Add point-to-point benchmark code in MyDef. The tests have automatic
    warm-ups and adjusts number of iterations for measurement accuracy.
    It produces latency measurements with standard deviations and equivalent
    bandwidths.
    
    MYDEF_BOOT=[topsrc_dir]/modules/mydef_boot
    export PATH=$MYDEF_BOOT/bin:$PATH
    export PERL5LIB=$MYDEF_BOOT/lib/perl5
    export MYDEFLIB=$MYDEF_BOOT/lib/MyDef
    
    To run:
        mydef_page p2p_latency.def  # -> p2p_latency.c
        mpicc p2p_latency.c && mpi_run -n 2 ./a.out
    
    Alternatively use mydef_run (uses settings from config):
        mydef_run p2p_latency.def
    
    Next commit will add "make testing".
    hzhou committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    30f2bbd View commit details
    Browse the repository at this point in the history
  3. autogen: convert mydef code in autogen

    We could add rules to directly work with mydef code in Makefile, but
    convert the code in autogen removes the mydef dependency.
    
    Also fix a spelling error.
    hzhou committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    6633f0a View commit details
    Browse the repository at this point in the history
  4. test/runtests: add TestBench result check

    This check does not capture output (thus test results will show in
    console log) and only checks for exit code - zero means success and
    nonzero means failure.
    
    We'll use this check for benchmark tests.
    hzhou committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    e4d96f8 View commit details
    Browse the repository at this point in the history
  5. test/bench: add Makefile and testlist

    "make testing" in test/mpi/bench should work.
    hzhou committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    f2add2b View commit details
    Browse the repository at this point in the history
  6. test/bench: add support for device memory

    Add device memory support using mtest_common utilities. This will add
    the dependency to utility libraries, which the makefile already
    imports.
    
    However, this will remove the simpliicity of building single
    source with mpicc or mydef_run. If one doesn't need test device memory,
    one can simply comment off "$include macros/mtest.def" to restore the
    simplicity.
    hzhou committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    99c6adf View commit details
    Browse the repository at this point in the history