kfdtest: Make KFDCWSRTest.BasicTest buffer sizes dynamic

KFDCWSRTest.BasicTest is parameterized to allow an easy method of
tweaking the number of work-items (and save/restores). The input/output
buffers were previously hardcoded to a single page, which would cause a
segmentation fault if the number of work-items specified is greater than
1024 for wave32.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: Ieefc819a5d81c77cee88081a287fd383e6378e74
Этот коммит содержится в:
Graham Sider
2022-09-08 16:44:51 -04:00
родитель af48352d9a
Коммит 73adbdee2c
+5 -2
Просмотреть файл
@@ -88,8 +88,11 @@ TEST_P(KFDCWSRTest, BasicTest) {
unsigned stopval = 0x1234'5678;
unsigned outval = 0x8765'4321;
HsaMemoryBuffer inputBuf(PAGE_SIZE, defaultGPUNode, true, false, false);
HsaMemoryBuffer outputBuf(PAGE_SIZE, defaultGPUNode, true, false, false);
// 4B per work-item ==> 1 page per 1024 work-items (take ceiling)
unsigned bufSize = PAGE_SIZE * ((num_witems / 1024) + (num_witems % 1024 != 0));
HsaMemoryBuffer inputBuf(bufSize, defaultGPUNode, true, false, false);
HsaMemoryBuffer outputBuf(bufSize, defaultGPUNode, true, false, false);
unsigned int* input = inputBuf.As<unsigned int*>();
unsigned int* output = outputBuf.As<unsigned int*>();
inputBuf.Fill(0);