Types
CPUFeatureX86 = enum x86_Generic, x86_SSE, x86_SSE2, x86_SSE4_1, x86_AVX, x86_AVX_FMA, x86_AVX2, x86_AVX512
- Source Edit
MicroKernel = object mr*, nr*: int cpu_simd*: CPUFeatureX86 nb_scalars*: int nb_vecs_nr*: int c_unit_stride*: bool pt*: int
- Source Edit
Procs
func get_num_tiles(dim_size, tile_size: int): int {.inline, ...raises: [], tags: [], forbids: [].}
- Get the number of tiles along a dimension depending on the tile size Source Edit
func partitionMNK(ukernel: static MicroKernel; T: typedesc; M, N, K: Natural): tuple[ mc, nc, kc: int]
- Source Edit
func x86_ukernel(cpu: CPUFeatureX86; T: typedesc; c_unit_stride: bool): MicroKernel
- Source Edit
Macros
macro extract_c_unit_stride(ukernel: static MicroKernel): untyped
- Source Edit
macro extract_cpu_simd(ukernel: static MicroKernel): untyped
- Source Edit
macro extract_mr(ukernel: static MicroKernel): untyped
- Source Edit
macro extract_nb_scalars(ukernel: static MicroKernel): untyped
- Source Edit
macro extract_nb_vecs_nr(ukernel: static MicroKernel): untyped
- Source Edit
macro extract_nr(ukernel: static MicroKernel): untyped
- Source Edit
macro extract_pt(ukernel: static MicroKernel): untyped
- Source Edit