L1 — Vector Operations ====================== Single-block vector primitives: scaled sums, copies, scaling, dot products, reductions, norms, and elementwise logic. Pure-SIMT (``glass::block::``, bare ``glass::``) routines are listed first, followed by the cooperative-groups (``glass::cgrps::``) variants. Single-warp (``glass::warp::``) variants, where they exist, render inline beside their block-scoped sibling (e.g. under *reduce*); see :doc:`warp`. axpy / axpby ------------ .. doxygenfile:: src/base/L1/axpy.cuh .. doxygenfile:: src/base/L1/axpy_strided.cuh copy ---- .. doxygenfile:: src/base/L1/copy.cuh .. doxygenfile:: src/base/L1/copy_strided.cuh scal ---- .. doxygenfile:: src/base/L1/scal.cuh swap ---- .. doxygenfile:: src/base/L1/swap.cuh rot / rotg (Givens plane rotation) ---------------------------------- Apply (``rot``, BLAS SROT/DROT: ``x = c*x + s*y``, ``y = c*y - s*x``; block + ``glass::warp::``) and generate (``rotg``, BLAS SROTG/DROTG semantics, the overflow-safe scaled form; a ``__host__ __device__`` scalar helper). .. doxygenfile:: src/base/L1/rot.cuh dot --- .. doxygenfile:: src/base/L1/dot.cuh .. doxygenfile:: src/base/L1/dot_strided.cuh .. doxygenfile:: src/base/L1/dot_strided_coalesced.cuh reduce ------ .. doxygenfile:: src/base/L1/reduce.cuh prefix_sum ---------- .. doxygenfile:: src/base/L1/prefix_sum.cuh Norms ----- .. doxygenfile:: src/base/L1/norm.cuh .. doxygenfile:: src/base/L1/nrm2.cuh .. doxygenfile:: src/base/L1/nrm1_diff.cuh .. doxygenfile:: src/base/L1/infnorm.cuh .. doxygenfile:: src/base/L1/asum.cuh Index of max-abs (iamax) ------------------------ .. doxygenfile:: src/base/L1/iamax.cuh clip ---- .. doxygenfile:: src/base/L1/clip.cuh set_const --------- .. doxygenfile:: src/base/L1/set_const.cuh identity -------- .. doxygenfile:: src/base/L1/ident.cuh symmetrize ---------- .. doxygenfile:: src/base/L1/symmetrize.cuh transpose --------- .. doxygenfile:: src/base/L1/transpose.cuh Elementwise logic ----------------- .. doxygenfile:: src/base/L1/elementwise_logic.cuh Cooperative-groups variants (``glass::cgrps::``) ------------------------------------------------ .. doxygenfile:: src/cgrps/l1.cuh