|
NumericAL
A header-only C++20 lexer built on REAL
|
The real operands of gemm_split, kept by each thread from one product to the next (split_storage): mapping their pages anew took a third to a half of a complex product of order 64 to 256 on one x86-64 core (six AVX2 cores, all threads: order 128 0.52 → 0.17 ms), 15–20 % of one of order 256 on arm64.
More...
#include <gemm.hpp>
Public Attributes | |
| buffer< R > | a {} |
A's parts for a block of depth: [Re A | −Im A | Im A], or [Re A | −Im A]. | |
| buffer< R > | b {} |
B's parts for a block of columns and of depth: [Re B | Im B], or [[Re B, Im B], [Im B, −Re B]]. | |
| buffer< R > | c {} |
[Re C | Im C], a block of columns. | |
The real operands of gemm_split, kept by each thread from one product to the next (split_storage): mapping their pages anew took a third to a half of a complex product of order 64 to 256 on one x86-64 core (six AVX2 cores, all threads: order 128 0.52 → 0.17 ms), 15–20 % of one of order 256 on arm64.