#!/bin/bash if [[ ${#} -ne 2 ]] then echo "Usage: ${0} nprocs ncycles" exit fi mpiexec="mpiexec" program="./a.out" nprocs=${1} ncycles=${2} for ntokens in 16 64 128 512 1024 do echo "" echo "nprocs = ${nprocs}, ntokens = ${ntokens}, ncycles = ${ncycles}" for function_type in 0 1 2 3 4 5 do output=$( ${mpiexec} -np ${nprocs} ${program} ${ntokens} ${ncycles} ${function_type} ) routine=$(echo "${output}" | awk '{print $1}') timing=$(echo "${output}" | awk '{print $3}') if [[ "${function_type}" == "0" ]] then base_timing=${timing} echo "print '%-15s : %-12s %-8s' % ( 'Method', 'Time', 'Relative' )" | python fi echo "print '%15s : %e %8.3fx' % ( '${routine}', float('${timing}'), float('${timing}')/float('${base_timing}') )" | python done echo "" done