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
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