nvml-sys 0.0.6

A low-level FFI wrapper around the Persistent Memory Development Kit, PMDK (formerly NVML) and its libraries, including libpmem, libpmemobj and others. Currently tracks master after version 1.3.1.
# This is an example config file for pmembench

# Global parameters
[global]
group = vmem
file = testdir.vmem
ops-per-thread = 100000

# vmem_malloc benchmark
# vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
[vmem_range_ppt_threads_malloc]
bench = vmem_malloc
stdlib-alloc = false
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_malloc benchmark
# no-vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
[novmem_range_ppt_threads_malloc]
bench = vmem_malloc
stdlib-alloc = true
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_free benchmark
# vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
[vmem_range_ppt_threads_free]
bench = vmem_free
stdlib-alloc = false
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_free benchmark
# no-vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
[novmem_range_ppt_threads_free]
bench = vmem_free
stdlib-alloc = true
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_free benchmark
# vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
# frees memory allocated by another thread
[vmem_range_ppt_mix_threads_free]
bench = vmem_free
stdlib-alloc = false
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true
mix-thread = true

# vmem_free benchmark
# no-vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
# frees memory allocated by another thread
[novmem_range_ppt_mix_threads_free]
bench = vmem_free
stdlib-alloc = true
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true
mix-thread = true

# vmem_malloc benchmark
# vmem allocator
# variable data size
[vmem_sizes_malloc]
bench = vmem_malloc
stdlib-alloc = false
data-size = 2:*2:16777216
ops-per-thread = 5
threads = 16

# vmem_malloc benchmark
# no-vmem allocator
# variable data size
[novmem_sizes_malloc]
bench = vmem_malloc
stdlib-alloc = true
data-size = 2:*2:16777216
ops-per-thread = 5
threads = 16

# vmem_free benchmark
# vmem allocator
# variable data size
[vmem_sizes_free]
bench = vmem_free
stdlib-alloc = false
data-size = 2:*2:16777216
ops-per-thread = 5
threads = 16

# vmem_free benchmark
# no-vmem allocator
# variable data size
[novmem_sizes_free]
bench = vmem_free
stdlib-alloc = true
data-size = 2:*2:16777216
ops-per-thread = 5
threads = 16

# vmem_free benchmark
# vmem allocator
# variable data size
# frees memory allocated by another thread
[vmem_sizes_mix_threads_free]
bench = vmem_free
stdlib-alloc = false
data-size = 2:*2:16777216
ops-per-thread = 5
no-warmup = true
mix-thread = true
threads = 16

# vmem_free benchmark
# no-vmem allocator
# variable data size
# frees memory allocated by another thread
[novmem_sizes_mix_threads_free]
bench = vmem_free
stdlib-alloc = true
data-size = 2:*2:16777216
ops-per-thread = 5
mix-thread = true
threads = 16

# vmem_mix benchmark
# vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
[vmem_range_ppt_threads_mix]
bench = vmem_mix
stdlib-alloc = false
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_mix benchmark
# no-vmem allocator
# range allocation
# variable number of threads
# creating one pool per thread
[novmem_range_ppt_threads_mix]
bench = vmem_mix
stdlib-alloc = true
threads = 1:+1:8
data-size = 2048
alloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_mix benchmark
# vmem allocator
# variable data size
[vmem_sizes_mix]
bench = vmem_mix
stdlib-alloc = false
data-size = 2:*2:16777216
threads = 16
ops-per-thread = 5

# vmem_mix benchmark
# no-vmem allocator
# variable data size
[novmem_sizes_mix]
bench = vmem_mix
stdlib-alloc = true
data-size = 2:*2:16777216
threads = 16
ops-per-thread = 5

# vmem_realloc benchmark
# vmem allocator
# range allocation and reallocation
# variable number of threads
# creating one pool per thread
[vmem_range_ppt_threads_realloc]
bench = vmem_realloc
stdlib-alloc = false
threads = 1:+1:8
data-size = 512
realloc-size = 2048
alloc-min = 0
realloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_mix benchmark
# no-vmem allocator
# range allocation and reallocation
# variable number of threads
# creating one pool per thread
[novmem_range_ppt_threads_realloc]
bench = vmem_realloc
stdlib-alloc = true
threads = 1:+1:8
data-size = 512
realloc-size = 2048
alloc-min = 0
realloc-min = 0
seed = 1234
pool-per-thread = true

# vmem_realloc benchmark
# vmem allocator
# variable data size
[vmem_sizes_realloc]
bench = vmem_realloc
stdlib-alloc = false
data-size = 1048576
realloc-size = 1048576:/2:2
ops-per-thread = 100

# vmem_realloc benchmark
# no-vmem allocator
# variable data size
[novmem_sizes_realloc]
bench = vmem_realloc
stdlib-alloc = true
data-size = 1048576
realloc-size = 1048576:/2:2
ops-per-thread = 100

# vmem_realloc benchmark
# vmem allocator
# range allocation and reallocation
# variable number of threads
# creating one pool per thread
# frees memory allocated by another thread
[vmem_range_ppt_mix_threads_realloc]
bench = vmem_realloc
stdlib-alloc = false
threads = 1:+1:8
data-size = 512
realloc-size = 2048
alloc-min = 0
realloc-min = 0
seed = 1234
pool-per-thread = true
mix-thread = true

# vmem_mix benchmark
# no-vmem allocator
# range allocation and reallocation
# variable number of threads
# creating one pool per thread
# frees memory allocated by another thread
[novmem_range_ppt_mix_threads_realloc]
bench = vmem_realloc
stdlib-alloc = true
threads = 1:+1:8
data-size = 512
realloc-size = 2048
alloc-min = 0
realloc-min = 0
seed = 1234
pool-per-thread = true
mix-thread = true

# vmem_realloc benchmark
# vmem allocator
# variable data size
# frees memory allocated by another thread
[vmem_sizes_mix_threads_realloc]
bench = vmem_realloc
stdlib-alloc = false
data-size = 512
realloc-size = 1048576:/2:2
ops-per-thread = 100
mix-thread = true
threads = 16

# vmem_realloc benchmark
# no-vmem allocator
# variable data size
# frees memory allocated by another thread
[novmem_sizes_mix_threads_realloc]
bench = vmem_realloc
stdlib-alloc = true
data-size = 512
realloc-size = 1048576:/2:2
ops-per-thread = 100
mix-thread = true
threads = 16