% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/duckhts.R
\name{rduckhts_simd_backend}
\alias{rduckhts_simd_backend}
\alias{rduckhts_simd_requested_backend}
\alias{rduckhts_simd_backend_compiled}
\alias{rduckhts_simd_backend_cpu_supported}
\alias{rduckhts_simd_backend_available}
\alias{rduckhts_simd_info}
\alias{rduckhts_simd_kernel_info}
\alias{rduckhts_simd_set_backend}
\title{DuckHTS SIMD backend diagnostics}
\usage{
rduckhts_simd_backend(con)

rduckhts_simd_requested_backend(con)

rduckhts_simd_backend_compiled(con, backend)

rduckhts_simd_backend_cpu_supported(con, backend)

rduckhts_simd_backend_available(con, backend)

rduckhts_simd_info(con)

rduckhts_simd_kernel_info(con)

rduckhts_simd_set_backend(con, backend = "auto")
}
\arguments{
\item{con}{A DuckDB connection with DuckHTS loaded via \code{rduckhts_load()}.}

\item{backend}{A single backend request. \code{"auto"} selects the best
available implementation independently for each logical kernel at runtime
for \code{rduckhts_simd_set_backend()}. Backend inventory predicates such
as \code{rduckhts_simd_backend_available()} refer to concrete backends such
as \code{"scalar"}, \code{"sse2"}, \code{"sse41"}, \code{"avx2"},
\code{"avx512"}, \code{"neon"}, and \code{"wasm_simd128"}.}
}
\value{
\code{rduckhts_simd_backend()},
  \code{rduckhts_simd_requested_backend()}, and
  \code{rduckhts_simd_set_backend()} return a character scalar.
  \code{rduckhts_simd_backend_compiled()},
  \code{rduckhts_simd_backend_cpu_supported()}, and
  \code{rduckhts_simd_backend_available()} return logical scalars.
  \code{rduckhts_simd_info()} returns the extension-owned backend inventory
  table with one row per known backend; availability means compiled and
  CPU/runtime supported; SQL-level backend changes are process-wide and use
  the one-row \code{duckhts_simd_set_backend(...)} table function; the
  \code{selectable} column reports whether the backend has a selectable
  implementation path.
  Explicit selection still
  requires \code{available = TRUE}. \code{rduckhts_simd_kernel_info()}
  returns one row per logical SIMD kernel and is the authoritative diagnostic
  for mixed per-kernel auto-dispatch.
}
\description{
Inspect or explicitly select the SIMD dispatch policy used by bundled
DuckHTS byte-oriented helper kernels such as \code{seq_gc_content(...)}.
}
\examples{
\dontrun{
con <- rduckhts_connect()
rduckhts_simd_info(con)
rduckhts_simd_kernel_info(con)
rduckhts_simd_backend_available(con, "scalar")
rduckhts_simd_set_backend(con, "scalar")
rduckhts_simd_set_backend(con, "auto")
DBI::dbDisconnect(con, shutdown = TRUE)
}

}
