Files
263-0007-00L-Advanced-Syste…/flopcounts/x86/variant_float_inlining_SoA_AVX512_polyexp.py
[Quy Anh] «Elliot» Nguyen e7af3103e8 Perf plot
2026-06-18 11:59:50 +02:00

63 lines
1.5 KiB
Python

# const int n_p_pad = (n_p + 15) & ~15;
# ADDs: n_iter * (
# n_p * 36 +
# n_p * n_p_pad * 29 +
# n_p * board.n_obstacles * 10 +
# n_p * 7
# )
#
# MULTs: n_iter * (
# n_p * 4 +
# n_p * n_p_pad * 40 +
# n_p * board.n_obstacles * 13 +
# n_p * 17
# )
#
# DIVs: n_iter * (
# n_p * n_p_pad +
# n_p * board.n_obstacles +
# n_p * 2
# )
#
# SQRTs: n_iter * (
# n_p * n_p_pad * 3 +
# n_p * board.n_obstacles +
# n_p * 3
# )
#
# EXPs: n_iter * n_p * board.n_obstacles
def adds(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 15) & ~15
return int(n_iter *
(n_p * 36 + n_p * n_p_pad * 29 + n_p * n_obs * 10 + n_p * 7))
def mults(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 15) & ~15
return int(n_iter *
(n_p * 4 + n_p * n_p_pad * 40 + n_p * n_obs * 13 + n_p * 17))
def divs(n_iter: int, n_p: int, n_obs: int = 2) -> int:
n_p_pad = (n_p + 15) & ~15
return int(n_iter * (n_p * n_p_pad + 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 + 15) & ~15
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 + 15) & ~15
return int(n_iter * 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