Example 2 – matrix multiplication – process/thread

A well-known exercise is to write a program to compute the (dot) product of two given matrices. Essentially, we would like to perform the following:

matrix C = matrix A * matrix B

Again, we emphasize the fact that here, we are not really concerned with the details of the algorithm (and code); what concerns us here is how, at a design level the matrix multiplication is performed. We propose (and write the corresponding code for) two ways:

  • Sequentially, via the single threaded model
  • In parallel, via the multithreaded model
Note: None of this—the algorithm or code—is purported to be original or ground-breaking in any manner; these are well-known programs.

In the first model, one thread—

Get Hands-On System Programming with Linux now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.