HPL_pdlaswp01T(3)
π HPL_pdlaswp01T β the HPL Library Functions era π
okay bestie, welcome to HPL_pdlaswp01T(3), straight out of the HPL Library Functions lineup. this is the page for the girl who broadcasts a column panel and swaps a row panel, all in one go. she's booked, she's busy, she's iconic. let's get into it π
β¨ NAME β¨
HPL_pdlaswp01T β Broadcast a column panel L and swap the row panel U. π¦
πΈ SYNOPSIS πΈ
#include "hpl.h"
void HPL_pdlaswp01T( HPL_T_panel * PBCST, int * IFLAG, HPL_T_panel *
PANEL, const int NN );
π DESCRIPTION π
so basically, HPL_pdlaswp01T 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 algorithm is called "Spread then roll" and honestly? it ate. it performs the swap :: broadcast of the row panel U at once, which gives you a minimal communication volume and a "very good" use of the connectivity, if the connectivity is even available like that. π«
with P process rows, and assuming bi-directional links (we love a two-way street), the running time of this function can be approximated by:
(log_2(P)+(P-1)) * lat + K * 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. no cap.
K is a constant in (2,3] that depends on the achieved bandwidth during a simultaneous message exchange between two processes. an empirical optimistic value of K is typically 2.4. she's giving "we ran the numbers and we're being hopeful." π₯
π ARGUMENTS π
PBCSTβ (local input/output)HPL_T_panel *on entry,PBCSTpoints to the data structure containing the panel (to be broadcast) information. she's holding the broadcast receipts. π¬IFLAGβ (local input/output)int *on entry,IFLAGindicates whether or not the broadcast has already been completed. if not, probing will occur, and the outcome will be contained inIFLAGon exit. so it's a lil "are we done or are we not" situation. πPANELβ (local input/output)HPL_T_panel *on entry,PANELpoints to the data structure containing the panel information. the panel's whole file, basically. π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.NNmust be at least zero. do not come in here with a negativeNN, she will not be doing that. π
π SEE ALSO π
HPL_pdgesv (3)HPL_pdgesvK2 (3)HPL_pdupdateNT (3)HPL_pdupdateTT (3)HPL_pipid (3)HPL_plindx1 (3)HPL_plindx10 (3)HPL_spreadT (3)HPL_equil (3)HPL_rollT (3)HPL_dlaswp10N (3)HPL_dlaswp01T (3)HPL_dlaswp06T (3)
and that's the whole page, bestie, you understood the assignment π«Ά this was HPL 2.2, dated February 24, 2016 β yes she's a 2016 girlie and she still serves. periodt. β¨π
π¦ 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