Basic Linear Algebra Subprograms (BLAS) and C BLAS (CBLAS)
The following information lists the ESSL subprograms corresponding to a subprogram in the standard set of BLAS and CBLAS.
Level 1 BLAS
Descriptive Name | Short-Precision Subprogram | Long-Precision Subprogram |
---|---|---|
ISAMAX, IDAMAX, ICAMAX, and IZAMAX (Position of the First or Last Occurrence of the Vector Element Having the Largest Magnitude) |
ISAMAX
ICAMAX cblas_isamax cblas_idamax |
IDAMAX
IZAMAX cblas_icamax cblas_izamax |
SASUM, DASUM, SCASUM, and DZASUM (Sum of the Magnitudes of the Elements in a Vector) |
SASUM
SCASUM cblas_sasum cblas_scasum |
DASUM
DZASUM cblas_dasum cblas_dcasum |
SAXPY, DAXPY, CAXPY, and ZAXPY (Multiply a Vector X by a Scalar, Add to a Vector Y, and Store in the Vector Y) |
SAXPY
CAXPY cblas_saxpy cblas_caxpy |
DAXPY
ZAXPY cblas_daxpy cblas_zaxpy |
SCOPY, DCOPY, CCOPY, and ZCOPY (Copy a Vector) |
SCOPY
CCOPY cblas_scopy cblas_ccopy |
DCOPY
ZCOPY cblas_dcopy cblas_zcopy |
SDOT, DDOT, CDOTU, ZDOTU, CDOTC, and ZDOTC (Dot Product of Two Vectors) |
SDOT
CDOTU CDOTC cblas_sdot cblas_cdotu_sub cblas_cdotc_sub |
DDOT
ZDOTU ZDOTC cblas_ddot cblas_zdotu_sub cblas_zdotc_sub |
SNRM2, DNRM2, SCNRM2, and DZNRM2 (Euclidean Length of a Vector with Scaling of Input to Avoid Destructive Underflow and Overflow) |
SNRM2
SCNRM2 cblas_snrm2 cblas_scnrm2 |
DNRM2
DZNRM2 cblas_dnrm2 cblas_dznrm2 |
SROTG, DROTG, CROTG, and ZROTG (Construct a Givens Plane Rotation) |
SROTG
CROTG cblas_srotg cblas_crotg |
DROTG
ZROTG cblas_drotg cblas_zrotg |
SROT, DROT, CROT, ZROT, CSROT, and ZDROT (Apply a Plane Rotation) |
SROT
CROT CSROT cblas_srot cblas_crot cblas_csrot |
DROT
ZROT ZDROT cblas_drot cblas_zrot cblas_zdrot |
SROTMG and DROTMG (Construct a modified Givens Transformation) |
SROTMG
cblas_srotmg |
DROTMG
cblas_drotmg |
SROTM and DROTM (Apply a modified Givens Transformation) |
SROTM
cblas_srotm |
DROTM
cblas_drotm |
SSCAL, DSCAL, CSCAL, ZSCAL, CSSCAL, and ZDSCAL (Multiply a Vector X by a Scalar and Store in the Vector X) |
SSCAL
CSCAL CSSCAL cblas_sscal cblas_cscal cblas_csscal |
DSCAL
ZSCAL ZDSCAL cblas_dscal cblas_zscal cblas_zdscal |
SSWAP, DSWAP, CSWAP, and ZSWAP (Interchange the Elements of Two Vectors) |
SSWAP
CSWAP cblas_sswap cblas_cswap |
DSWAP
ZSWAP cblas_dswap cblas_zswap |
Level 2 BLAS
Level 3 BLAS
Note: xerbla is not used by ESSL but is included in the ESSL libraries for use in other
programming environments (for example, Python).
CBLAS Subroutines
Note the following about the CBLAS subroutines:
- The definitions of the CBLAS data types and prototypes are included in the ESSL header files.
In the beginning of your program, before you call any of the CBLAS subroutines, you must code the
following statement for the ESSL header file:
#include <essl.h>
- CBLAS enumerated types have changed to type definitions for ESSL Version 5 Release 5 and changes are required if you used enumerated types. See Migrating Programs from ESSL for Linux on Power Version 5 Release 4 to Version 5 Release 5 for the required changes to your existing programs
- For information about CBLAS calling sequences, see Syntax and [11].