HPL_pdlaprnt(3)
๐ HPL_pdlaprnt โ bestie, it's from the HPL Library Functions ๐
okay so real quick, the vibe: this is HPL_pdlaprnt(3), a whole icon in the HPL Library Functions lineup. no cap.
โจ NAME โจ
HPL_pdlaprnt โ print a distributed matrix A. that's it, that's the whole job, and she does it flawlessly ๐
๐ SYNOPSIS ๐
#include "hpl.h"
void HPL_pdlaprnt( const HPL_T_grid * GRID, const int M, const int N,
const int NB, double * A, const int LDA, const int IAROW, const int
IACOL, const char * CMATNM );
๐ธ DESCRIPTION ๐ธ
okay so HPL_pdlaprnt prints a distributed matrix A to standard error. not stdout, bestie โ standard error. read that again, i'll wait. ๐ซถ
the way it works is genuinely so cunty: the local pieces of A get sent over to the process at coordinates (0,0) in the grid, and then they get printed. so everybody's little shard of the matrix takes a lil trip to process (0,0) and that one process does the printing. main character energy fr fr ๐
๐ ARGUMENTS ๐
GRID(local input) โconst HPL_T_grid *on entry,GRIDpoints to the data structure holding all the process grid info. it's the map of who's where, basically. ๐บ๏ธM(global input) โconst inton entry,Msays how many rows the coefficient matrixAhas. and listen โMmust be at least zero. negative rows? not a thing, we don't do that here. ๐N(global input) โconst inton entry,Nsays how many columns the coefficient matrixAhas. same rule, bestie:Nmust be at least zero. โจNB(global input) โconst inton entry,NBis the blocking factor used to partition and distribute the matrix. and heads up โNBmust be larger than one. not one, not zero, larger than one. periodt. ๐A(local input) โdouble *on entry,Apoints to an array of dimension(LDA,LocQ(N)). this array holds the coefficient matrix that's about to get printed. she's the moment. ๐LDA(local input) โconst inton entry,LDAis the leading dimension of the arrayA. and it must be at leastmax(1,LocP(M)). do the math, don't skip it. ๐งฎIAROW(global input) โconst inton entry,IAROWis the row process coordinate that owns the first row ofA. it must be larger than or equal to zero and less thanNPROW. stay in your lane, literally. ๐ธIACOL(global input) โconst inton entry,IACOLis the column process coordinate that owns the first column ofA. it must be larger than or equal to zero and less thanNPCOL. same energy, different axis. ๐ฆCMATNM(global input) โconst char *on entry,CMATNMis the name of the matrix that's getting printed. give her a name, she deserves one. ๐
lowkey important: every single one of those "must be" rules? yeah, those are real. ignore them and it's giving undefined behaviour, and not the fun kind. ๐ญ
๐ SEE ALSO ๐
HPL_fprintf (3)โ go read her too, she's iconic in her own right.
okay and finally, the lil sign-off moment: this whole page is HPL 2.2, dated February 24, 2016. yeah, she's an older queen but she still ate and left no crumbs. stan forever. ๐ โจ๐
๐ฆ where this page comes from
- fedora 43: hpl-doc 2.2-22.fc43 ยท LicenseRef-Callaway-BSD-with-advertising
- fedora 44: hpl-doc 2.2-23.fc44 ยท LicenseRef-Callaway-BSD-with-advertising
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms