Mon 15 Jun 2015 15:15 - 15:40 at PLDI Main RED (Portland 256) - Correctness Chair(s): Jens Palsberg

We address the compiler correctness problem for many-core systems through novel applications of fuzz testing to OpenCL compilers. Focusing on two methods from prior work, random differential testing and testing via equivalence modulo inputs (EMI), we present several strategies for random generation of deterministic, communicating OpenCL kernels, and a mutation mechanism that allows EMI testing to be applied to kernels that otherwise exhibit little or no dynamically-dead code. We use these methods to conduct a large, controlled testing campaign with respect to 19 OpenCL (device, compiler) configurations, covering a range of CPU, GPU, accelerator, FPGA and emulator implementations. Our study provides independent validation of claims in prior work related to the effectiveness of random differential testing and EMI testing, proposes novel methods for lifting these techniques to the many-core setting, reveals a significant number of OpenCL compiler bugs in commercial implementations, and acts as a call-to-arms for higher quality OpenCL compilers from many-core device vendors.

PLDI 2015 Artifact Evaluated Badge

Mon 15 Jun

pldi2015-papers
14:00 - 15:40: Research Papers - Correctness at PLDI Main RED (Portland 256)
Chair(s): Jens PalsbergUniversity of California, Los Angeles
pldi2015-papers143436960000014:00 - 14:25
Talk
Maarten FaddegonUniversity of Kent, UK, Olaf ChitilUniversity of Kent, UK
Media Attached
pldi2015-papers143437110000014:25 - 14:50
Talk
Media Attached
pldi2015-papers143437260000014:50 - 15:15
Talk
Peng LiuPurdue University, Xiangyu ZhangPurdue University, Omer TrippIBM Thomas J. Watson Research Center, Yunhui ZhengIBM T.J. Watson Research Center
Media Attached
pldi2015-papers143437410000015:15 - 15:40
Talk
Nathan ChongUniversity College London, Alastair DonaldsonImperial College London, Andrei LascuImperial College London, Christopher LidburyImperial College London
Media Attached