BEGIN:VCALENDAR
VERSION:2.0
PRODID:Linklings LLC
BEGIN:VTIMEZONE
TZID:America/Chicago
X-LIC-LOCATION:America/Chicago
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20211207T055347Z
LOCATION:Online
DTSTART;TZID=America/Chicago:20211115T142000
DTEND;TZID=America/Chicago:20211115T144000
UID:submissions.supercomputing.org_SC21_sess422_ws_pmbss105@linklings.com
SUMMARY:MicroBench Maker: Reproduce, Reuse, Improve
DESCRIPTION:Workshop\n\nMicroBench Maker: Reproduce, Reuse, Improve\n\nHun
 old, Ajanohoun, Carpen-Amarie\n\nBenchmarking is one of the fundamental me
 thods for analyzing the performance of computational processes or threads.
  In the domain of high-performance computing, benchmarks are essential to 
 assess computer systems; e.g., the TOP500 or the Green500 benchmarks are u
 sed to define the performance of machines.\n\nWe address the problem of be
 nchmarking MPI code. A common benchmarking pattern is to repetitively exec
 ute a specific code block and to take the start and the finish timestamp o
 f each run of this code block, where iterations are logically separated us
 ing a barrier operation. Although this benchmarking scheme is very simple,
  it may lead to wrong conclusions, especially if the runtime of the code u
 nder investigation is very short, e.g., a reduction operation. In such sce
 narios, precise and reproducible measurements require accurate process syn
 chronization methods and low overhead clocks.\n\nWe present a library-base
 d approach to MPI benchmarking. Our library can be used to conduct precise
  measurements without having to reinvent the benchmarking wheel. This nove
 l library is based on the ReproMPI benchmark and supports source code anno
 tations. An experimenter can add annotations to lines of code that should 
 be benchmarked. This annotated code is then transformed into a benchmark c
 ode, which allows for a clear separation of concerns, as the algorithm des
 igner can define the test scenarios while the benchmarking expert conducts
  experiments independently. We show the general applicability of our appro
 ach in different use cases. In one particular study, we replace all timing
  and synchronization code from a well-known OSU micro-benchmark with our b
 enchmark annotations. We demonstrate that the resulting code allows the be
 nchmark options to be tailored to permit a fine-grained performance inspec
 tion.\n\nTag: Online Only, Accelerator-based Architectures, Applications, 
 Computational Science, Emerging Technologies, Extreme Scale Computing, Fil
 e Systems and I/O, Heterogeneous Systems, Parallel Programming Languages a
 nd Models, Performance, Scientific Computing, Software Engineering\n\nRegi
 stration Category: Workshop Reg Pass
END:VEVENT
END:VCALENDAR
