struct affinity_data

Declaration

struct affinity_data { /* full declaration omitted */ };

Description

////////////////////////////////////////////////////////////////////////

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:25

Method Overview

  • public void add_punit(std::size_t virt_core, std::size_t thread_num)
  • public affinity_data()
  • public std::size_t get_num_pus_needed() const
  • public std::size_t get_num_threads() const
  • public threads::detail::mask_cref_type get_pu_mask(const threads::detail::topology & topo, std::size_t num_thread) const
  • protected std::size_t get_pu_num(std::size_t num_thread, std::size_t hardware_concurrency) const
  • public std::size_t get_pu_num(std::size_t num_thread) const
  • public std::size_t get_thread_occupancy(const threads::detail::topology & topo, std::size_t pu_num) const
  • public threads::detail::mask_type get_used_pus_mask(const threads::detail::topology & topo, std::size_t pu_num) const
  • public void init(std::size_t num_threads = 1, std::size_t max_cores = 1, std::size_t pu_offset = 0, std::size_t pu_step = 1, std::size_t used_cores = 0, std::string affinity_domain = "pu", const std::string & affinity_description = "balanced", bool use_process_mask = false)
  • public void init_cached_pu_nums(std::size_t hardware_concurrency)
  • public void set_affinity_masks(std::vector<threads::detail::mask_type> && affinity_masks)
  • public void set_affinity_masks(const std::vector<threads::detail::mask_type> & affinity_masks)
  • public void set_num_threads(size_t num_threads)
  • public void set_pu_nums(const std::vector<std::size_t> & pu_nums)
  • public void set_pu_nums(std::vector<std::size_t> && pu_nums)
  • public ~affinity_data()

Methods

void add_punit(std::size_t virt_core,
               std::size_t thread_num)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:80

Parameters

std::size_t virt_core
std::size_t thread_num

affinity_data()

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:27

std::size_t get_num_pus_needed() const

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:83

std::size_t get_num_threads() const

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:52

threads::detail::mask_cref_type get_pu_mask(
    const threads::detail::topology& topo,
    std::size_t num_thread) const

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:57

Parameters

const threads::detail::topology& topo
std::size_t num_thread

std::size_t get_pu_num(
    std::size_t num_thread,
    std::size_t hardware_concurrency) const

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:89

Parameters

std::size_t num_thread
std::size_t hardware_concurrency

std::size_t get_pu_num(
    std::size_t num_thread) const

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:66

Parameters

std::size_t num_thread

std::size_t get_thread_occupancy(
    const threads::detail::topology& topo,
    std::size_t pu_num) const

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:63

Parameters

const threads::detail::topology& topo
std::size_t pu_num

threads::detail::mask_type get_used_pus_mask(
    const threads::detail::topology& topo,
    std::size_t pu_num) const

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:61

Parameters

const threads::detail::topology& topo
std::size_t pu_num

void init(std::size_t num_threads = 1,
          std::size_t max_cores = 1,
          std::size_t pu_offset = 0,
          std::size_t pu_step = 1,
          std::size_t used_cores = 0,
          std::string affinity_domain = "pu",
          const std::string&
              affinity_description = "balanced",
          bool use_process_mask = false)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:30

Parameters

std::size_t num_threads = 1
std::size_t max_cores = 1
std::size_t pu_offset = 0
std::size_t pu_step = 1
std::size_t used_cores = 0
std::string affinity_domain = "pu"
const std::string& affinity_description = "balanced"
bool use_process_mask = false

void init_cached_pu_nums(
    std::size_t hardware_concurrency)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:81

Parameters

std::size_t hardware_concurrency

void set_affinity_masks(
    std::vector<threads::detail::mask_type>&&
        affinity_masks)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:46

Parameters

std::vector<threads::detail::mask_type>&& affinity_masks

void set_affinity_masks(
    const std::vector<threads::detail::mask_type>&
        affinity_masks)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:41

Parameters

const std::vector<threads::detail::mask_type>& affinity_masks

void set_num_threads(size_t num_threads)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:36

Parameters

size_t num_threads

void set_pu_nums(
    const std::vector<std::size_t>& pu_nums)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:71

Parameters

const std::vector<std::size_t>& pu_nums

void set_pu_nums(
    std::vector<std::size_t>&& pu_nums)

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:75

Parameters

std::vector<std::size_t>&& pu_nums

~affinity_data()

Declared at: libs/pika/affinity/include/pika/affinity/affinity_data.hpp:28