|
docc 0.8.3 (0d44999b)
C++ API Reference
|
BLAS (Basic Linear Algebra Subprograms) library node definitions. More...
#include <optional>#include "sdfg/codegen/code_snippet_factory.h"#include "sdfg/data_flow/library_nodes/math/math_node.h"Go to the source code of this file.
Classes | |
| class | sdfg::math::blas::BLASNode |
| Base class for BLAS operation nodes. More... | |
| class | sdfg::math::blas::BLASLibDependency |
Namespaces | |
| namespace | sdfg |
| namespace | sdfg::math |
| namespace | sdfg::math::blas |
Enumerations | |
| enum | sdfg::math::blas::BLAS_Precision { sdfg::math::blas::invalid = 0 , sdfg::math::blas::h = 'h' , sdfg::math::blas::s = 's' , sdfg::math::blas::d = 'd' , sdfg::math::blas::c = 'c' , sdfg::math::blas::z = 'z' } |
| Precision/data type for BLAS operations. More... | |
| enum | sdfg::math::blas::BLAS_Transpose { sdfg::math::blas::No = 111 , sdfg::math::blas::Trans = 112 , sdfg::math::blas::ConjTrans = 113 } |
| Transpose operation for BLAS matrices. More... | |
| enum | sdfg::math::blas::BLAS_Layout { sdfg::math::blas::RowMajor = 101 , sdfg::math::blas::ColMajor = 102 } |
| Memory layout for BLAS matrices. More... | |
Functions | |
| constexpr std::string_view | sdfg::math::blas::BLAS_Precision_to_string (BLAS_Precision precision) |
| constexpr std::string_view | sdfg::math::blas::BLAS_Transpose_to_string (BLAS_Transpose transpose) |
| constexpr char | sdfg::math::blas::BLAS_Transpose_to_char (BLAS_Transpose transpose) |
| constexpr std::string_view | sdfg::math::blas::BLAS_Layout_to_string (BLAS_Layout layout) |
| constexpr std::string_view | sdfg::math::blas::BLAS_Layout_to_short_string (BLAS_Layout layout) |
Variables | |
| data_flow::ImplementationType | sdfg::math::blas::ImplementationType_BLAS {"BLAS"} |
| BLAS implementation type Uses standard CPU BLAS libraries (OpenBLAS, Intel MKL, etc.). | |
BLAS (Basic Linear Algebra Subprograms) library node definitions.
This file defines base classes and enumerations for BLAS operations. BLAS nodes are mathematical library nodes that can be dispatched to various BLAS implementations (CPU BLAS, CUBLAS, etc.) based on their implementation type.
BLAS nodes support multiple implementation types:
The implementation type is used by dispatchers to generate appropriate library calls.
Common BLAS operations include: