Perf plot

This commit is contained in:
[Quy Anh] «Elliot» Nguyen
2026-06-18 11:59:50 +02:00
committed by Linus Baumberger
parent ca969564a6
commit e7af3103e8
153 changed files with 22042 additions and 24220 deletions
@@ -0,0 +1,41 @@
# const int n_p_pad = (n_p + 3) & ~3;
# flops per iteration (one pass of the outer time loop):
# ADDs: n_p * 12 + n_p * n_p_pad * 15 + n_p * board.n_obstacles * 12 + n_p * 7
# MULTs: n_p * 4 + n_p * n_p_pad * 24 + n_p * board.n_obstacles * 19 + n_p * 16
# DIVs: n_p * n_p_pad * 1 + n_p * board.n_obstacles + n_p * 2
# SQRTs: n_p * n_p_pad * 3 + n_p * board.n_obstacles + n_p * 3
# EXPs: n_p * n_p_pad * 1 + n_p * board.n_obstacles
def adds(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 3) & ~3
return int(n_iter *
(n_p * 12 + n_p * n_p_pad * 15 + n_p * n_obs * 12 + n_p * 7))
def mults(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 3) & ~3
return int(n_iter *
(n_p * 4 + n_p * n_p_pad * 24 + n_p * n_obs * 19 + n_p * 16))
def divs(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 3) & ~3
return int(n_iter * (n_p * n_p_pad * 1 + n_p * n_obs + n_p * 2))
def sqrts(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 3) & ~3
return int(n_iter * (n_p * n_p_pad * 3 + n_p * n_obs + n_p * 3))
def exps(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 3) & ~3
return int(n_iter * (n_p * n_p_pad * 1 + n_p * n_obs))
def total(n_iter: int, n_p: int, n_obs: int = 2) -> int:
return adds(n_iter, n_p, n_obs) + mults(n_iter, n_p, n_obs) + divs(
n_iter, n_p, n_obs) + sqrts(n_iter, n_p,
n_obs) + exps(n_iter, n_p, n_obs) * 30