ABSTRACT
Modern CPUs are complex with hierarchical cache memory levels, vector instruction sets, instruction level parallelism and multiple processor cores. Hence, extracting the maximum performance for a given algorithm is a complex task and can require the optimisation of a number of parameters. This paper will demonstrate the use of an evolutionary approach to tune a matrix multiplication algorithm in terms of both execution speed and also cache memory usage. Moreover, it will be shown that these objectives conflict to some degree. Hence, a multi-objective evolutionary tuning approach is demonstrated that optimises for both of these objectives establishing a Pareto front of solutions.
- K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. A fast and elitist multiobjective genetic algorithm: NSGA-II. Trans. Evol. Comp, 6(2):182--197, Apr. 2002. Google ScholarDigital Library
- J. Dongarra and A. R. Hinds. Unrolling loops in FORTRAN. Softw., Pract. Exper., 9(3):219--226, 1979.Google ScholarCross Ref
- G. Golub and C. Loan. Matrix computations. Johns Hopkins series in the mathematical sciences. Johns Hopkins University Press, 1989.Google Scholar
Index Terms
- Multi-objective evolutionary auto-tuning for optimising algorithm speed and cache memory usage
Recommendations
Evolving Dynamic Multi-Objective Optimization Problems with Objective Replacement
This paper studies the strategies for multi-objective optimization in a dynamic environment. In particular, we focus on problems with objective replacement, where some objectives may be replaced with new objectives during evolution. It is shown that the ...
Applied Pareto multi-objective optimization by stochastic solvers
It is well known that many engineering design problems with different objectives, some of which can be opposed to one another, can be formulated as multi-objective functions and resolved with the construction of a Pareto front that helps to select the ...
Efficient multi-objective genetic algorithm for hardware-software partitioning in embedded system design: ENGA
This paper presents a novel multi-objective evolutionary algorithm for hardware software partitioning of embedded systems. Customised genetic algorithms have been effectively used for solving complex optimisation problems (NP Hard) but are mainly ...
Comments