CBLAS/src/cblas_sgemm.c(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸ’… CBLAS/src/cblas_sgemm.c(3) β€” the LAPACK girlies' guide

okay bestie, so this is a page out of the Library Functions Manual for CBLAS/src/cblas_sgemm.c, and honestly? it's giving "auto-generated but make it fashion" ✨ like the whole thing is a single header-ish file that wraps up the single-precision general matrix multiply, and I'm kind of obsessed 🫢


✨ NAME ✨

CBLAS/src/cblas_sgemm.c β€” that's literally it, that's the name, no long dramatic subtitle, the file speaks for itself πŸ’β€β™€οΈ


🌸 SYNOPSIS 🌸

#include 'cblas.h'
#include 'cblas_f77.h'

πŸŽ€ Macros

the little #define glue that makes the Fortran call work, no cap:

#define F77_TA   &TA
#define F77_TB   &TB
#define F77_M   M
#define F77_N   N
#define F77_K   K
#define F77_lda   lda
#define F77_ldb   ldb
#define F77_ldc   ldc

πŸ¦‹ Functions

void API_SUFFIX cblas_sgemm (const CBLAS_LAYOUT layout, const
    CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const
    CBLAS_INT M, const CBLAS_INT N, const CBLAS_INT K, const float
    alpha, const float *A, const CBLAS_INT lda, const float *B, const
    CBLAS_INT ldb, const float beta, float *C, const CBLAS_INT ldc)

🌈 Macro Definition Documentation 🌈

look at these babies, all documented one by one, alphabet-adjacent and thriving πŸ‘‘

  • #define F77_K K β€” passes K straight through to the Fortran side, lowkey just a rename but she's doing her job πŸ’œ
  • #define F77_lda lda β€” same energy for lda, the leading dimension of A πŸ“
  • #define F77_ldb ldb β€” and here's ldb, leading dimension of B 🧚
  • #define F77_ldc ldc β€” plus ldc, leading dimension of C, the whole trio ate πŸ’…
  • #define F77_M M β€” M goes through, unchanged, iconic ✨
  • #define F77_N N β€” N too, matching set, periodt πŸ’–
  • #define F77_TA &TA β€” ooh this one takes the address of TA, note the &, because that's how the transpose flag gets passed along πŸ”₯
  • #define F77_TB &TB β€” and same for TB, address-of, &TB, matching bestie behaviour 🫢

⭐ Function Documentation ⭐

void API_SUFFIX cblas_sgemm (...)

here's the whole signature again, laid out all pretty, every single parameter present and accounted for, because we do not skip details in this house 😀

void API_SUFFIX cblas_sgemm (const CBLAS_LAYOUT layout, const
    CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const CBLAS_INT M,
    const CBLAS_INT N, const CBLAS_INT K, const float alpha, const float *
    A, const CBLAS_INT lda, const float * B, const CBLAS_INT ldb, const
    float beta, float * C, const CBLAS_INT ldc)

and the receipts 🧾:

Definition at line 12 of file cblas_sgemm.c.

like, line 12, that's where it lives, that's the address, iykyk πŸ“


πŸ’€ Author πŸ’€

not a human, not a person, not even a girlie β€” this one was:

Generated automatically by Doxygen for LAPACK from the source code.

so if you were about to @ someone and thank them for writing this by hand? don't 😭 it was Doxygen. it was always Doxygen. the machine ate and left no crumbs πŸ€–βœ¨


and that's the whole page bestie, no notes, no cap πŸ’–

tiny reminder: everything above is exactly what the page says β€” same macros, same signature, same line number, same author line β€” I just gave it a wardrobe upgrade πŸŽ€

signing off from LAPACK, Version 3.12.0 πŸ¦‹ this was CBLAS/src/cblas_sgemm.c(3) and she served 🌸 mwah πŸ’‹

πŸ“¦ where this page comes from