HPL_equil(3)
π HPL_equil β bestie's guide to equilibrating U and forwarding that column panel L π
okay so this is a page from the HPL Library Functions manual, and honestly? it's giving linear algebra main character energy. let's get into it π«Ά
β¨ NAME β¨
HPL_equil β equilibrate U and forward the column panel L. yes literally that's the whole vibe. slay.
πΈ SYNOPSIS πΈ
#include "hpl.h"
void HPL_equil( HPL_T_panel * PBCST, int * IFLAG, HPL_T_panel * PANEL,
const enum HPL_TRANS TRANS, const int N, double * U, const int LDU, int
* IPLEN, const int * IPMAP, const int * IPMAPM1, int * IWORK );
no cap, that's the whole signature. copy it exactly bestie, don't freestyle it π
π¦ DESCRIPTION π¦
so what does HPL_equil actually do?? it equilibrates the local pieces of U, so that when you exit this function, the pieces of U chillin' in every process row are all the same size. why do we care? because this phase makes the rolling phase optimal. periodt. β¨
and that's not even all β this function also probes for the column panel L and forwards it when possible. multitasking queen π
π ARGUMENTS π
PBCSTβ (local input/output)HPL_T_panel *β on entry,PBCSTpoints to the data structure containing the panel (to be broadcast) information. it's the panel that's about to get broadcasted, iykyk π‘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 will be contained inIFLAGon exit. so like, it comes back changed. glow up πPANELβ (local input/output)HPL_T_panel *β on entry,PANELpoints to the data structure containing the panel (to be equilibrated) information. yes there are two panel pointers. yes that's on purpose. no we're not gonna question it πTRANSβ (global input)const enum HPL_TRANSβ on entry,TRANSspecifies whetherUis stored in transposed or non-transposed form. pick a lane bestie π¦Nβ (local input)const intβ on entry,Nspecifies the number of rows or columns ofU. andNmust be at least 0. don't be out here passing negatives, that's not the move πUβ (local input/output)double *β on entry,Uis an array of dimension(LDU,*)containing the local pieces ofUin each process row. she's the star of the show honestly πLDUβ (local input)const intβ on entry,LDUspecifies the local leading dimension ofU.LDUshould be at leastMAX(1,IPLEN[nprow])whenUis stored in non-transposed form, andMAX(1,N)otherwise. so the minimum flips depending on your storage form β keep track bestie, don't mix them up π§IPLENβ (global input)int *β on entry,IPLENis an array of dimensionNPROW+1. this array is such thatIPLEN[i+1] - IPLEN[i]is the number of rows ofUin processIPMAP[i]. it's a prefix-sum situation and we love that for her πIPMAPβ (global input)const int *β on entry,IPMAPis an array of dimensionNPROW. this array contains the logarithmic mapping of the processes. in other words,IPMAP[myrow]is the absolute coordinate of the sorted process. that's your little address book of who's who πIPMAPM1β (global input)const int *β on entry,IPMAPM1is an array of dimensionNPROW. this array contains the inverse of the logarithmic mapping contained inIPMAP: foriin[0.. NPROCS),IPMAPM1[IPMAP[i]] = i. yes it's the reverse uno card πIWORKβ (workspace)int *β on entry,IWORKis a workarray of dimensionNPROW+1. it's just scratch space, she's doing her best π
heads up bestie:Nmust be at least 0, andLDUhas thatMAX(1,IPLEN[nprow])/MAX(1,N)requirement depending on whetherUis non-transposed or not. those are the receipts, don't skip them π§Ύ
π₯ SEE ALSO π₯
HPL_pdlaswp01N(3)HPL_pdlaswp01T(3)
go read those next, they're the sequel bestie πβ¨
and that's the whole page!! this was HPL_equil(3) from the HPL Library Functions manual, version HPL 2.2, dated February 24, 2016. mwah, go forth and equilibrate 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