Introduction#

Library overview#

rocSOLVER is an implementation of LAPACK routines on top of the AMD’s open source ROCm platform. rocSOLVER is implemented in the HIP programming language and optimized for AMD’s latest discrete GPUs.

Currently implemented functionality#

The rocSOLVER library is in the early stages of active development. New features are being continuously added, with new functionality documented at each release of the ROCm platform.

The following tables summarize the LAPACK functionality implemented for the different supported precisions in rocSOLVER’s latest release. All LAPACK and LAPACK-like main functions include _batched and _strided_batched versions. For a complete description of the listed routines, please see the rocSOLVER API document.

LAPACK auxiliary functions#

Table 1 Vector and matrix manipulations#

Function

single

double

single complex

double complex

rocsolver_lacgv

x

x

x

x

rocsolver_laswp

x

x

x

x

Table 2 Householder reflections#

Function

single

double

single complex

double complex

rocsolver_larfg

x

x

x

x

rocsolver_larf

x

x

x

x

rocsolver_larft

x

x

x

x

rocsolver_larfb

x

x

x

x

Table 3 Bidiagonal forms#

Function

single

double

single complex

double complex

rocsolver_labrd

x

x

x

x

rocsolver_bdsqr

x

x

x

x

Table 4 Tridiagonal forms#

Function

single

double

single complex

double complex

rocsolver_sterf

x

x

rocsolver_latrd

x

x

x

x

rocsolver_steqr

x

x

x

x

rocsolver_stedc

x

x

x

x

Table 5 Symmetric matrices#

Function

single

double

single complex

double complex

rocsolver_lasyf

x

x

x

x

Table 6 Orthonormal matrices#

Function

single

double

single complex

double complex

rocsolver_org2r

x

x

rocsolver_orgqr

x

x

rocsolver_orgl2

x

x

rocsolver_orglq

x

x

rocsolver_org2l

x

x

rocsolver_orgql

x

x

rocsolver_orgbr

x

x

rocsolver_orgtr

x

x

rocsolver_orm2r

x

x

rocsolver_ormqr

x

x

rocsolver_orml2

x

x

rocsolver_ormlq

x

x

rocsolver_orm2l

x

x

rocsolver_ormql

x

x

rocsolver_ormbr

x

x

rocsolver_ormtr

x

x

LAPACK main functions#

Table 8 Triangular factorizations#

Function

single

double

single complex

double complex

rocsolver_potf2

x

x

x

x

rocsolver_potrf

x

x

x

x

rocsolver_getf2

x

x

x

x

rocsolver_getrf

x

x

x

x

rocsolver_sytf2

x

x

x

x

rocsolver_sytrf

x

x

x

x

Table 9 Orthogonal factorizations#

Function

single

double

single complex

double complex

rocsolver_geqr2

x

x

x

x

rocsolver_geqrf

x

x

x

x

rocsolver_gerq2

x

x

x

x

rocsolver_gerqf

x

x

x

x

rocsolver_gelq2

x

x

x

x

rocsolver_gelqf

x

x

x

x

rocsolver_geql2

x

x

x

x

rocsolver_geqlf

x

x

x

x

Table 10 Problem and matrix reductions#

Function

single

double

single complex

double complex

rocsolver_sytd2

x

x

rocsolver_sytrd

x

x

rocsolver_sygs2

x

x

rocsolver_sygst

x

x

rocsolver_hetd2

x

x

rocsolver_hetrd

x

x

rocsolver_hegs2

x

x

rocsolver_hegst

x

x

rocsolver_gebd2

x

x

x

x

rocsolver_gebrd

x

x

x

x

Table 11 Linear-systems solvers#

Function

single

double

single complex

double complex

rocsolver_trtri

x

x

x

x

rocsolver_getri

x

x

x

x

rocsolver_getrs

x

x

x

x

rocsolver_gesv

x

x

x

x

rocsolver_potri

x

x

x

x

rocsolver_potrs

x

x

x

x

rocsolver_posv

x

x

x

x

Table 12 Least-square solvers#

Function

single

double

single complex

double complex

rocsolver_gels

x

x

x

x

Table 13 Symmetric eigensolvers#

Function

single

double

single complex

double complex

rocsolver_syev

x

x

rocsolver_syevd

x

x

rocsolver_sygv

x

x

rocsolver_sygvd

x

x

rocsolver_heev

x

x

rocsolver_heevd

x

x

rocsolver_hegv

x

x

rocsolver_hegvd

x

x

Table 14 Singular value decomposition#

Function

single

double

single complex

double complex

rocsolver_gesvd

x

x

x

x

LAPACK-like functions#

Table 15 Triangular factorizations#

Function

single

double

single complex

double complex

rocsolver_getf2_npvt

x

x

x

x

rocsolver_getrf_npvt

x

x

x

x

Table 16 Linear-systems solvers#

Function

single

double

single complex

double complex

rocsolver_getri_npvt

x

x

x

x

rocsolver_getri_outofplace

x

x

x

x

rocsolver_getri_npvt_outofplace

x

x

x

x