With regards to my Titan, the 4.17 build appears to either fixed or introduced bugs in the validation of hashes using the CPU. The perspective just depends on if I want to believe I've possibly damaged my Titan.
The 4.17 build reports a bad GPU hash about once every 30-45 seconds while the 4.14 build never reported a single one. This is using the exact same startup parameters (-l 294x2 -C 0 -i 0).
What's the hash rate on Titan now?
I am programming blindly with no testing opportunity. It is way more likely I introduced a programming bug!
Try reducing your launch parameters to half the block count, maybe. 147x2. It could be that the const __restrict__ pointers have some size limitations similar to the 1D texture size restrictions on the affordable consumer devices (Titan is not affordable IMO). Another thing to try is to set the -m 1 flag (single memory allocation mode). The -C flag does not currently affect the Titan.