The document presents an approach to leveraging OpenCL for GPU programming within a Java environment through the use of Habanero Java (HJ) and automatic kernel generation. It emphasizes the importance of maintaining precise exception semantics during parallel execution and introduces speculative exception checking as a method to optimize execution times. Experimental results indicate significant performance improvements, with speedups of up to 21x on AMD hardware and 330x on NVIDIA GPUs while handling exceptions correctly.