Mir 1.0
Mir application programming interface
Memory benchmark functions

Data Structures

struct  mirml_membw_ctx_t_
 Context for memory bandwidth benchmarking. More...
 
struct  mirml_memlat_ctx_t_
 Context for memory latency benchmarking. More...
 

Macros

#define MIRML_MEMBENCH_BANDWIDTH_MAXTEST   15
 

Typedefs

typedef struct mirml_membw_ctx_t_ mirml_membw_ctx_t
 Context for memory bandwidth benchmarking.
 
typedef struct mirml_memlat_ctx_t_ mirml_memlat_ctx_t
 Context for memory latency benchmarking.
 

Functions

mirkl_error_tmirml_membench_bandwidth (int test_number, mirml_membw_ctx_t *ctx)
 Function for the determination of memory bandwidth. More...
 
mirkl_error_tmirml_membench_latency (mirkl_size_t buf_size, mirml_memlat_ctx_t *ctx)
 Function for the determination of memory latency. More...
 

Detailed Description

Memory benchmarking. The basic idea and implementation from https://github.com/ssvb/tinymembench

Function Documentation

◆ mirml_membench_bandwidth()

mirkl_error_t * mirml_membench_bandwidth ( int  test_number,
mirml_membw_ctx_t ctx 
)

Function for the determination of memory bandwidth.

Parameters
[in]test_numberTest number, valid values are in the range [1,MIRML_MEMBENCH_BANDWIDTH_MAXTEST]
[in,out]ctxContext. Can be used for fine tuning of testing by setting respective parameters. On output contains results.
Note
On input set the required fields of context structure to zero for using default settings.

◆ mirml_membench_latency()

mirkl_error_t * mirml_membench_latency ( mirkl_size_t  buf_size,
mirml_memlat_ctx_t ctx 
)

Function for the determination of memory latency.

Parameters
[in]buf_sizeSize of the test buffer in bytes.
[in,out]ctxContext. Can be used for fine tuning of testing by setting respective parameters. On output contains results.
Note
On input set the required fields of context structure to zero for using default settings.