Wiki
Clone wikiblaze / Release Archive
Blaze 3.8
- Released on August, 15th, 2020
- Introduction of the
isinf()
andisfinite()
functions - Introduction of groups/tags for vectors and matrices
- Introduction of the
repeat()
function for vectors and matrices - Introduction of allocators for
DynamicVector
andDynamicMatrix
- Extended support for custom data types
- Optimizations of the dense vector norm and reduction kernels
- Optimizations of the dense matrix norm and reduction kernels
Blaze 3.7
- Released on February, 23rd, 2020
- Introduction of vector generators and matrix generators
- Introduction of the dense matrix exponential
- Introduction of the
solve()
function for dense linear systems - Support for 64-bit BLAS and LAPACK libraries
- Enable instance-specific alignment and padding configuration for
StaticVector
,HybridVector
,StaticMatrix
, andHybridMatrix
constexpr
ification ofHybridVector
andHybridMatrix
- Introduction of outer sum, outer difference, and outer quotient operations
- Introduction of N-ary
map()
operations for dense vectors and matrices (up toN<=6
) - Introduction of the
select()
function for dense vectors and matrices - Introduction of the
rank()
function for dense matrices - Introduction of the
declunilow()
anddecluniupp()
functions - Introduction of the
declstrlow()
anddeclstrupp()
functions - Introduction of the
nosimd()
function for vectors and matrices - Introduction of the
noalias()
function for vectors and matrices - Introduction of the
isPositiveDefinite()
function for dense matrices - Introduction of the
eigen()
expression - Introduction of the
svd()
expression - Introduction of a
std::array
constructor for all dense vectors and dense matrices - Introduction of
min()
andmax()
overloads for vector/scalar and matrix/scalar operations - Optimizations of the dense matrix/dense vector multiplication kernels
- Optimizations of the dense matrix/dense matrix multiplication kernels
- Extended support for C++17 class template argument deduction (CTAD)
Blaze 3.6
- Released on August, 25th, 2019
- Introduction of the Kronecker product for vectors and matrices
- Introduction of statistic operations for vectors and matrices
- Introduction of the
argmin()
andargmax()
functions for dense and sparse vectors - Introduction of scalar addition and scalar subtraction for vectors and matrices
- Introduction of bitwise operations for dense vectors and dense matrices
- Introduction of uniform and elementwise left/right shift operators
- Introduction of bitwise AND
- Introduction of bitwise OR
- Introduction of bitwise XOR
- Introduction of logical operations for dense vectors and dense matrices
- Introduction of logical NOT
- Introduction of logical AND
- Introduction of logical OR
- Introduction of scalar expansion for vectors and matrices
- 994 new test cases
Blaze 3.5
- Released on February, 26th, 2019
- Introduction of extended element selections
- Introduction of extended row selections
- Introduction of extended column selections
- Introduction of the
reverse()
functions for vectors and matrices - Introduction of the
UniformVector
class template - Introduction of the
UniformMatrix
class template - Introduction of the
ZeroVector
class template - Introduction of the
ZeroMatrix
class template - Improved compatibility with C++17
- Improved support for Skylake processors
- 1024 new test cases
- Deprecation of the Blazemark
Blaze 3.4
- Released on August, 21st, 2018
- Introduction of vector reduction operations
- Introduction of matrix reduction operations
- Introduction of the
sign()
function - Introduction of the
softmax()
function - Massive internal refactorings providing ...
- ... simplified integration of custom vector and matrix types
- ... improved compile times
- Introduction of the FAQ wiki page
- Introduction of the issue creation guideline wiki page
- 152 new test cases
Blaze 3.3
- Released on February, 11th, 2018
- Introduction of compile time configured views
- Introduction of element selections
- Introduction of row selections
- Introduction of column selections
- Introduction of band views
- Introduction of the HPX shared-memory parallelization backend
- Introduction of the
atan2()
andhypot()
functions - Introduction of vector norms (
norm()
,sqrNorm()
,l1Norm()
,l2Norm()
,l3Norm()
,l4Norm()
,lpNorm()
,maxNorm()
) - Introduction of matrix norms (
norm()
,sqrNorm()
,l1Norm()
,l2Norm()
,l3Norm()
,l4Norm()
,lpNorm()
,maxNorm()
) - Introduction of the
SmallVector
class template
Blaze 3.2
- Released on August, 18th, 2017
- Introduction of CMake support
- Introduction of the advanced configuration system
- Introduction of full AVX-512 support
- Introduction of the
IdentityMatrix
class template- Introduction of the
declid()
function
- Introduction of the
- Introduction of the componentwise matrix multiplication (Schur product)
- Introduction of binary custom operations
- Removed the ownership semantics from
CustomVector
andCustomMatrix
- Support for 0-sized
StaticVector
andStaticMatrix
- Introduction of cross product assignment operators for all vectors
- 1145 new test cases
Blaze 3.1
- Released on February, 18th, 2017
- Improved kernels for large matrix/matrix multiplications
- Introduction of the
declsym()
,declherm()
,decllow()
,declupp()
, anddecldiag()
operations- Provide optimizations for symmetric matrix/matrix multiplications
- Provide optimizations for Hermitian matrix/matrix multiplications
- Provide optimizations for lower or upper triangular matrix/matrix multiplications
- Provide optimizations for diagonal matrix/matrix multiplications
- Introduction of the
eigen()
functions for the computation of eigenvalues and eigenvectors - Introduction of the
svd()
functions for the singular value decomposition - Introduction of the
trace()
function - Introduction of the
evaluate()
function - Introduction of 5 new componentwise operations for vectors and matrices:
exp2
,exp10
,log2
,trunc
,round
- Introduction of predicate-based
erase()
functions to all sparse vectors and matrices - Improved compatibility with OpenBLAS
- Improved compatibility with the Intel compilers
- Renamed the
clip()
function toclamp()
Blaze 3.0
- Released on August, 24th, 2016
- Upgrade to C++14
- Introduction of vector/vector divisions
- Introduction of custom operations (
forEach()
) - Introduction of 25 new componentwise operations for vectors and matrices:
- Introduction of initializer list constructors and assignment operators for dense vectors and matrices
- Support for fused multiply-add (FMA)
- Support for the Intel SVML
- Improved and extended support for AVX-512
- Removal of the direct initialization constructors of
StaticVector
andStaticMatrix
- Removal of the
Dense
andSparse
prefix of all viewsDenseSubvector
andSparseSubvector
have been merged into theSubvector
class templateDenseSubmatrix
andSparseSubmatrix
have been merged into theSubmatrix
class templateDenseRow
andSparseRow
have been merged into theRow
class templateDenseColumn
andSparseColumn
have been merged into theColumn
class template
- Removal of the
byDefault
matrix inversion flag - 114 new test cases
Blaze 2.6
- Released on February, 16th, 2016
- Introduction of BLAS wrapper functions for the matrix/vector and matrix/matrix multiplication
- Introduction of LAPACK wrapper functions for ...
- ... the LU, Cholesky, LDLT, LDLH, QR, RQ, QL, and LQ decomposition of dense matrices
- ... the inversion of dense matrices
- ... the forward/backward substitution of dense matrices
- ... solving linear systems of equations
- Introduction of the
det()
function for the computation of the determinant of dense matrices - Introduction of the
CustomVector
class template - Introduction of the
CustomMatrix
class template
Blaze 2.5
- Released on October, 1st, 2015
- Introduction of Hermitian matrices
- Introduction of the
conj()
andctrans()
operations - Introduction of the
real()
andimag()
operations - Improved kernels for dense matrix/sparse matrix multiplications
- Improved kernels for sparse matrix/dense matrix multiplications
- Vectorization of integral complex numbers
- Introduction of the error reporting customization
- Improved tutorial and wiki
- 664 new test cases
Blaze 2.4
- Released on July, 4th, 2015
- Introduction of unitriangular and strictly triangular matrices
- Introduction of diagonal matrices
- Advanced optimized kernels for triangular matrices
- Improved kernels for dense matrix/matrix multiplications
- 804 new test cases
Blaze 2.3
- Released on March, 11th, 2015
- Introduction of lower and upper triangular matrices
- Optimized kernels for triangular matrices
- Improved kernels for dense matrix/vector multiplications
- 748 new test cases
Blaze 2.2
- Released on December, 3rd, 2014
- Introduction of symmetric matrices
- Improved support for block-structured vectors and matrices
Blaze 2.1
- Released on June, 20th, 2014
- C++11 thread-based shared memory parallelization
- Boost thread-based shared memory parallelization
- Enable the parallel execution of block-structured vectors and matrices
- Introduction of the
HybridMatrix
class template
Blaze 2.0
- Released on March, 23rd, 2014
- OpenMP-based shared memory parallelization
- Introduction of aligned subvectors and submatrices
Blaze 1.5
- Released on January, 5th, 2014
- Significant performance improvements for various compilers, including GCC-4.7, GCC-4.8 and the Clang compiler
Blaze 1.4
- Released on November, 11th, 2013
- Introduction of subvector and submatrix views
- Switch from the GPL to the BSD license
Blaze 1.3
- Released on July, 28th, 2013
- Support for AVX2 processors
- Performance optimization of several operations (including e.g. outer products)
- Complete vectorization of vector and matrix operations involving
std::complex
- Serialization of vectors and matrices
Blaze 1.2
- Released on May, 24th, 2013
- Introduction of row and column views
- Myriads of small changes and improvements
Blaze 1.1
- Released on January, 20th, 2013
- Support for the Intel® MIC architecture
- Introduction of the 3D cross product
- Improved performance of the sparse matrix-matrix multiplication (spMMM)
- Improved support and performance for non-fundamental element types (for instance for block-structured matrices)
- Improved and extended aliasing detection and automatic optimization
- Rework of the random number generation module (for instance for the generation of random vectors and matrices)
- Improved vector and matrix output
Blaze 1.0
- Released on August, 24th, 2012
- Initial release of the Blaze library
Updated