|
BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Header containing mangled F77 BLAS routine names. More...
#include <oski/config.h>Go to the source code of this file.
Defines | |
| #define | INC_OSKI_BLAS_NAMES_H |
| blas_names.h included. | |
| #define | F77_FUNC(x, y) x |
| Default definition for F77_FUNC if none exists. | |
Macros for creating BLAS routine names. | |
| #define | MAKE_BLAS_NAME0(tag, name, TAG, NAME) F77_FUNC(tag ## name, TAG ## NAME) |
| Creates an Fortran-77 name by concatenating a type tag and a base name. | |
| #define | MAKE_BLAS_NAME0_I(itag, tag, name, ITAG, TAG, NAME) F77_FUNC(itag ## tag ## name, ITAG ## TAG ## NAME) |
| Generate a non-standard BLAS name which includes an additional prefix to indicate the integer precision. | |
| #define | MAKE_BLAS_NAME1(tag, name, TAG, NAME) MAKE_BLAS_NAME0(tag, name, TAG, NAME) |
| Creates a Fortran 77 name by concatenating a type tag and a base name. | |
| #define | MAKE_BLAS_NAME1_I(itag, tag, name, ITAG, TAG, NAME) MAKE_BLAS_NAME0_I(itag, tag, name, ITAG, TAG, NAME) |
| Generates a non-standard BLAS name which includes an additional prefix to indicate the integer precision. | |
| #define | MAKE_BLAS_NAME(name, NAME) MAKE_BLAS_NAME1(VAL_TAG, name, VAL_TAG_CAPS, NAME) |
| Make the standard name of a BLAS routine. | |
| #define | MAKE_BLAS_NAME_I(name, NAME) |
| Make the non-standard name of a BLAS routine which uses a non-standard integer precision. | |
BLAS routine names, hidden behind macros. | |
| #define | BLAS_xSCAL MAKE_BLAS_NAME_I(scal, SCAL) |
| #define | BLAS_xAXPY MAKE_BLAS_NAME_I(axpy, AXPY) |
| #define | BLAS_xGEMV MAKE_BLAS_NAME_I(gemv, GEMV) |
| #define | BLAS_xTRSV MAKE_BLAS_NAME_I(trsv, TRSV) |
Functions | |
| void | BLAS_xSCAL (const oski_index_t *len, oski_value_t *alpha, oski_value_t *x, const oski_index_t *stride) |
BLAS vector scale routine, ?scal, which computes . | |
| void | BLAS_xAXPY (const oski_index_t *len, const oski_value_t *alpha, const oski_value_t *x, const oski_index_t *incx, oski_value_t *y, const oski_index_t *incy) |
BLAS vector AXPY operation, ?axpy, which computes . | |
| void | BLAS_xGEMV (const char *op, const oski_index_t *m, const oski_index_t *n, const oski_value_t *alpha, const oski_value_t *A, const oski_index_t *lda, const oski_value_t *x, const oski_index_t *incx, const oski_value_t *beta, oski_value_t *y, const oski_index_t *incy) |
BLAS matrix-vector multiply routine, ?gemv, which computes the dense matrix-vector multiply operation, . | |
| void | BLAS_xTRSV (const char *shape, const char *op, const char *diag, const oski_index_t *n, const oski_value_t *A, const oski_index_t *lda, oski_value_t *x, const oski_index_t *incx) |
BLAS triangular solve routine, ?trsv, which computes dense triangular solve operation, . | |
Header containing mangled F77 BLAS routine names.
This file depends on config.h, and so is intended for use only at library build time.
| #define INC_OSKI_BLAS_NAMES_H |
blas_names.h included.
| #define MAKE_BLAS_NAME | ( | name, | |
| NAME | |||
| ) | MAKE_BLAS_NAME1(VAL_TAG, name, VAL_TAG_CAPS, NAME) |
Make the standard name of a BLAS routine.
Given the base BLAS routine name, in both lowercase and uppercase versions (e.g., gemm and GEMM, trsv and TRSV), create a Fortran 77 compatible name, given the C-to-Fortran calling conventions determined at configure time.
| #define MAKE_BLAS_NAME0 | ( | tag, | |
| name, | |||
| TAG, | |||
| NAME | |||
| ) | F77_FUNC(tag ## name, TAG ## NAME) |
Creates an Fortran-77 name by concatenating a type tag and a base name.
This macro directly concatenates. To allow for macro expansion, see MAKE_BLAS_NAME1().
| [in] | tag | Lowercase, single-letter type tag. |
| [in] | name | Lowercase base name. |
| [in] | TAG | Uppercase, single-letter type tag. |
| [in] | NAME | Uppercase base name. |
| #define MAKE_BLAS_NAME1 | ( | tag, | |
| name, | |||
| TAG, | |||
| NAME | |||
| ) | MAKE_BLAS_NAME0(tag, name, TAG, NAME) |
Creates a Fortran 77 name by concatenating a type tag and a base name.
This macro immediately calls MAKE_BLAS_NAME0(), thereby allowing the tags and base names to be macros that are expanded just before concatenation.
| #define MAKE_BLAS_NAME_I | ( | name, | |
| NAME | |||
| ) |
MAKE_BLAS_NAME1_I(IND_TAG, VAL_TAG, name, \ IND_TAG_CAPS, VAL_TAG_CAPS, NAME)
Make the non-standard name of a BLAS routine which uses a non-standard integer precision.
| void BLAS_xAXPY | ( | const oski_index_t * | len, |
| const oski_value_t * | alpha, | ||
| const oski_value_t * | x, | ||
| const oski_index_t * | incx, | ||
| oski_value_t * | y, | ||
| const oski_index_t * | incy | ||
| ) |
BLAS vector AXPY operation, ?axpy, which computes
.
| [in] | len | Length of x and y. |
| [in] | alpha | Scalar multiplier, . |
| [in] | x | Vector . |
| [in] | incx | Distance between consecutive elements of . |
| [in,out] | y | Vector . |
| [in] | incy | Distance between consecutive elements of . |
| void BLAS_xGEMV | ( | const char * | op, |
| const oski_index_t * | m, | ||
| const oski_index_t * | n, | ||
| const oski_value_t * | alpha, | ||
| const oski_value_t * | A, | ||
| const oski_index_t * | lda, | ||
| const oski_value_t * | x, | ||
| const oski_index_t * | incx, | ||
| const oski_value_t * | beta, | ||
| oski_value_t * | y, | ||
| const oski_index_t * | incy | ||
| ) |
BLAS matrix-vector multiply routine, ?gemv, which computes the dense matrix-vector multiply operation,
.
| [in] | op | Transpose operation ('n', 't'), |
| [in] | m | Number of rows in . |
| [in] | n | Number of columns in . |
| [in] | A | Array storing , in column major format. |
| [in] | lda | Leading dimension of A. |
| [in] | alpha | Scalar . |
| [in] | x | Vector . |
| [in] | incx | Distance between in x. |
| [in] | beta | Scalar . |
| [in,out] | y | Vector . |
| [in] | incy | Distance between in y. |
References IS_VAL_ONE, IS_VAL_ZERO, and OSKI_ERR_BAD_MATOP.
| void BLAS_xSCAL | ( | const oski_index_t * | len, |
| oski_value_t * | alpha, | ||
| oski_value_t * | x, | ||
| const oski_index_t * | stride | ||
| ) |
BLAS vector scale routine, ?scal, which computes
.
| [in] | len | Length of the vector. |
| [in] | alpha | Scalar multiplier, . |
| [in,out] | x | Vector, . |
| [in] | stride | Distance between consecutive elements. |
| void BLAS_xTRSV | ( | const char * | shape, |
| const char * | op, | ||
| const char * | diag, | ||
| const oski_index_t * | n, | ||
| const oski_value_t * | A, | ||
| const oski_index_t * | lda, | ||
| oski_value_t * | x, | ||
| const oski_index_t * | incx | ||
| ) |
BLAS triangular solve routine, ?trsv, which computes dense triangular solve operation,
.
| [in] | shape | Lower or upper triangular ('l' or 'u'). |
| [in] | op | Transpose operation ('n', 't', 'c'). |
| [in] | diag | Has unit diag or not ('u', 'n'). |
| [in] | n | Dimension of . |
| [in] | A | Values of the dense matrix , in column major layout. |
| [in] | lda | Leading dimension of A. |
| [in,out] | x | Initial right-hand side, which is overwritten by the solution on output. |
| [in] | incx | Distance between elements of x. |
References xTRSV().
1.7.6.1