[ROCM] Navi21 Enablement 9: Range and Multinomial Kernels (#73550)
Summary:
This PR is a follow up to the following prs.
https://github.com/pytorch/pytorch/pull/69942
https://github.com/pytorch/pytorch/pull/72682
https://github.com/pytorch/pytorch/pull/72809
https://github.com/pytorch/pytorch/pull/73543
https://github.com/pytorch/pytorch/pull/73545
https://github.com/pytorch/pytorch/pull/73546
https://github.com/pytorch/pytorch/pull/73548
https://github.com/pytorch/pytorch/pull/73549
We are adding support to Navi21 GPUs which have a warpsize of 32. We cannot rely on a constant so we have to dynamically look up the warpsize when launching the kernel on the host side. Inside device functions this is not needed and the compiler can correctly detect the correct warpsize to replace the C10_WARP_SIZE constant.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/73550
Reviewed By: malfet
Differential Revision: D35444958
Pulled By: ngimel
fbshipit-source-id: c65f06d3227c23bb097a71fc6c86e3f884114e04
(cherry picked from commit 7f3ba520a332e380c6e044a3777bf2d632ff1dbe)