(git:1f285aa)
dbm_library.c File Reference
#include <assert.h>
#include <inttypes.h>
#include <omp.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "dbm_library.h"
#include "dbm_mempool.h"
#include "dbm_mpi.h"

Go to the source code of this file.

Macros

#define DBM_NUM_COUNTERS   64
 

Functions

void dbm_library_init (void)
 Initializes the DBM library. More...
 
void dbm_library_finalize (void)
 Finalizes the DBM library. More...
 
static int floorlog10 (const int x)
 Computes min(3, floor(log10(x))). More...
 
void dbm_library_counter_increment (const int m, const int n, const int k)
 Add given block multiplication to stats. This routine is thread-safe. More...
 
static int compare_counters (const void *a, const void *b)
 Comperator passed to qsort to compare two counters. More...
 
void dbm_library_print_stats (const int fortran_comm, void(*print_func)(char *, int), const int output_unit)
 Prints statistics gathered by the DBM library. More...
 

Variables

static int64_t ** per_thread_counters = NULL
 
static bool library_initialized = false
 
static int max_threads = 0
 

Macro Definition Documentation

◆ DBM_NUM_COUNTERS

#define DBM_NUM_COUNTERS   64

Definition at line 20 of file dbm_library.c.

Function Documentation

◆ dbm_library_init()

void dbm_library_init ( void  )

Initializes the DBM library.

Author
Ole Schuett

Definition at line 34 of file dbm_library.c.

◆ dbm_library_finalize()

void dbm_library_finalize ( void  )

Finalizes the DBM library.

Author
Ole Schuett

Definition at line 62 of file dbm_library.c.

Here is the call graph for this function:

◆ floorlog10()

static int floorlog10 ( const int  x)
static

Computes min(3, floor(log10(x))).

Author
Ole Schuett

Definition at line 84 of file dbm_library.c.

◆ dbm_library_counter_increment()

void dbm_library_counter_increment ( const int  m,
const int  n,
const int  k 
)

Add given block multiplication to stats. This routine is thread-safe.

Author
Ole Schuett

Definition at line 101 of file dbm_library.c.

◆ compare_counters()

static int compare_counters ( const void *  a,
const void *  b 
)
static

Comperator passed to qsort to compare two counters.

Author
Ole Schuett

Definition at line 112 of file dbm_library.c.

Here is the caller graph for this function:

◆ dbm_library_print_stats()

void dbm_library_print_stats ( const int  fortran_comm,
void(*)(char *, int)  print_func,
const int  output_unit 
)

Prints statistics gathered by the DBM library.

Author
Ole Schuett

Definition at line 120 of file dbm_library.c.

Here is the call graph for this function:

Variable Documentation

◆ per_thread_counters

int64_t** per_thread_counters = NULL
static

Definition at line 22 of file dbm_library.c.

◆ library_initialized

bool library_initialized = false
static

Definition at line 23 of file dbm_library.c.

◆ max_threads

int max_threads = 0
static

Definition at line 24 of file dbm_library.c.