Orrery
A GPU-accelerated N-body gravitational simulator
Toggle main menu visibility
Loading...
Searching...
No Matches
cpu_features.hpp
Go to the documentation of this file.
1
#pragma once
2
26
27
#include <string_view>
28
29
namespace
orrery::backend {
30
39
struct
CpuFeatures
{
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
orrery::backend::cpu_brand
std::string_view cpu_brand() noexcept
The processor's own name for itself, or an empty view where it does not offer one.
orrery::backend::cpu_features
const CpuFeatures & cpu_features() noexcept
What this processor supports, computed once and cached.
orrery::backend::CpuFeatures
The instruction set extensions this project can make use of.
Definition
cpu_features.hpp:39
orrery::backend::CpuFeatures::fma
bool fma
Fused multiply-add.
Definition
cpu_features.hpp:53
orrery::backend::CpuFeatures::avx2
bool avx2
256-bit integer vectors and the wider shuffles, on the same terms.
Definition
cpu_features.hpp:47
orrery::backend::CpuFeatures::avx
bool avx
256-bit floating-point vectors, with the operating system's consent.
Definition
cpu_features.hpp:44
orrery
backend
cpu_features.hpp
Generated by
1.17.0