HPL_pdtrsv(3)
π HPL_pdtrsv π
okay bestie, sit down, grab a boba, because we're talking about HPL_pdtrsv from the HPL library functions, and it's literally the moment. this one solves triu( A ) x = b β¨ like, that's the whole vibe.
π¦ SYNOPSIS π¦
#include "hpl.h"
void HPL_pdtrsv( HPL_T_grid * GRID, HPL_T_pmat * AMAT );
look at her. two pointers, one dream. π
πΈ DESCRIPTION πΈ
so HPL_pdtrsv solves an upper triangular system of linear equations. that's the assignment. no notes. π
the rhs? it's the last column of the N by N+1 matrix A. and here's the tea: the solve starts in the process column that owns the Nth column of A, which means the rhs b may need to get moved one process column to the left at the beginning. so rude of it, but okay. π
because of that little shuffle, the routine needs a column vector in every process column but the one owning b. the result then gets replicated in all process rows and returned in XR β meaning XR is of size nq = LOCq( N ) in all processes. same size everywhere, we love consistency. π
the algorithm itself? it uses decreasing one-ring broadcast in process rows and columns, implemented in terms of synchronous communication point to point primitives. the lookahead of depth 1 is there to minimize the critical path, because we're efficient like that. π§
this entire operation is essentially ``latency'' bound, and an estimate of its running time is given by:
(move rhs) lat + N / ( P bdwth ) +
(solve) ((N / NB)-1) 2 (lat + NB / bdwth) +
gam2 N^2 / ( P Q ),
where gam2 is an estimate of the Level 2 BLAS rate of execution. there are N / NB diagonal blocks. and get this β you gotta exchange 2 messages of length NB to compute the next NB entries of the vector solution, plus do a total of N^2 floating point operations. it's giving math girlboss. π₯
β¨ ARGUMENTS β¨
GRIDβ (local input)HPL_T_grid *β on entry,GRIDpoints to the data structure containing the process grid information. she's the map, bestie. πΊοΈAMATβ (local input/output)HPL_T_pmat *β on entry,AMATpoints to the data structure containing the local array information. she's the data, she goes in and comes out. main character energy fr fr. π
π SEE ALSO π
HPL_pdgesv (3)β her sister. go say hi. π«Ά
HPL 2.2 Β· February 24, 2016 β that's the version and the date, babes, and that's the whole page. slay, you understood it, i'm so proud of you, no cap π πβ¨
π¦ 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