Fixed prunning for AMD

1. Made warp_any buffer volatile

Having several threads inside a work group writing to the same
local/global memory location is not defined by the OpenCL specification.
However, in CUDA it is defined and having several threads inside a warp
writing the same value to the same memory location is safe.
For AMD, it should generate a bank conflict, resulting in serializing
the write operations. In practice, the kernel does not produce the
correct results possibly because of the compiler.