# Zone des développeurs Intel®: Courseware - Numeric Algorithm Examples

• Parallel algorithm implementing Strassen’s Algorithm for matrix-matrix multiplication ( Akshay Singh)
• Parallel algorithm implementing Strassen’s Algorithm for matrix-matrix multiplication (Bradley Kuszmaul)
•  Material Type: Coding example, Problem set Technical Format: text file, zip archive, PDF document Location: Go to materials Date Added: 04/12/2010 Date Modified: 04/12/2010 Author Bradley Kuszmaul, MIT Computer Science and Artificial Intelligence Laboratory Description:The included source code implements Strassen’s Algorithm for matrix-matrix multiplication in parallel, as described in the included problem description text file. The included write-up gives an overview of Cilk++ and some of the tools available for Cilk programming. Six different methods for computing matrix-matrix multiplication are discussed. The pros and cons of the parallelization (using Cilk++) of each method and the performance of each on different sized matrices are provided within the write-up. Source files for the alternate algorithms are provided and these alternatives can be built for comparison against each other. The code was intended for Linux OS and includes a makefile to build the applications. Recommended Audience: Programmers experienced in C/C++ (some exposure to Cilk++ and parallel programming is helpful); students of linear algebra with C/C++ and parallel programming skill. DISCLAIMER: This code is provided by the author as a submitted contest entry, and is intended for educational use only. The code is not guaranteed to solve all instances of the input data sets and may require modifications to work in your own specific environment. Recommended Audience: Advanced programmers, Beginning programmers, Undergraduate students Language: English Keywords: Strassens Algorithm, matrixmatrix multiplication, Cilk++, linear algebra, Goto BLAS, Intel Math Kernel Library MKL, divide and conquer, MKL
• Parallel algorithm implementing Strassen’s Algorithm for matrix-matrix multiplication ( G. Koloskov)
•  Material Type: Coding example, Problem set Technical Format: text file, PDF document, zip archive Location: Go to materials Date Added: 04/12/2010 Date Modified: 04/12/2010 Author G Koloskov, Intel Threading Challenge Description:The included source code implements Strassen’s Algorithm for matrix-matrix multiplication in parallel, as described in the included problem description text file. The parallel algorithm uses OpenMP* to implement the standard recursive algorithm. However, to better load balance the work assigned to threads, the code has been written to handle non-square matrix instances by detecting small matrix dimensions and not subdividing such matrices. The code was intended for Linux OS and includes a makefile to build the application. DISCLAIMER: This code is provided by the author as a submitted contest entry, and is intended for educational use only. The code is not guaranteed to solve all instances of the input data sets and may require modifications to work in your own specific environment. Recommended Audience: Advanced programmers, Beginning programmers, Undergraduate students Language: English Keywords: Strassens Algorithm, matrixmatrix multiplication, OpenMP, linear algebra, load balance
• Parallel algorithm implementing Strassen’s Algorithm for matrix-matrix multiplication (Intel)