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
[ROCm/ROCR-Runtime commit: 73adbdee2c]
Šī revīzija ir iekļauta:
@@ -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);
|
||||
|
||||
Atsaukties uz šo jaunā problēmā
Block a user