PandA-2024.02
Data Structures | Macros | Functions | Variables
polybench.c File Reference
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <assert.h>
#include <time.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sched.h>
#include <math.h>
#include "polybench.h"
Include dependency graph for polybench.c:

Go to the source code of this file.

Data Structures

struct  polybench_data_ptrs
 

Macros

#define POLYBENCH_THREAD_MONITOR   0
 This version is stamped on May 10, 2016. More...
 
#define POLYBENCH_CACHE_SIZE_KB   32770
 
#define NB_INITIAL_TABLE_ENTRIES   512
 

Functions

static double rtclock ()
 
void polybench_flush_cache ()
 
void polybench_prepare_instruments ()
 
void polybench_timer_start ()
 
void polybench_timer_stop ()
 
void polybench_timer_print ()
 
static void * xmalloc (size_t alloc_sz)
 
void polybench_free_data (void *ptr)
 
void * polybench_alloc_data (unsigned long long int n, int elt_size)
 

Variables

int polybench_papi_counters_threadid = POLYBENCH_THREAD_MONITOR
 
double polybench_program_total_flops = 0
 
static struct polybench_data_ptrs_polybench_alloc_table = NULL
 
static size_t polybench_inter_array_padding_sz = 0
 
double polybench_t_start
 
double polybench_t_end
 
unsigned long long int polybench_c_start
 
unsigned long long int polybench_c_end
 

Macro Definition Documentation

◆ NB_INITIAL_TABLE_ENTRIES

#define NB_INITIAL_TABLE_ENTRIES   512

Definition at line 66 of file polybench.c.

Referenced by polybench_timer_print().

◆ POLYBENCH_CACHE_SIZE_KB

#define POLYBENCH_CACHE_SIZE_KB   32770

Definition at line 41 of file polybench.c.

Referenced by polybench_flush_cache().

◆ POLYBENCH_THREAD_MONITOR

#define POLYBENCH_THREAD_MONITOR   0

This version is stamped on May 10, 2016.

Contact: Louis-Noel Pouchet <pouchet.ohio-state.edu> Tomofumi Yuki <tomofumi.yuki.fr>

Web address: http://polybench.sourceforge.net

Definition at line 36 of file polybench.c.

Function Documentation

◆ polybench_alloc_data()

void* polybench_alloc_data ( unsigned long long int  n,
int  elt_size 
)

FIXME: detect overflow!

Definition at line 557 of file polybench.c.

References xmalloc().

Here is the call graph for this function:

◆ polybench_flush_cache()

void polybench_flush_cache ( )

Definition at line 112 of file polybench.c.

References lenet_tvm::file, k, line(), NULL, POLYBENCH_CACHE_SIZE_KB, polybench_flush_cache(), polybench_papi_counters_threadid, and test_panda::stdout.

Referenced by polybench_flush_cache(), and polybench_prepare_instruments().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ polybench_free_data()

void polybench_free_data ( void *  ptr)

Definition at line 547 of file polybench.c.

◆ polybench_prepare_instruments()

void polybench_prepare_instruments ( )

Definition at line 353 of file polybench.c.

References polybench_flush_cache().

Referenced by polybench_timer_start().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ polybench_timer_print()

void polybench_timer_print ( )

◆ polybench_timer_start()

void polybench_timer_start ( )

Definition at line 364 of file polybench.c.

References polybench_c_start, polybench_prepare_instruments(), polybench_t_start, and rtclock().

Here is the call graph for this function:

◆ polybench_timer_stop()

void polybench_timer_stop ( )

Definition at line 375 of file polybench.c.

References polybench_c_end, polybench_t_end, and rtclock().

Here is the call graph for this function:

◆ rtclock()

static double rtclock ( )
static

Definition at line 83 of file polybench.c.

References NULL.

Referenced by polybench_timer_start(), and polybench_timer_stop().

Here is the caller graph for this function:

◆ xmalloc()

static void* xmalloc ( size_t  alloc_sz)
static

Definition at line 517 of file polybench.c.

References NULL, POLYBENCH_INTER_ARRAY_PADDING_FACTOR, polybench_inter_array_padding_sz, and test_panda::stderr.

Referenced by polybench_alloc_data().

Here is the caller graph for this function:

Variable Documentation

◆ _polybench_alloc_table

struct polybench_data_ptrs* _polybench_alloc_table = NULL
static

Definition at line 74 of file polybench.c.

◆ polybench_c_end

unsigned long long int polybench_c_end

Definition at line 80 of file polybench.c.

Referenced by polybench_timer_print(), and polybench_timer_stop().

◆ polybench_c_start

unsigned long long int polybench_c_start

Definition at line 80 of file polybench.c.

Referenced by polybench_timer_print(), and polybench_timer_start().

◆ polybench_inter_array_padding_sz

size_t polybench_inter_array_padding_sz = 0
static

Definition at line 75 of file polybench.c.

Referenced by xmalloc().

◆ polybench_papi_counters_threadid

int polybench_papi_counters_threadid = POLYBENCH_THREAD_MONITOR

Definition at line 45 of file polybench.c.

Referenced by polybench_flush_cache().

◆ polybench_program_total_flops

double polybench_program_total_flops = 0

Definition at line 46 of file polybench.c.

Referenced by polybench_timer_print().

◆ polybench_t_end

double polybench_t_end

Definition at line 78 of file polybench.c.

Referenced by polybench_timer_print(), and polybench_timer_stop().

◆ polybench_t_start

double polybench_t_start

Definition at line 78 of file polybench.c.

Referenced by polybench_timer_print(), and polybench_timer_start().


Generated on Mon Feb 12 2024 13:03:12 for PandA-2024.02 by doxygen 1.8.13