Agora  1.2.0
Agora project
utils.cc File Reference

Utility functions for file and text processing. More...

#include "utils.h"
#include <numa.h>
#include <cassert>
#include <iomanip>
#include <iostream>
#include <list>
#include <mutex>
#include <tuple>
#include "datatype_conversion.h"
Include dependency graph for utils.cc:

Classes

struct  CoreInfo
 

Functions

static size_t GetCoreId (size_t core)
 
static void PrintCoreList (const std::list< CoreInfo > &clist)
 
static void PrintBitmask (const struct bitmask *bm)
 
void PrintCoreAssignmentSummary ()
 
void SetCpuLayoutOnNumaNodes (bool verbose, const std::vector< size_t > &cores_to_exclude)
 
size_t GetPhysicalCoreId (size_t core_id)
 
int PinToCore (size_t core_id)
 
void PinToCoreWithOffset (ThreadType thread_type, size_t core_offset, size_t thread_id, bool allow_reuse, bool verbose)
 

Variables

static std::vector< size_t > cpu_layout
 
static bool cpu_layout_initialized = false
 
static std::mutex pin_core_mutex
 
static std::list< CoreInfocore_list
 

Detailed Description

Utility functions for file and text processing.

Function Documentation

◆ GetCoreId()

static size_t GetCoreId ( size_t  core)
static
Here is the caller graph for this function:

◆ GetPhysicalCoreId()

size_t GetPhysicalCoreId ( size_t  core_id)

◆ PinToCore()

int PinToCore ( size_t  core_id)
Here is the caller graph for this function:

◆ PinToCoreWithOffset()

void PinToCoreWithOffset ( ThreadType  thread_type,
size_t  core_offset,
size_t  thread_id,
bool  allow_reuse,
bool  verbose 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintBitmask()

static void PrintBitmask ( const struct bitmask *  bm)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintCoreAssignmentSummary()

void PrintCoreAssignmentSummary ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintCoreList()

static void PrintCoreList ( const std::list< CoreInfo > &  clist)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetCpuLayoutOnNumaNodes()

void SetCpuLayoutOnNumaNodes ( bool  verbose,
const std::vector< size_t > &  cores_to_exclude 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ core_list

std::list<CoreInfo> core_list
static

◆ cpu_layout

std::vector<size_t> cpu_layout
static

◆ cpu_layout_initialized

bool cpu_layout_initialized = false
static

◆ pin_core_mutex

std::mutex pin_core_mutex
static