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 multithreaded matmul-c implementation #40

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

llewelld
Copy link
Contributor

Adds a CPU-parallel matrix multiplication implementation using a threadpool. Parallelism is intra-matrix (i.e. different parts of a single matrix-multiply operation are performed on different threads) so that threading is transparent to the caller.

@llewelld llewelld force-pushed the matmul-c-threaded branch 6 times, most recently from 7c7dfbb to 67b631e Compare April 26, 2024 09:10
@llewelld llewelld marked this pull request as ready for review May 19, 2024 10:05
Adds a CPU-parallel matrix multiplication implementation using a threadpool.
Parallelism is intra-matrix (i.e. different parts of a single
matrix-multiply operation are performed on different threads) so that
threading is transparent to the caller.
Refeactos the codebase to split the tests and benchmarks into separate
files. Adds some large matrix multiplication benchmarks for the serial
and parallel implementations.
Updates the matmul-c square matrix scaling tests to align with mhauru's
Julia tests.

The benchmarks now perform 19 test with increasingly large square
matrices. Single-threaded and multi-threaded matrix multiplication tests
are both performed. The results are stored in the same results.csv file
so that everything can be plotted together.
@llewelld
Copy link
Contributor Author

Rebased.

@llewelld llewelld requested a review from mhauru May 20, 2024 14:52
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

1 participant