Orrery
A GPU-accelerated N-body gravitational simulator
Loading...
Searching...
No Matches
cpu_features.hpp
Go to the documentation of this file.
1#pragma once
2
26
27#include <string_view>
28
29namespace orrery::backend {
30
44 bool avx{};
45
47 bool avx2{};
48
53 bool fma{};
54};
55
62[[nodiscard]] const CpuFeatures& cpu_features() noexcept;
63
73[[nodiscard]] std::string_view cpu_brand() noexcept;
74
75} // namespace orrery::backend
std::string_view cpu_brand() noexcept
The processor's own name for itself, or an empty view where it does not offer one.
const CpuFeatures & cpu_features() noexcept
What this processor supports, computed once and cached.
The instruction set extensions this project can make use of.
Definition cpu_features.hpp:39
bool fma
Fused multiply-add.
Definition cpu_features.hpp:53
bool avx2
256-bit integer vectors and the wider shuffles, on the same terms.
Definition cpu_features.hpp:47
bool avx
256-bit floating-point vectors, with the operating system's consent.
Definition cpu_features.hpp:44