numerics
Loading...
Searching...
No Matches
matrix.cpp File Reference

Sequential and blocked C++ matrix operations. More...

#include "core/matrix.hpp"
#include <algorithm>

Go to the source code of this file.

Namespaces

namespace  num
 
namespace  num::backends
 
namespace  num::backends::seq
 

Functions

void num::backends::seq::matmul (const Matrix &A, const Matrix &B, Matrix &C)
 
void num::backends::seq::matvec (const Matrix &A, const Vector &x, Vector &y)
 
void num::backends::seq::matadd (real alpha, const Matrix &A, real beta, const Matrix &B, Matrix &C)
 
void num::backends::seq::matmul_blocked (const Matrix &A, const Matrix &B, Matrix &C, idx block_size)
 
void num::backends::seq::matmul_register_blocked (const Matrix &A, const Matrix &B, Matrix &C, idx block_size, idx reg_size)
 

Detailed Description

Sequential and blocked C++ matrix operations.

seq: textbook reference implementations (correct, readable, always available). blocked: cache-blocked loops that compiler can auto-vectorize. matmul_blocked and matmul_register_blocked live here – they are pure optimization algorithms, not class implementation.

Definition in file matrix.cpp.