The meaning of stripe size
Dear code author: What is the meaning of stripe size in compilation options?I do not understand it. Hope to get your answer. Ziyue, Xu Nankai university
I don't find a stripe size option, do you mean stride_size?
Also, the Makefile does not contain this compilation option, what options are you referring to?
I'm sorry I didn't make it clear. For examplke, When I input ‘echo "task=3,access_size=1024,parallel=24,stride_size=1024" > /proc/lattester', I do not know the meaning of stride_size . Hope to get your answer. Ziyue, Xu Nankai university
The task=3 refers to Strided Bandwidth Test:
https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/lat.c#L24
The corresponding implementation is here: https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/tasks.c#L331-L367
And low-level memory access implementation depends on op operation, which selects one of the strided memory access jobs:
https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/memaccess.h#L292-L299
With op defaults to 0, you are using stride_load:
https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/memaccess.c#L280-L312
In this case, stride_size=1024 is passed to stride_load's parameter skip, which defines the offset between the current memory access start address and the next one's:
https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/memaccess.c#L303
Thank you for your detailed answer. I have one last question: if I want to do a random write(ntstore) of 64B test with 24 threads, should I input ‘echo "task=4,op=1,access_size=64,parallel=24" > /proc/lattester'? Hope to get your answer.