## HPL Documentation

The HPL software distribution comes with a set of text files explaining how to install, run and tune the software. These files reside in the top level directory and their names are in upper case. To a large extent, this page reproduces them. In addition, man- and HTML-pages are provided for every routine in the package. To access the man pages, one must add hpl/man to its MANPATH environment variable. The HTML pages can be accessed on this site, or by pointing your browser to your local hpl/www directory. Finally, the source code has been heavily documented. Despite all the other documentation efforts, the source code remains the most trustworthy and truthful piece of information about what goes on in HPL.

### HPL Functions HTML Pages

Computational Kernels Wrappers When calling the Fortran 77 BLAS interface, these C functions allow to confine the C to Fortran 77 interface issues to a small subset of routines.

- HPL_idamax
- HPL_dscal
- HPL_dswap

- HPL_dcopy
- HPL_daxpy

- HPL_dgemv
- HPL_dger
- HPL_dtrsv

- HPL_dgemm
- HPL_dtrsm

Local Auxiliaries Basic functionality, local swap functions.

- HPL_fprintf
- HPL_warn
- HPL_abort
- HPL_dlaprnt
- HPL_dlamch
- HPL_dlacpy

- HPL_dlange
- HPL_dlatcpy
- HPL_dlaswp00N
- HPL_dlaswp01N
- HPL_dlaswp02N

- HPL_dlaswp03N
- HPL_dlaswp04N
- HPL_dlaswp05N
- HPL_dlaswp06N
- HPL_dlaswp10N

- HPL_dlaswp01T
- HPL_dlaswp03T
- HPL_dlaswp04T
- HPL_dlaswp05T
- HPL_dlaswp06T

Parallel Auxiliaries Index computations, parallel basic functionality.

- HPL_indxg2l
- HPL_indxg2lp
- HPL_indxg2p

- HPL_indxl2g
- HPL_infog2l
- HPL_numroc

- HPL_numrocI
- HPL_pwarn
- HPL_pabort

- HPL_pdlaprnt
- HPL_pdlamch
- HPL_pdlange

Grid Management Most of these routines have a direct MPI equivalent. On new systems, when the entire MPI functionality is not yet readily available, these functions are particularly convenient since they rely on a mininal subset of the MPI standard.

- HPL_grid_exit
- HPL_grid_info
- HPL_grid_init

- HPL_all_reduce
- HPL_barrier
- HPL_broadcast

- HPL_reduce
- HPL_max
- HPL_min

- HPL_pnum
- HPL_sum

Panel Management

- HPL_pdpanel_disp

- HPL_pdpanel_free

- HPL_pdpanel_init

- HPL_pdpanel_new

Panel Factorization Recursive (matrix-multiply based) and (matrix-vector based) panel factorization.

- HPL_dlocmax
- HPL_dlocswpN
- HPL_dlocswpT
- HPL_pdmxswp

- HPL_pdpancrN
- HPL_pdpancrT
- HPL_pdrpancrN
- HPL_pdrpancrT

- HPL_pdpanllN
- HPL_pdpanllT
- HPL_pdrpanllN
- HPL_pdrpanllT

- HPL_pdpanrlN
- HPL_pdpanrlT
- HPL_pdrpanrlN
- HPL_pdrpanrlT
- HPL_pdfact

Panel Broadcast

- HPL_bcast
- HPL_binit

- HPL_bwait
- HPL_copyL

- HPL_packL
- HPL_recv

- HPL_sdrv
- HPL_send

Update

- HPL_perm
- HPL_pipid
- HPL_plindx0
- HPL_plindx1
- HPL_plindx10

- HPL_equil
- HPL_pdlaswp00N
- HPL_pdlaswp01N
- HPL_pdlaswp00T
- HPL_pdlaswp01T

- HPL_logsort
- HPL_rollN
- HPL_rollT
- HPL_spreadN
- HPL_spreadT

- HPL_pdupdateNN
- HPL_pdupdateNT
- HPL_pdupdateTN
- HPL_pdupdateTT

Main Factorization / Look-ahead

- HPL_pdgesv

- HPL_pdgesv0

- HPL_pdgesvK1

- HPL_pdgesvK2

Backward Substitution

- HPL_pdtrsv

Matrix generation A C version of the ScaLAPACK random matrix generator with less functionality though.

- HPL_setran
- HPL_rand

- HPL_jumpit
- HPL_xjumpm

- HPL_ladd
- HPL_lmul

- HPL_dmatgen
- HPL_pdmatgen

Timers Sequential and parallel timing utilities.

- HPL_timer
- HPL_ptimer

- HPL_timer_cputime
- HPL_timer_walltime

- HPL_ptimer_cputime
- HPL_ptimer_walltime

Main Testing / Timing Driver

- HPL_pddriver

- HPL_pdinfo

- HPL_pdtest

[Home] [Copyright and Licensing Terms] [Algorithm] [Scalability] [Performance Results] [Documentation] [Software] [FAQs] [Tuning] [Errata-Bugs] [References] [Related Links]