Fork me on GitHub

src/arraymancer/laser/primitives/matrix_multiplication/gemm_ukernel_avx512

Search:
Group by:
  Source Edit

For the C codegen of AVX512 instructions to be valid, we need the following flag:See: https://stackoverflow.com/a/63711952 for a script to find the required compilation flags for specific SIMD functions.

Procs

proc gebb_ukernel_edge_float32_x86_AVX512[ukernel: static MicroKernel](
    mr`gensym3, nr`gensym3, kc`gensym3: int; alpha`gensym3: float32;
    packedA`gensym3, packedB`gensym3: ptr UncheckedArray[float32];
    beta`gensym3: float32; vC`gensym3: MatrixView[float32]) {.used.}
  Source Edit
proc gebb_ukernel_edge_float64_x86_AVX512[ukernel: static MicroKernel](
    mr`gensym7, nr`gensym7, kc`gensym7: int; alpha`gensym7: float64;
    packedA`gensym7, packedB`gensym7: ptr UncheckedArray[float64];
    beta`gensym7: float64; vC`gensym7: MatrixView[float64]) {.used.}
  Source Edit
proc gebb_ukernel_edge_int32_x86_AVX512[ukernel: static MicroKernel](
    mr`gensym11, nr`gensym11, kc`gensym11: int; alpha`gensym11: int32;
    packedA`gensym11, packedB`gensym11: ptr UncheckedArray[int32];
    beta`gensym11: int32; vC`gensym11: MatrixView[int32]) {.used.}
  Source Edit
proc gebb_ukernel_edge_int64_x86_AVX512[ukernel: static MicroKernel](
    mr`gensym15, nr`gensym15, kc`gensym15: int; alpha`gensym15: int64;
    packedA`gensym15, packedB`gensym15: ptr UncheckedArray[int64];
    beta`gensym15: int64; vC`gensym15: MatrixView[int64]) {.used.}
  Source Edit
proc gebb_ukernel_float32_x86_AVX512[ukernel: static MicroKernel](
    kc`gensym2: int; alpha`gensym2: float32;
    packedA`gensym2, packedB`gensym2: ptr UncheckedArray[float32];
    beta`gensym2: float32; vC`gensym2: MatrixView[float32]) {.used.}
  Source Edit
proc gebb_ukernel_float64_x86_AVX512[ukernel: static MicroKernel](
    kc`gensym6: int; alpha`gensym6: float64;
    packedA`gensym6, packedB`gensym6: ptr UncheckedArray[float64];
    beta`gensym6: float64; vC`gensym6: MatrixView[float64]) {.used.}
  Source Edit
proc gebb_ukernel_int32_x86_AVX512[ukernel: static MicroKernel](
    kc`gensym10: int; alpha`gensym10: int32;
    packedA`gensym10, packedB`gensym10: ptr UncheckedArray[int32];
    beta`gensym10: int32; vC`gensym10: MatrixView[int32]) {.used.}
  Source Edit
proc gebb_ukernel_int64_x86_AVX512[ukernel: static MicroKernel](
    kc`gensym14: int; alpha`gensym14: int64;
    packedA`gensym14, packedB`gensym14: ptr UncheckedArray[int64];
    beta`gensym14: int64; vC`gensym14: MatrixView[int64]) {.used.}
  Source Edit
Arraymancer Technical reference Tutorial Spellbook (How-To's) Under the hood