alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
utility.hpp File Reference
#include "alpaka/api/host/hwloc/hwlocConfig.hpp"
#include "alpaka/api/host/sysInfo.hpp"
#include "alpaka/core/util.hpp"
#include "alpaka/unused.hpp"
#include <fstream>
#include <optional>
#include <sstream>
#include <string>
#include <thread>

Go to the source code of this file.

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::onHost
 Functionality which is usable on the host CPU controller thread.
namespace  alpaka::onHost::internal
namespace  alpaka::onHost::internal::hwloc
 Implement functions required to set thread affinity and pin memory.

Functions

size_t alpaka::onHost::internal::hwloc::getFreeGlobalMemBytes (uint32_t numaIdx)
 Return the number of free bytes in the numa domain.
size_t alpaka::onHost::internal::hwloc::getMemCapacityBytes (uint32_t numaIdx)
 Return the number of bytes of the numa domain.
uint32_t alpaka::onHost::internal::hwloc::getNumCores (uint32_t numaIdx)
 Return the number of cores which has direct access to the numa domain.
uint32_t alpaka::onHost::internal::hwloc::getNumNumaDomains ()
 Get the number of NUMA domains.
std::optional< size_t > alpaka::onHost::internal::hwloc::parseNodeMemInfoValueBytes (unsigned osNodeIndex, std::string_view key)
 Parse the OS NUMA information.
template<typename T>
void alpaka::onHost::internal::hwloc::pinPointer (T *const ptr, size_t bytes, uint32_t numaIdx)
 Set the NUMA domain for the memory range described by ptr and bytes.
void alpaka::onHost::internal::hwloc::setThreadAffinity (uint32_t numaIdx)
 Set the affinity of the current thread to all cores of the NUMA domain.

Variables

constexpr uint32_t alpaka::onHost::internal::hwloc::allNumaDomains = std::numeric_limits<uint32_t>::max()
 Constant to select all NUMA domains.