| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | # StarPU --- Runtime system for heterogeneous multicore architectures.## Copyright (C) 2020       Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria## StarPU is free software; you can redistribute it and/or modify# it under the terms of the GNU Lesser General Public License as published by# the Free Software Foundation; either version 2.1 of the License, or (at# your option) any later version.## StarPU is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.## See the GNU Lesser General Public License in COPYING.LGPL for more details.#set term postscript eps enhanced color font ",20"set key top leftset xlabel "frequency (MHz)"freq_min = 1200freq_fast = 3500power_min = 2power_fast = 8.2TRSM_DECAY = 0.5POTRF_DECAY = 0.5# Plot the power according to frequency (cubic curve)freq_min3 = freq_min * freq_min * freq_minfreq_fast3 = freq_fast * freq_fast * freq_fastalpha = (power_fast - power_min) / (freq_fast3 - freq_min3)power(frequency) = power_min + alpha * (frequency*frequency*frequency - freq_min3) set output "power.eps"set ylabel "power (W)"plot [frequency=freq_min:freq_fast] [y=0:] power(frequency) lw 2 notitle# Plot the kernel performance according to frequencyset output "perfs.eps"set ylabel "performance (GFlop/s)"gemm_max_perf = 50trsm_max_perf = 35.784040potrf_max_perf = 6.964803gemm_factor(frequency) = frequency / freq_fasttrsm_factor(frequency) = (frequency - freq_min/2) ** TRSM_DECAY / (freq_fast - freq_min/2) ** TRSM_DECAYpotrf_factor(frequency) = 1 - POTRF_DECAY * ((freq_min/(frequency-freq_min/2)) - (freq_min/(freq_fast-freq_min/2)))plot [frequency=freq_min:freq_fast] \     gemm_max_perf * gemm_factor(frequency) lw 2 title "gemm", \     trsm_max_perf * trsm_factor(frequency) lw 2 title "trsm", \     potrf_max_perf * potrf_factor(frequency) lw 2 title "potrf"# Plot the kernel efficiency according to frequencyset output "efficiency.eps"set key top rightset ylabel "efficiency (GFlop/W)"gemm_max_efficiency = 6.097561trsm_max_efficiency = 4.363907potrf_max_efficiency = 0.849366power_factor(frequency) = power(frequency) / power(freq_fast)plot [frequency=freq_min:freq_fast] \     gemm_max_efficiency * gemm_factor(frequency) / power_factor(frequency) lw 2 title "gemm", \     trsm_max_efficiency * trsm_factor(frequency) / power_factor(frequency)  lw 2 title "trsm", \     potrf_max_efficiency * potrf_factor(frequency) / power_factor(frequency)  lw 2 title "potrf"
 |