HPL_pdlaswp00T(3)

πŸ“¦ version 2.2, in fedora 43, fedora 44

πŸ’– HPL_pdlaswp00T πŸ’–

okay bestie, welcome to the HPL Library Functions corner of the manual, this one's HPL_pdlaswp00T and she is busy β€” she broadcasts a column panel L and swaps the row panel U. Both. At once. Iconic behavior honestly. ✨


✨ SYNOPSIS ✨

#include "hpl.h"

void HPL_pdlaswp00T( HPL_T_panel * PBCST, int * IFLAG, HPL_T_panel *
PANEL, const int NN );

like, that's the whole signature, no cap. 🫢


🌸 DESCRIPTION 🌸

So HPL_pdlaswp00T applies the NB row interchanges to NN columns of the trailing submatrix and broadcasts a column panel. Two jobs, one function, main character energy fr fr. πŸ‘‘

The way it does it? Bi-directional exchange, bestie. It performs the swap :: broadcast of the row panel U at once, which means fewer messages than usual and a lower communication volume. Slay. With P process rows and assuming bi-directional links, the running time of this function can be approximated by:

log_2(P) * (lat + NB*LocQ(N) / bdwth)

where NB is the number of rows of the row panel U, N is the global number of columns being updated, and lat and bdwth are the latency and bandwidth of the network for double precision real words. Lowkey important: mono directional links will double this communication cost. 😭 not the mono directional links.


πŸŽ€ ARGUMENTS πŸŽ€

  • PBCST β€” (local input/output) HPL_T_panel * β€” On entry, PBCST points to the data structure containing the panel (to be broadcast) information. She's the broadcast baddie. πŸ“£
  • IFLAG β€” (local input/output) int * β€” On entry, IFLAG indicates whether or not the broadcast has already been completed. If it's not, probing will occur, and the outcome will be contained in IFLAG on exit. So like, check it on the way out bestie. πŸ™ˆ
  • PANEL β€” (local input/output) HPL_T_panel * β€” On entry, PANEL points to the data structure containing the panel (to be broadcast and swapped) information. Yes, both. She does it all. πŸ’…
  • NN β€” (local input) const int β€” On entry, NN specifies the local number of columns of the trailing submatrix to be swapped and broadcast starting at the current position. NN must be at least zero. Zero is fine, negative is not it. πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

the girlies in her group chat, all in the same (3) section:

  • HPL_pdgesv (3)
  • HPL_pdgesvK2 (3)
  • HPL_pdupdateNT (3)
  • HPL_pdupdateTT (3)
  • HPL_pipid (3)
  • HPL_plindx0 (3)
  • HPL_dlaswp01T (3)
  • HPL_dlaswp02N (3)
  • HPL_dlaswp03T (3)
  • HPL_dlaswp04T (3)
  • HPL_dlaswp05T (3)

okay that's the whole page, you ate that. go forth and swap your panels. πŸ’–

and that's a wrap on HPL_pdlaswp00T β€” brought to you by HPL 2.2, dated February 24, 2016, still serving looks all these years later. bye bestie!! πŸŒˆπŸŽ€βœ¨

πŸ“¦ where this page comes from