Skip to content

AccurateArithmetic.jl

Aaruni Kaushik edited this page Sep 20, 2023 · 1 revision

Accurate Arithmetic.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. Should anyone actually run this procedure, the authors would really like to get a copy of their results, so as to gain more insight about the behavior of compensated algorithms on a variety of systems.

  1. Get and launch the runtime

    sh> maps -d org.juliamath.accuratearithmetic/x86_64/papercorrectnessv3
    sh> 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()’
Clone this wiki locally