Is this software using double precision?
Changing the DPFP from 1/8 to 1/2 on Hawaii makes barely any difference at all?

Also compiling the kernel appears to give several errors in CodeXL for example.