Multi-core Hash Joins
Main-memory hash join implementations for multi-core CPUs
Macros | Functions | Variables
Performance Monitoring Tools.

Macros

#define PER_CORE   0
 
#define PER_SOCKET   1
 
#define PER_SYSTEM   0
 

Functions

void PCM_initPerformanceMonitor (const char *pcmcfg, const char *pcmout)
 
void PCM_start ()
 
void PCM_stop ()
 
void PCM_printResults ()
 
void PCM_cleanup ()
 
void PCM_accumulate ()
 
void PCM_printAccumulators ()
 
void PCM_log (char *msg)
 

Variables

char * PCM_CONFIG
 
char * PCM_OUT
 

Detailed Description

A set of methods to use Intel Performance Counter Monitor library.

Warning
This tool is only available when compiled with C++ (g++).

Macro Definition Documentation

◆ PER_CORE

#define PER_CORE   0

Is performance monitoring PER_CORE?

Definition at line 25 of file perf_counters.h.

◆ PER_SOCKET

#define PER_SOCKET   1

Is performance monitoring PER_SOCKET?

Definition at line 30 of file perf_counters.h.

◆ PER_SYSTEM

#define PER_SYSTEM   0

Is performance monitoring PER_SYSTEM?

Definition at line 35 of file perf_counters.h.

Function Documentation

◆ PCM_accumulate()

void PCM_accumulate ( )

Accumulates results between last start and stop calls to the internal accumulator state.

Definition at line 335 of file perf_counters.c.

◆ PCM_cleanup()

void PCM_cleanup ( )

Cleans up the PCM state before program shutdown.

Definition at line 334 of file perf_counters.c.

◆ PCM_initPerformanceMonitor()

void PCM_initPerformanceMonitor ( const char *  pcmcfg,
const char *  pcmout 
)

Initializes the Intel Performance Counter Monitor instance. If no config is specified, then default counters are used, i.e. instr. retired, cycles, cache misses, etc.

Parameters
pcmcfgconfiguration file which determines counters to be used.
pcmoutoutput file to which PCM results should go, NULL->stdout

Intel PCM is only available from C++

Definition at line 330 of file perf_counters.c.

◆ PCM_log()

void PCM_log ( char *  msg)

Logs a message to the performance counters output file (default is stdout)

Definition at line 337 of file perf_counters.c.

◆ PCM_printAccumulators()

void PCM_printAccumulators ( )

Prints out accumlated counters so far (upto the last PCM_accumulate() call)

Definition at line 336 of file perf_counters.c.

◆ PCM_printResults()

void PCM_printResults ( )

Prints out performance counter results to the given output file.

Parameters
perf_outfileoutput file for performance results.

Definition at line 333 of file perf_counters.c.

◆ PCM_start()

void PCM_start ( )

Starts the performance counters.

Definition at line 331 of file perf_counters.c.

◆ PCM_stop()

void PCM_stop ( )

Stops collecting performance counter events.

Definition at line 332 of file perf_counters.c.

Variable Documentation

◆ PCM_CONFIG

char* PCM_CONFIG
extern

custom performance counters config file, if NULL no custom config.

◆ PCM_OUT

char* PCM_OUT
extern

the output file for performance counter results, if NULL output to stdout