Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add code for generating Julia benchmarks graph #42

Merged
merged 1 commit into from
May 20, 2024

Conversation

llewelld
Copy link
Contributor

@llewelld llewelld commented May 16, 2024

Adds Markus's code for generating benchmarks with increasingly large square matrices using multiple different approaches, including single and multi-threaded..

Updates the Julia benchmarking code so that results are output in CSV format.

Random matrix generation now uses a very simple but explicit PRNG function for easy replication in other languages.

There's a new script, written by Markus, to load in the CSV file and render a graph of the results, output in PNG and SVG format. I made some small changes, so any errors are mine.

@llewelld llewelld requested a review from mhauru May 16, 2024 21:19
@llewelld llewelld force-pushed the matmul-julia-graph branch 5 times, most recently from 47355cc to 112f8dd Compare May 19, 2024 09:31
times = Dict()

for row in eachrow(df)
dims[row[:method]] = [2^n for n in 1:count]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a mismatch with the set of dimensions used in matmul.jl, line 270. That might also explain the unexpected scaling I commented on in the other PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nicely spotted! It should be dims = [2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, 1024] right?

I've updated the code here and also the figures on #43.

Adds Markus's code for generating benchmarks with increasingly large
square matrices using multiple different approaches, including single
and multi-threaded..

Updates the Julia benchmarking code so that results are output in CSV
format.

Random matrix generation now uses a very simple but explicit PRNG
function for easy replication in other languages.

There's a new script, written by Markus, to load in the CSV file and
render a graph of the results, output in PNG and SVG format. I made some
small changes, so any errors are mine.

Co-authored-by: Markus Hauru <markus@mhauru.org>
Copy link
Contributor

@mhauru mhauru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@llewelld llewelld merged commit 64bc992 into alan-turing-institute:main May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants