Reproduce results from AccurateArithmetic.jl

The AccurateArithmetic.jl Julia package implements all algorithms described in Accurate and Efficiently Vectorized Sums and Dot Products in Julia (2019). It also contains everything needed to reproduce the results shown in the paper. Below is a full list of the actions to be taken by anyone wanting to try and reproduce the results on their own Linux system (adapted for MaPS from Appendix of the linked paper)

Commands prefixed with a sh> prompt are to be entered in a shell; commands prefixed with a julia> prompt are to be entered in a Julia interactive session. The MaRDI Packaging System should have been downloaded and installed beforehand from: https://github.com/aaruni96/maps

Be aware that step (3) in this procedure might take a few hours to complete. Afterwards, all measurements should be available as JSON files in the AccurateArithmetic.jl/test directory. After step (4), all figures showed in this paper should be available as PDF files in the same directory.

  1. Deploy and run the runtime

    maps -d org.juliamath.accuratearithmetic/x86_64/papercorrectnessv3
    maps -r org.juliamath.accuratearithmetic/x86_64/papercorrectnessv3
  2. Start julia and run the test suite

    sh> cd /AccurateArithmetic.jl/test && julia --project
    julia> using Pkg
    julia> pkg"test"
  3. Run the performance tests

    # Additional dependencies for performance tests.
    # Package testing fails if these are already included.
    julia> pkg"add BenchmarkTools Plots Printf Statistics Test"
    julia> exit()
    sh> julia --project -O3 -L perftests.jl -e ’run_tests()
  4. Plot the graphs

    sh> julia --project -L perfplorts.jl -e ’plot_results()