polyomino-self-assembly The CUDA code avoids foward declarations, which is possible as code is held function recursion-free (a requirement of the CUDA framework). Copyright 2012 by Christian Schroeder de Witt, University of Oxford, UK