/automemcpy

Primary LanguageC++Apache License 2.0Apache-2.0

This is not an officially supported Google product


Website accompagnying the automemcpy paper from Chatelet et al. (https://doi.org/10.1145/3459898.3463904).

Code

The code for the autogenerated functions is available in the code folder.

Measurements

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.