# Global parameters
[global]
group = pmem
file = testfile.memcpy
ops-per-thread=50000

# pmem_memcpy benchmark with variable chunk sizes
# from 64 to 8k bytes
[pmcpy_chunk_sizes_aligned]
bench = pmem_memcpy
threads = 1
data-size = 64:*2:8192

# pmem_memcpy benchmark
# with variable destination address offsets
[pmcpy_destination_offsets]
bench = pmem_memcpy
threads = 1
data-size = 512
src-offset = 0
dest-offset = 1:+1:63

# pmem_memcpy pmem_memcpy_persist
# copy mode: random
# from 64 to 8k bytes
[pmcpy_chunk_sizes_rand]
bench = pmem_memcpy
threads = 1
data-size = 64:*2:8192
src-mode = rand
dest-mode = rand

# pmem_memcpy pmem_memcpy_persist()
# copy mode: sequential
# from 64 to 8k bytes
[pmcpy_pmem_memcpy_persist]
bench = pmem_memcpy
threads = 1
data-size = 64:*2:8192
libc-memcpy = false
persist = true

# pmem_memcpy pmem_memcpy_nodrain()
# copy mode: sequential
# from 64 to 8k bytes
[pmcpy_pmem_memcpy_nodrain]
bench = pmem_memcpy
threads = 1
data-size = 64:*2:8192
libc-memcpy = false
persist = false

# pmem_memcpy standard memcpy()
# followed by pmem_persist()
# copy mode: sequential
# from 64 to 8k bytes
[pmcpy_libc_memcpy_persist]
bench = pmem_memcpy
threads = 1
data-size = 64:*2:8192
libc-memcpy = true
persist = true

# pmem_memcpy standard memcpy()
# followed by pmem_flush()
# copy mode: sequential
# from 64 to 8k bytes
[pmcpy_libc_memcpy_flush]
bench = pmem_memcpy
threads = 1
data-size = 64:*2:8192
libc-memcpy = true
persist = false
