Skip to content

group-h: Implemented optimized matrix multiplication#3

Open
z-haq wants to merge 1 commit into
AA-parallel-computing:mainfrom
z-haq:group-h
Open

group-h: Implemented optimized matrix multiplication#3
z-haq wants to merge 1 commit into
AA-parallel-computing:mainfrom
z-haq:group-h

Conversation

@z-haq
Copy link
Copy Markdown

@z-haq z-haq commented May 31, 2026

Implemented blocked_matmul with cache blocking (block size 32) and parallel_matmul using OpenMP. Both pass validation against the reference output for all 10 test cases.

Results are in the README. The optimizations work best on larger matrices — on case 6 (256×256×256) blocked gets 3.79x and parallel gets 4.73x over naive. On smaller cases like 4 (32×128×32) the gains are minimal or parallel is actually slower than blocked, which makes sense since thread overhead isn't worth it for tiny workloads.

Blocked uses ikj loop order inside the block to keep the A value in a register and access B/C sequentially. Parallel just parallelizes the outer row loop with schedule(static) since rows have equal work.

Timing uses omp_get_wtime() and repeats until at least 50ms of wall time to average out noise.

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.

1 participant