HPL_pdlaswp00N(3)
π HPL_pdlaswp00N π
okay bestie, welcome to the HPL Library Functions corner of the man pages β this one's HPL_pdlaswp00N(3), and she is busy but she is iconic. grab a boba, we're doing distributed linear algebra gossip π§β¨
β¨ NAME β¨
HPL_pdlaswp00N β broadcast a column panel L and swap the row panel U. π¦
πΈ SYNOPSIS πΈ
#include "hpl.h"
void HPL_pdlaswp00N( HPL_T_panel * PBCST, int * IFLAG, HPL_T_panel *
PANEL, const int NN );
like yes she takes four things, we'll get to them, breathe π
π DESCRIPTION π
So HPL_pdlaswp00N does two things at once and honestly? multitasking queen behavior π. She applies the NB row interchanges to NN columns of the trailing submatrix, and she broadcasts a column panel. Two jobs, one function call, no cap.
The way she pulls this off is with bi-directional exchange β that's how she does the swap :: broadcast of the row panel U all at once. And the payoff is real: fewer messages than the usual situation, plus a lower communication volume. it's giving efficiency fr fr π₯
Now here's the math bit β if you've got P process rows and you assume bi-directional links, the running time of this function can be approximated by:
log_2(P) * (lat + NB*LocQ(N) / bdwth)
where:
NBis the number of rows of the row panel UNis the global number of columns being updatedlatandbdwthare the latency and bandwidth of the network for double precision real words
β οΈ heads up bestie: mono directional links will double this communication cost. so if your network is one-way-only, she's working twice as hard for the same clout π
π ARGUMENTS π
PBCST(local input/output) βHPL_T_panel *On entry,PBCSTpoints to the data structure containing the panel (to be broadcast) information. π‘IFLAG(local input/output) βint *On entry,IFLAGtells you whether or not the broadcast has already been completed. If it hasn't, probing will occur, and the outcome lands inIFLAGon exit. so like, she checks in, and she reports back π«ΆPANEL(local input/output) βHPL_T_panel *On entry,PANELpoints to the data structure containing the panel (to be broadcast and swapped) information. yes both. she contains multitudes πNN(local input) βconst intOn entry,NNspecifies the local number of columns of the trailing submatrix to be swapped and broadcast, starting at the current position. and listen βNNmust be at least zero. negative numbers are NOT the vibe π«
π SEE ALSO π
the whole friend group, go say hi:
HPL_pdgesv(3)HPL_pdgesvK2(3)HPL_pdupdateNN(3)HPL_pdupdateTN(3)HPL_pipid(3)HPL_plindx0(3)HPL_dlaswp01N(3)HPL_dlaswp02N(3)HPL_dlaswp03N(3)HPL_dlaswp04N(3)HPL_dlaswp05N(3)
and that's the whole page, bestie β you ate that. this was HPL 2.2, dated February 24, 2016, from the HPL Library Functions collection. slay, periodt, go swap some panels responsibly πβ¨ππ¦
π¦ 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