Crate collenchyma_blas [] [src]

Provides backend-agnostic BLAS operations for Collenchyma.

BLAS (Basic Linear Algebra Subprograms) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix multiplication. They are the de facto standard low-level routines for linear algebra libraries; the routines have bindings for both C and Fortran. Although the BLAS specification is general, BLAS implementations are often optimized for speed on a particular machine, so using them can bring substantial performance benefits. BLAS implementations will take advantage of special floating point hardware such as vector registers or SIMD instructions.
Source

Overview

A Collenchyma Plugin describes the functionality through three types of traits.

Beside these traits a Collenchyma Plugin might also use macros for faster implementation for various Collenchyma Frameworks such as CUDA, OpenCL or common host CPU.

Beside these generic functionality through traits, a Plugin also extends the Collenchyma Backend with implementations of the generic functionality for the Collenchyma Frameworks.

For more information, give the Collenchyma docs a visit.

Modules

binary

Provides the IBlasBinary binary trait for Collenchyma's Framework implementation.

frameworks

Provides the specific Framework implementations for the Library Operations.

helper

Provides macros for convenient implementation of BLAS operations.

operation

Provides the IOperationX operation traits for Collenchyma's Framework implementation.

plugin

Provides the IBlas library trait for Collenchyma implementation.

transpose

Provides the Transpose functionality for Matrix operations.

Macros

iblas_asum_for!
iblas_axpy_for!
iblas_copy_for!
iblas_dot_for!
iblas_gemm_for!
iblas_nrm2_for!
iblas_scale_for!
iblas_swap_for!