Parallel and in-process compilation of individuals for genetic programming on GPU
arXiv:1705.07492 [cs.NE], (21 May 2017)
@article{ayral2017parallel,
title={Parallel and in-process compilation of individuals for genetic programming on GPU},
author={Ayral, Hakan and Albayrak, Songul},
year={2017},
month={may},
archivePrefix={"arXiv"},
primaryClass={cs.NE}
}
Three approaches to implement genetic programming on GPU hardware are compilation, interpretation and direct generation of machine code. The compiled approach is known to have a prohibitive overhead compared to other two. This paper investigates methods to accelerate compilation of individuals for genetic programming on GPU hardware. We apply in-process compilation to minimize the compilation overhead at each generation; and we investigate ways to parallelize in-process compilation. In-process compilation doesn’t lend itself to trivial parallelization with threads; we propose a multiprocess parallelization using memory sharing and operating systems interprocess communication primitives. With parallelized compilation we achieve further reductions on compilation overhead. Another contribution of this work is the code framework we built in C# for the experiments. The framework makes it possible to build arbitrary grammatical genetic programming experiments that run on GPU with minimal extra coding effort, and is available as open source.
May 24, 2017 by hgpu