nk_status_t nk_bilinear_f64_best(
nk_f64_t const *a,
nk_f64_t const *b,
nk_f64_t const *c,
nk_size_t n,
nk_f64_t *result,
nk_capability_t capabilities,
nk_stream_t stream); | Symbol | a, b, c | result | Backends |
|---|---|---|---|
nk_bilinear_f64_best | nk_f64_t | nk_f64_t | 6 |
nk_bilinear_f32_best | nk_f32_t | nk_f64_t | 6 |
nk_bilinear_f16_best | nk_f16_t | nk_f32_t | 4 |
nk_bilinear_bf16_best | nk_bf16_t | nk_f32_t | 5 |
Backends
nk_bilinear_f64serialneonsmef64haswellskylakervvnk_bilinear_f32serialneonsmef64haswellskylakervvnk_bilinear_f16serialneonhaswellrvvnk_bilinear_bf16serialneonbfdothaswellgenoarvv
Computes aᵀ × C × b = Σᵢ Σⱼ aᵢ × cᵢⱼ × bⱼ
Parameters
a | in | The first vector. |
|---|---|---|
b | in | The second vector. |
c | in | The metric tensor or covariance matrix, stored row-major as an n × n matrix. |
n | in | The number of dimensions in the vectors. |
result | out | The output bilinear form value. |
capabilities | in | One device's capabilities, like nk_cpu_capabilities_enabled reports. |
stream | in | Null on the CPU, or the GPU stream of that device to queue on. |
Notes
The output value can be negative.
Statuses
nk_missing_kernel_kNo capability incapabilitieshas it.