This is not an officially supported Google product
Website accompagnying the automemcpy
paper from Chatelet et al. (https://doi.org/10.1145/3459898.3463904).
The code for the autogenerated functions is available in the code
folder.
The measurements folder contains the raw measurements for the following microarchitectures:
- x86-64 AMD : rome
- x86-64 Intel: skylake
- x86-64 Intel: ivybridge
- x86-64 Intel: sandybridge
- x86-64 Intel: broadwell
- x86-64 Intel: haswell
- ARM : neoverse-n1
The corresponding csv files have one measurement per line. There are SAMPLES x FUNCTIONS x DISTRIBUTIONS measurements.
- SAMPLES is 250 (downsampled from the 1000 samples as stated in the paper).
- FUNCTIONS is 290 for x86-64, and 60 for ARM
- DISTRIBUTIONS is 10.
Distributions can be found in the llvm-libc github repo
The memcpy_default_db.csv
file contains the description of the parameters used to generate the functions.