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]
Αυτή η υποβολή περιλαμβάνεται σε:
Edgar Gabriel
2025-10-22 16:04:58 -05:00
υποβλήθηκε από GitHub
γονέας b771a26916
υποβολή d37af80d7e
19 αρχεία άλλαξαν με 192 προσθήκες και 56 διαγραφές
@@ -28,6 +28,7 @@
#define HIP_ENABLE_PRINTF
#include "gtest/gtest.h"
#include "wf_size.hpp"
#include "../src/memory/hip_allocator.hpp"
#include "containers/matrix.hpp"
@@ -259,6 +260,7 @@ class BitwiseTestFixture : public ::testing::Test
{
_hip_block_dim = block_dim;
_hip_grid_dim = grid_dim;
_wf_size = get_wf_size();
assert(_device_methods == nullptr);
_hip_allocator.allocate(reinterpret_cast<void**>(&_device_methods),
@@ -341,6 +343,7 @@ class BitwiseTestFixture : public ::testing::Test
HIPAllocator _hip_allocator {};
WarpMatrix *_warp_matrix = nullptr;
BitwiseDeviceMethods *_device_methods = nullptr;
int _wf_size;
};
} // namespace rocshmem