Skip to content

Rewrite the Problem-Based Benchmark Suite in Elixir

License

Notifications You must be signed in to change notification settings

lac-dcc/elixir-pbbs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Problem-Based Benchmark Suite in Elixir

Goal

Rewrite the Problem-Based Benchmark Suite in Elixir.

To run

Install and configure Elixir 1.14+, Erlang 24+ on your machine. Alternatively, you can use Docker to build an image with all the dependencies and the code, as defined in Dockerfile. For example (extracted from run_benchmarks.sh):

docker build . -t elixir-pbbs
image_id=$(docker images | awk '{print $3}' | awk 'NR==2')

container_id=$(docker run -d -it "$image_id" /bin/bash)
docker exec -it "$container_id" sh -c "mix benchmark -a histogram"

Benchmarks are executed with the mix benchmark task. To execute a benchmark:

mix benchmark -a <algorithm>

Currently implemented algorithms:

Each benchmark has a number of different, preselected inputs, to exercise different communication patterns in the parallel implementations. Each benchmark compares the parallel implementation with the sequential implementation for a given problem, given the same inputs. Each implementation-input pair executes for 60 seconds, plus 2s for warmup.

Benchmarks output a CSV file with detailed runtime information to the current directory. Currently, the benchmarks are not parameterizable, so feel free to change the code in utils/benchmarks/drivers/* if necessary.

License

MIT

About

Rewrite the Problem-Based Benchmark Suite in Elixir

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published