An empirical validation of software cost estimation models
Communications of the ACM
Matrix multiplication via arithmetic progressions
Journal of Symbolic Computation - Special issue on computational algebraic complexity
A set of level 3 basic linear algebra subprograms
ACM Transactions on Mathematical Software (TOMS)
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
Performance Analysis of Intel's MMX and SSE: A Case Study
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
ICSE '76 Proceedings of the 2nd international conference on Software engineering
HPCASIA '05 Proceedings of the Eighth International Conference on High-Performance Computing in Asia-Pacific Region
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
Hi-index | 0.00 |
Matrix multiplication is an example of application that is both easy to specify and to provide a simple implementation. There exist numerous sophisticated algorithms or very efficient complex implementations. In this study we are rather interested in the design/programming overhead with respect to performance benefits. Starting from the naive sequential implementation, the implementation is first optimised by improving data accesses, then by using vector units of modern processors, and we finally propose a parallel version for multi-core architectures. The various proposed optimisations are experimented on several architectures and the trade-off software complexity versus efficiency is evaluated using Halstead metrics.