benchpark
benchpark copied to clipboard
Benchpark diff
Given 2 runs of an experiment (same machine or different machines), what is different in:
- systems (spec diff?)
- build (ignore system software - compilers (+cmake etc.), mpi, math libraries
- run parameters (ignore scheduler, launcher)
- performance (we use caliper+thicket to diff these by establishing common call tree and parameters/metadata)
Spack diff notes:
spack find -l # returns package and its hash
ls spack location -I /hash_here
/.spack/spec.json. # finds spec.json for the package
spack spec
How to specify what to ignore? System sw (compilers, mpi, math libraries) but its a longer list:
./spack diff --ignore=gcc-runtime --ignore=hsa-rocr-dev --ignore=rocprim --ignore=rocrand --ignore=rocsparse --ignore=rocthrust --ignore=llvm-amdgpu --ignore=cmake --ignore=gmake --ignore=hip --ignore=blas --ignore=lapack --ignore=mpi /Users/pearce8/Documents/spack_diff/tioga-gtl-spec.json /Users/pearce8/Documents/spack_diff/magma-spec.json
produces:
- amg2023 amdgpu_target gfx90a
- amg2023 openmp True
- amg2023 openmp False
- amg2023 rocm False
- amg2023 rocm True
- hypre fortran True
- hypre amdgpu_target gfx90a
- hypre openmp True
- hypre fortran False
- hypre rocm False
- hypre openmp False
- hypre rocm True