Skip to content

Commit

Permalink
add some doc
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrantq committed Sep 13, 2024
1 parent 6b69c8e commit 398e0c3
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions example/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# A simple end-to-end test of FPOpt

## Output programs

* `example.exe`: a program with the original function called multiple times with inputs randomly sampled from preconditions in FPBench
* `example-logged.exe`: a program that outputs a profile that contains gradient and value information, with inputs randomly sampled from preconditions in FPBench
* `example-fpopt.exe`: an optimized version of the program produced by FPOpt. Requires the profile generated by `example-logged.exe`.

## Important FPOpt flags

1. `enzyme-enable-fpopt`: Run FPOpt pass
2. `fpopt-enable-herbie`: Generate variants of FP expressions with Herbie :white_check_mark:
3. `fpopt-enable-pt`: Generate variants of FP connected components with precision tuning :point_left: WIP
4. `fpopt-enable-solver`: Use the solver to select desirable rewrite candidates; when disabled, apply all Herbie's top choices
5. `fpopt-solver-type`: Which solver to use ("dp" or "greedy")
6. `fpopt-comp-cost-budget`: The maximum computation cost budget for the solver (default=100000000000)
7. `herbie-disable-taylor`: Disable Herbie's series expansion (try this when the output program exhibits unexpected behaviors, e.g., in LULESH)

0 comments on commit 398e0c3

Please sign in to comment.