[amdgcn] Scale number of threads/workers with VGPR usage
authorKwok Cheung Yeung <kcy@codesourcery.com>
Fri, 31 Jan 2020 14:53:30 +0000 (06:53 -0800)
committerKwok Cheung Yeung <kcy@codesourcery.com>
Fri, 31 Jan 2020 15:13:05 +0000 (07:13 -0800)
commit5a28e2727f718f14a2afccf16c4dda814af5b6f8
tree0d286ca3d9f96a1418b9792a72ce2a4f4a54421b
parent6a97d9eae4543a995f895e6739530f55f5d039a7
[amdgcn] Scale number of threads/workers with VGPR usage

2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>

gcc/
* config/gcn/mkoffload.c (process_asm): Add sgpr_count and vgpr_count
to definition of hsa_kernel_description.  Parse assembly to find SGPR
and VGPR count of kernel and store in hsa_kernel_description.

libgomp/
* plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
and vgpr_count fields.
(struct kernel_info): Add a field for a hsa_kernel_description.
(run_kernel): Reduce the number of threads/workers if the requested
number would require too many VGPRs.
(init_basic_kernel_info): Initialize description field with
the hsa_kernel_description entry for the kernel.
gcc/ChangeLog
gcc/config/gcn/mkoffload.c
libgomp/ChangeLog
libgomp/plugin/plugin-gcn.c