microprobe icon indicating copy to clipboard operation
microprobe copied to clipboard

Tracking issue: Seeded Randomess

Open patrick-rivos opened this issue 1 year ago • 0 comments

The current code base uses a few unseeded random.Random() calls. This causes the generated asm to be non-reproducable. Ideally we would have the user provide a seed to generate random values

Beyond the benefit of reproducible tests, this change also allows developers to see at a glance if a function uses a random value (since it will have rand: random.Random in it's function signature).

Directories with random.* calls

  • [x] /passes #40
  • [ ] /target/isa
  • [ ] /utils
  • [ ] /wrappers
  • [ ] /policies

There might be other directories I missed, but I'll revise this issue when I discover them.

Race conditions:

  • [ ] Global variable in riscv-common/isa.py
    • This causes a race condition that manifests in label name when generating in multi-processing mode. Doesn't really matter from a correctness standpoint, but prevents comparing hashes of generated tests.

patrick-rivos avatar Jun 23 '23 21:06 patrick-rivos