add support for GPUs using wavefront size of 32 (#285)
* add gfx1100 support
Add support for Radeon 7900 GPUs (RX and PRO), and 7800 PRO.
I was contemplating to add gfx1101 and gfx1102 GPUs as well, but those are the lower end models that are more unlikely to be used for compute intensive jobs. In addition, I do not have access to them to test the support.
* update WF_SIZe for different options
Radeon systems use a WarpSize of 32, unlike current Instinct systems,
which use a warp size of 64. For the device side, a gfx specific ifdef
is sufficient. For the host side, we need to query the device
properties.
* adjust functional tests to wf_size of 32
* update unit tests to handle wf_size of 32
* address reviewer comments
[ROCm/rocshmem commit: d0c2845031]
Αυτή η υποβολή περιλαμβάνεται σε:
@@ -42,10 +42,12 @@
|
||||
|
||||
/**
|
||||
* Shared array to capture the start time for each wavefront
|
||||
* Max threads per block = 1024, wavefront size = 64 (in most GPUs)
|
||||
* Maximum array size required = 1024/64 = 16
|
||||
* Max threads per block = 1024, wavefront size = 64 or 32 depending
|
||||
* on the GPUs. Using 32 since its safer for the dimensioning of the array,
|
||||
* the last 16 elements will not be used on GPUs with a wf size of 64.
|
||||
* Maximum array size required = 1024/32 = 32
|
||||
*/
|
||||
__shared__ long long int wf_start_time[16];
|
||||
__shared__ long long int wf_start_time[32];
|
||||
|
||||
/**
|
||||
* Calculate start index for each thread within the grid
|
||||
@@ -190,4 +192,3 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Αναφορά σε νέο ζήτημα
Block a user