Implementation and analysis of parallel algorithm for matrix multiplication with PTHREAD
Abstract
Multi-core processors are becoming common and they have built-in parallel
computational power and which can only be fully utilized only if the program in execution
is written accordingly. Most software today is grossly inefficient, because it is not written
with sufficient parallelism in mind. Breaking up an application into a few tasks is not a
long-term solution. In order to make most of multi-core processors either lots and lots of
parallelism are actually needed for efficient execution of a program on larger number of
cores, or secondly, concurrent execution of multiple programs on multiple cores. Matrix
Multiplication is used as building block in many of applications covering nearly all subject areas. Matrix calculation generally classical analytical concept such as derivatives of functions or exponentials to matrices. Serial and parallel matrix multiplication is always be a challenging task for the programmers because of its extensive computation and memory requirement, standard test set and broad use in all types of scientific and desktop applications. With the advent of multi-core processors, it has become more challenging. Now all the processors have built-in parallel computational capacity in form of cores and existing serial and parallel matrix multiplication techniques have to be revisited to fully utilize the available cores and to get the maximum efficiency and the minimum executing time.