Clarify on why TRITON_MAX_TILE_NUMEL limits (2**17)

What is the reason for the max numel limit 2 **17 number? pytorch/test/test_sparse_csr.py at 44fae102774216bbba8df91f140bba54a30e5f62 · pytorch/pytorch · GitHub

            res_tri = bsr_softmax(bsr)
            res_coo = torch.sparse.softmax(coo, -1)
            self.assertEqual(res_tri, res_coo.to(input.dtype))

        # Test long rows which exceed Triton's max numel limit set to 2 ** 17
        input = tensor(b + (1, 150000))
        bsr = input.to_sparse_bsr(1)
        self.assertEqual(input.softmax(-1), bsr_softmax(bsr))

Should this number be device specific rather than hardcoded?
Is it tied to a specific hardware constraint (e.g., shared memory size, max block size)?