DocumentCode :
2780977
Title :
Automatic implementation of evolutionary algorithms on GPUs using ESDL
Author :
Dower, Steve
Author_Institution :
Swinburne Univ. of Technol., Melbourne, VIC, Australia
fYear :
2012
fDate :
10-15 June 2012
Firstpage :
1
Lastpage :
8
Abstract :
Modern computer processing units tend towards simpler cores in greater numbers, favouring the development of data-parallel applications. Evolutionary algorithms are ideal for taking full advantage of SIMD (Single Instruction, Multiple Data) processing, which is available on both CPUs and GPUs. Creating software that runs on a GPU requires the use of specialised programming languages or styles, forcing practitioners to acquire new skills and limiting the portability of their developments. In this paper, we present an automatic translation from ESDL, a domain-specific language for composing evolutionary algorithms from arbitrary operators, to C++ AMP, a C++ extension for targeting heterogeneous hardware. Generating executable code from a simple platform-independent description allows practitioners with varying levels of programming expertise to take advantage of data-parallel execution, and enables those with strong expertise to further optimise their implementations. The automatic transformation is shown to produce code less optimal than a manual implementation but with significantly less developer effort. A secondary result is that GPU implementations require a large population, large individuals or an expensive evaluation function to achieve performance benefits over the CPU. All code developed for this paper is freely available online from http://stevedower.id.au/esdl/amp.
Keywords :
C++ language; evolutionary computation; graphics processing units; parallel programming; C++ AMP; C++ extension; CPU; ESDL; GPU; SIMD processing; computer processing units; data-parallel applications; domain-specific language; evolutionary algorithms; single instruction, multiple data processing; specialised programming languages; Arrays; Evolutionary computation; Generators; Graphics processing unit; Hardware; Kernel; Parallel processing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Evolutionary Computation (CEC), 2012 IEEE Congress on
Conference_Location :
Brisbane, QLD
Print_ISBN :
978-1-4673-1510-4
Electronic_ISBN :
978-1-4673-1508-1
Type :
conf
DOI :
10.1109/CEC.2012.6252980
Filename :
6252980
Link To Document :
بازگشت