hardware

The contents of this module can be included with the header hpx/modules/hardware.hpp. These headers may be used by user-code but are not guaranteed stable (neither header location nor contents). You are using these at your own risk. If you wish to use non-public functionality from a module we strongly suggest only including the module header hpx/modules/hardware.hpp, not the particular header in which the functionality you would like to use is defined. See Public API for a list of names that are part of the public HPX API.

namespace hpx
namespace util
namespace hardware

Functions

template<typename T, typename U>
bool has_bit_set(T value, U bit)
template<std::size_t N, typename T>
T unbounded_shl(T x)
template<std::size_t N, typename T>
T unbounded_shr(T x)
template<std::size_t Low, std::size_t High, typename Result, typename T>
Result get_bit_range(T x)
template<std::size_t Low, typename Result, typename T>
Result pack_bits(T x)
template<std::size_t N, typename T>
struct unbounded_shifter

Public Static Functions

static T shl(T x)
static T shr(T x)
template<typename T>
struct unbounded_shifter<0, T>

Public Static Functions

static T shl(T x)
static T shr(T x)
namespace hpx
namespace util
namespace hardware

Functions

void cpuid(std::uint32_t (&cpuinfo)[4], std::uint32_t eax)
void cpuidex(std::uint32_t (&cpuinfo)[4], std::uint32_t eax, std::uint32_t ecx)
struct cpuid_register

Public Types

enum info

Values:

eax = 0
ebx = 1
ecx = 2
edx = 3
namespace hpx
namespace util
namespace hardware

Functions

HPX_DEVICE std::uint64_t hpx::util::hardware::timestamp_cuda()
namespace hpx
namespace util
namespace hardware

Functions

std::uint64_t timestamp()