matrix.hh File Reference

Overview

The batched containers: Matrix (owning), MatrixView (non-owning), KernelMatrixView (device-side), Vector and VectorView.

Dense storage is column-major. Element (i, j) of batch item b lives at data[b * stride + j * ld + i], all three counted in elements.

See also
Matrix model

Definition in file matrix.hh.

#include <random>
#include <memory>
#include <complex>
#include <type_traits>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <tuple>
#include <array>
#include <sstream>
#include <cmath>
#include <cstdint>
#include <optional>
#include <span>
#include <vector>
#include <batchlas/export.hh>
#include <batchlas/util/sycl-device-queue.hh>
#include <batchlas/util/sycl-span.hh>
#include <batchlas/util/sycl-vector.hh>
#include <batchlas/blas/enums.hh>

Go to the source code of this file.

Classes

struct  batchlas::NonZeros
 Non-zero count (per-item capacity) of a CSR matrix, as a distinct type. More...
struct  batchlas::Inc
 Element distance between consecutive vector entries, as a distinct type. More...
struct  batchlas::Stride
 Element distance between consecutive batch items, as a distinct type (0 = packed). More...
struct  batchlas::Ld
 Leading dimension (column pitch), as a distinct type (0 = packed). More...
struct  batchlas::BatchSize
 Number of batch items, as a distinct type. More...
struct  batchlas::SliceEnd
 Marker for "to the end" in a Slice: Slice(k, SliceEnd{}) selects [k, dim). More...
struct  batchlas::Slice
 A half-open index range [start, end) along one dimension. More...
struct  batchlas::KernelMatrixView< T, MType >
 Trivially copyable view of a MatrixView for use inside a SYCL kernel. More...
class  batchlas::MatrixView< T, MType >
 Non-owning view of a batch of matrices: the argument type of every entry point. More...
class  batchlas::Matrix< T, MType >
 Owning batch of batch_size() matrices of equal (capacity) shape. More...
class  batchlas::VectorView< T >
 Non-owning view of a batch of strided vectors: the vector argument type of the entry points. More...
struct  batchlas::Vector< T >
 Owning batch of batch_size() vectors of length size() in USM shared memory. More...

Namespaces

namespace  batchlas