Philox: Use one engine per 16 threads
Philox: Use one engine per 16 threads

In order to reduce device memory allocated by
Philox generator, now one engine/state is being
used by 16 neighboring threads.

This commit also moves initialization out of
generate_ kernels to reduce required private
memory size per thread.

ROCmSoftwarePlatform/rocRAND,ROCmSoftwarePlatform/rocRAND,ROCmSoftwarePlatform/rocRAND,ROCmSoftwarePlatform/rocRAND