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]
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "backend_gda.hpp"
|
||||
#include "constants.hpp"
|
||||
#include "util.hpp"
|
||||
|
||||
namespace rocshmem {
|
||||
|
||||
@@ -59,7 +60,10 @@ QueuePair::QueuePair(struct ibv_pd* pd, int gda_provider) {
|
||||
fetching_atomic_lkey = mr_fetching_atomic->lkey;
|
||||
}
|
||||
|
||||
for(int i{0}; i < FETCHING_ATOMIC_CNT; i+=WF_SIZE) {
|
||||
int deviceId;
|
||||
CHECK_HIP(hipGetDevice(&deviceId));
|
||||
int wf_size = get_wf_size(deviceId);
|
||||
for(int i{0}; i < FETCHING_ATOMIC_CNT; i+=wf_size) {
|
||||
fetching_atomic_freelist->push_back(fetching_atomic + i);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user