Clustering
C++20 header-only: DBSCAN, HDBSCAN, k-means.
Loading...
Searching...
No Matches
defaults.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4
5#include "clustering/math/detail/reference_gemm.h"
6
8
9#ifdef CLUSTERING_MATH_DEFAULT_BACKEND
17using Backend = CLUSTERING_MATH_DEFAULT_BACKEND;
18#else
26using Backend = ::clustering::math::detail::ReferenceGemm;
27#endif
28
29#ifdef CLUSTERING_PAIRWISE_GEMM_THRESHOLD
40inline constexpr std::size_t pairwiseGemmThreshold = CLUSTERING_PAIRWISE_GEMM_THRESHOLD;
41#else
52inline constexpr std::size_t pairwiseGemmThreshold = 100000;
53#endif
54
55#ifdef CLUSTERING_PAIRWISE_ARGMIN_MAX_D
65inline constexpr std::size_t pairwiseArgminMaxD = CLUSTERING_PAIRWISE_ARGMIN_MAX_D;
66#else
76inline constexpr std::size_t pairwiseArgminMaxD = 64;
77#endif
78
79} // namespace clustering::math::defaults
::clustering::math::detail::ReferenceGemm Backend
Alias resolving to the default GEMM backend tag.
Definition defaults.h:26
constexpr std::size_t pairwiseArgminMaxD
Maximum feature dimension for which the fused pairwiseArgminSqEuclidean driver is used.
Definition defaults.h:76
constexpr std::size_t pairwiseGemmThreshold
Workload threshold at which pairwiseSqEuclidean switches from the per-pair SIMD kernel to the GEMM-id...
Definition defaults.h:52