mini_jit::benchmarks
-
class EinsumTreeBench : public mini_jit::Benchmark
Public Functions
-
EinsumTreeBench(double run_time, std::string const &einsum_expression, std::vector<int64_t> &dimension_sizes, mini_jit::dtype_t dtype, int64_t thread_target, int64_t max_kernel_size, int64_t min_kernel_size, std::map<std::string, void const*> &tensor_inputs)
-
inline ~EinsumTreeBench() override
Destructor.
-
virtual void run() override
Runs the benchmark.
-
EinsumTreeBench(double run_time, std::string const &einsum_expression, std::vector<int64_t> &dimension_sizes, mini_jit::dtype_t dtype, int64_t thread_target, int64_t max_kernel_size, int64_t min_kernel_size, std::map<std::string, void const*> &tensor_inputs)
-
class FastSigmoidPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
FastSigmoidPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the fast sigmoid primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~FastSigmoidPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
FastSigmoidPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class IdentityPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
IdentityPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for identity primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~IdentityPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
IdentityPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class IdentityTransPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
IdentityTransPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for identity transposition primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~IdentityTransPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
IdentityTransPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class MatmulBrMNKBench : public mini_jit::Benchmark
- #include <Matmul_br_m_n_k.bench.h>
Benchmark for matrix multiplication using BRGEMM.
Public Functions
-
MatmulBrMNKBench(double run_time, int m, int n, int k, int br_size)
Constructor for the benchmark for matrix multiplication using BRGEMM.
- Parameters:
run_time – The time to run the benchmark in seconds.
m – number of rows in A and C.
n – number of columns in B and C.
k – number of columns in A and rows in B.
br_size – The size of the batch-reduce.
-
~MatmulBrMNKBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
MatmulBrMNKBench(double run_time, int m, int n, int k, int br_size)
-
class MatmulMNKBench : public mini_jit::Benchmark
Public Functions
-
MatmulMNKBench(double run_time, int m, int n, int k)
Constructor for the benchmark for matrix multiplication using GEMM.
- Parameters:
run_time – The time to run the benchmark in seconds.
m – number of rows in A and C.
n – number of columns in B and C.
k – number of columns in A and rows in B.
-
~MatmulMNKBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
MatmulMNKBench(double run_time, int m, int n, int k)
-
class ReciprocalPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
ReciprocalPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the reciprocal primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~ReciprocalPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
ReciprocalPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class ReLUPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
ReLUPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the ReLU primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~ReLUPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
ReLUPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class ReLUTransPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
ReLUTransPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the transposition ReLU primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~ReLUTransPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
ReLUTransPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class SigmoidInterpolationPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
SigmoidInterpolationPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the sigmoid interpolation primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~SigmoidInterpolationPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
SigmoidInterpolationPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class SigmoidTaylorPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
SigmoidTaylorPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the sigmoid taylor approxmiation primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~SigmoidTaylorPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
SigmoidTaylorPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class SquarePrimitiveBench : public mini_jit::Benchmark
Public Functions
-
SquarePrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for square primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~SquarePrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
SquarePrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class SquareTransPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
SquareTransPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the transposition square primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~SquareTransPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
SquareTransPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class TensorOperationBench : public mini_jit::Benchmark
Public Functions
-
TensorOperationBench(double run_time, dtype_t dtype, ptype_t prim_first_touch, ptype_t prim_main, ptype_t prim_last_touch, std::span<const dim_t> dim_types, std::span<const exec_t> exec_types, std::span<const int64_t> dim_sizes, std::span<const int64_t> strides_in0, std::span<const int64_t> strides_in1, std::span<const int64_t> strides_out)
Constructor for the benchmark for tensor operations.
- Parameters:
run_time – The time to run the benchmark in seconds.
dtype – Datatype of all tensor elements.
prim_first_touch – Type of the first touch primitive.
prim_main – Type of the main primitive.
prim_last_touch – Type of the last touch primitive.
dim_types – Dimension type of the loops (c, m, n, or k).
exec_types – Execution type of the loops (seq, shared, or prim).
dim_sizes – Sizes of the dimensions.
strides_in0 – Strides of the first input tensor.
strides_in1 – Strides of the second input tensor (ignored if unary).
strides_out – Strides of the output tensor.
-
~TensorOperationBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
TensorOperationBench(double run_time, dtype_t dtype, ptype_t prim_first_touch, ptype_t prim_main, ptype_t prim_last_touch, std::span<const dim_t> dim_types, std::span<const exec_t> exec_types, std::span<const int64_t> dim_sizes, std::span<const int64_t> strides_in0, std::span<const int64_t> strides_in1, std::span<const int64_t> strides_out)
-
class ZeroEorPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
ZeroEorPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the EOR Zero primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~ZeroEorPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
ZeroEorPrimitiveBench(double runTime, uint32_t m, uint32_t n)
-
class ZeroXZRPrimitiveBench : public mini_jit::Benchmark
Public Functions
-
ZeroXZRPrimitiveBench(double runTime, uint32_t m, uint32_t n)
Constructor for the benchmark for the XZR Zero primitive.
- Parameters:
runTime – The time to run the benchmark in seconds.
m – number of rows in A and B.
n – number of columns in A and B.
-
~ZeroXZRPrimitiveBench() override = default
Destructor.
-
virtual void run() override
Runs the benchmark.
-
ZeroXZRPrimitiveBench(double runTime, uint32_t m, uint32_t n)