Skip to content
Snippets Groups Projects
Commit d5b71d4b authored by Jan Hönig's avatar Jan Hönig
Browse files

Added test for vectorized benchmarks

parent d20cc1b8
Branches
No related merge requests found
Pipeline #35566 failed with stages
in 1 minute and 36 seconds
import subprocess
import numpy as np
import sympy as sp
import pystencils as ps
from pystencils_benchmark import generate_benchmark, Compiler
from pathlib import Path
def test_generate():
path = Path.cwd() / 'test'
path.mkdir(parents=True, exist_ok=True)
a, b, c = ps.fields(a=np.ones(4000000), b=np.ones(4000000), c=np.ones(4000000))
alpha = sp.symbols('alpha')
@ps.kernel_config(ps.CreateKernelConfig(cpu_vectorize_info={'instruction_set': 'best'}))
def vadd():
a[0] @= b[0] + c[0]
kernel_vadd = ps.create_kernel(**vadd)
@ps.kernel_config(ps.CreateKernelConfig(cpu_vectorize_info={'instruction_set': 'best'}))
def daxpy():
b[0] @= alpha * a[0] + b[0]
kernel_daxpy = ps.create_kernel(**daxpy)
for compiler in [Compiler.GCC, Compiler.GCCdebug, Compiler.Clang]:
generate_benchmark([kernel_vadd, kernel_daxpy], path, compiler=compiler)
subprocess.run(['make', '-C', f'{path}'], check=True)
subprocess.run([f'{path}/benchmark-{compiler.name}', '10'], check=True)
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment