6#include <src/util/internal-api.hh>
39 if (cand > max_wg)
continue;
40 if (cand > 32 && cand / 2 >= q)
continue;
42 const long long groups_c = (q + cand - 1) / cand;
43 if (
static_cast<long long>(bs) * groups_c >= 4LL * cu)
break;
Non-owning view of a batch of matrices: the argument type of every entry point.
Enumerations, scalar traits and scalar concepts shared by every public header.
Transpose
The operator op() applied to an operand: op(A) = A, A^T or A^H.
Diag
Whether a triangular operand's diagonal is read or assumed to be one.
ComputePrecision
Internal compute precision of a GEMM (the cuBLAS cublasComputeType_t).
Uplo
Which triangle of a symmetric, Hermitian or triangular operand is referenced.
Side
Side on which a special operand multiplies: op(A) * B or B * op(A).
The batched containers: Matrix (owning), MatrixView (non-owning), KernelMatrixView (device-side),...
BATCHLAS_INTERNAL_API Event trsm_native_sg_left_dispatch(Queue &ctx, const MatrixView< T, MatrixFormat::Dense > &A, const MatrixView< T, MatrixFormat::Dense > &B, T alpha, Uplo uplo, Transpose transA, Diag diag)
BATCHLAS_INTERNAL_API Event trsm_native_blocked(Queue &ctx, const MatrixView< T, MatrixFormat::Dense > &A, const MatrixView< T, MatrixFormat::Dense > &B, T alpha, Side side, Uplo uplo, Transpose transA, Diag diag, TrsmTrailingGemm< T > trailing_gemm)
std::function< Event( Queue &, const MatrixView< T, MatrixFormat::Dense > &, const MatrixView< T, MatrixFormat::Dense > &, const MatrixView< T, MatrixFormat::Dense > &, T, T, Transpose, Transpose, ComputePrecision)> TrsmTrailingGemm
BATCHLAS_INTERNAL_API Event trsm_native_v1_dispatch(Queue &ctx, const MatrixView< T, MatrixFormat::Dense > &A, const MatrixView< T, MatrixFormat::Dense > &B, T alpha, Side side, Uplo uplo, Transpose transA, Diag diag)
constexpr int trsm_v1_ladder_wg(int max_wg, int cu, int q, int bs)
bool trsm_blocked_available()
constexpr int kTrsmSgLeftWgSize
constexpr int kTrsmSgLeftMaxN
constexpr int kTrsmV1MaxWg
Completion handle of enqueued work, returned by every entry point.
Event()
An empty Event, already complete.
Where BatchLAS work runs: a device, a backend, an ordered SYCL queue and a workspace arena.
batchlas::Device, batchlas::Event and batchlas::Queue: where work runs and how it is ordered.