Evolving a CUDA kernel from an nVidia template
Department of Computer Science, King’s College, London, Strand, London, WC2R 2LS, UK
IEEE Congress on Evolutionary Computation (CEC), 2010, p.2376-2383
@conference{langdon2010evolving,
title={Evolving a CUDA Kernel from an nVidia Template},
author={Langdon, WB and Harman, M.},
booktitle={2010 IEEE World Congress on Computational Intelligence, Barcelona},
pages={18–23},
year={2010},
organization={Citeseer}
}
Rather than attempting to evolve a complete program from scratch we demonstrate genetic interface programming (GIP) by automatically generating a parallel CUDA kernel with identical functionality to existing highly optimised ancient sequential C code (gzip). Generic GPGPU nVidia kernel C++ code is converted into a BNF grammar. Strongly typed genetic programming uses the BNF to generate compilable and executable graphics card kernels. Their fitness is given by running the population on a GPU with randomised subsets of training data itself derived from gzip’s SIR test suite. Backto-back validation uses the original code as a test oracle.
January 21, 2011 by hgpu