Refactor RO backend data structures (#49)
- Remove hdp and ipc pointers from BlockHandle, align RO stats with RO contexts - Add run commands for `rocshmem_g` and `rocshmem_p` API tests in driver.sh - Allocate rocshmem API return buffers based on number of device contexts. - Associate status flag address with blocking calls and remove threadId dependency - Associated the status flag address with each blocking call request to notify the GPU thread. - Removed dependency on threadId for determining the appropriate status flag index. - Move status flag buffer allocation to backend. - Initialize allocated memeory to zero
This commit is contained in:
committed by
GitHub
orang tua
96424a59a8
melakukan
df4ad2c04d
@@ -33,12 +33,11 @@ Queue::Queue() {
|
||||
}
|
||||
}
|
||||
|
||||
Queue::Queue(size_t max_queues, size_t max_wg_size, size_t queue_size)
|
||||
Queue::Queue(size_t max_queues, size_t queue_size)
|
||||
: max_queues_{max_queues},
|
||||
max_wg_size_{max_wg_size},
|
||||
queue_size_{queue_size},
|
||||
queue_proxy_{max_queues, queue_size},
|
||||
queue_desc_proxy_{max_queues, max_wg_size} {
|
||||
queue_desc_proxy_{max_queues} {
|
||||
|
||||
gpu_queue = true;
|
||||
char *value{nullptr};
|
||||
@@ -101,8 +100,8 @@ void Queue::sfence_flush_hdp() {
|
||||
}
|
||||
}
|
||||
|
||||
void Queue::notify(int blockId, int threadId) {
|
||||
descriptor(blockId)->status[threadId] = 1;
|
||||
void Queue::notify(volatile char* status) {
|
||||
*status = 1;
|
||||
}
|
||||
|
||||
uint64_t Queue::size() {
|
||||
|
||||
Reference in New Issue
Block a user