Add queue intercept support to the runtime.

Queue intercept is exposed as two tools-only APIs via the API
intercept table.

Change-Id: Iac9602ed3143974d85c3569e9092295ad18037f8
This commit is contained in:
Sean Keely
2017-10-17 22:09:12 -05:00
parent 473be763ff
commit 0c7dde2d1f
16 changed files with 800 additions and 19 deletions
@@ -1102,3 +1102,19 @@ hsa_status_t HSA_API hsa_amd_register_system_event_handler(
void* data) {
return amdExtTable->hsa_amd_register_system_event_handler_fn(type, callback, data);
}
// Mirrors Amd Extension Apis
hsa_status_t hsa_amd_queue_intercept_create(
hsa_agent_t agent_handle, uint32_t size, hsa_queue_type32_t type,
void (*callback)(hsa_status_t status, hsa_queue_t* source, void* data), void* data,
uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t** queue) {
return amdExtTable->hsa_amd_queue_intercept_create_fn(
agent_handle, size, type, callback, data, private_segment_size, group_segment_size, queue);
}
// Mirrors Amd Extension Apis
hsa_status_t hsa_amd_queue_intercept_register(hsa_queue_t* queue,
hsa_amd_queue_intercept_handler callback,
void* user_data) {
return amdExtTable->hsa_amd_queue_intercept_register_fn(queue, callback, user_data);
}
+3 -2
View File
@@ -43,11 +43,12 @@
#ifndef HSA_RUNTME_CORE_INC_SHARED_H_
#define HSA_RUNTME_CORE_INC_SHARED_H_
#include "core/util/utils.h"
#include <assert.h>
#include <cstring>
#include <functional>
#include <memory>
#include "core/util/utils.h"
namespace core {
/// @brief Base class encapsulating the allocator and deallocator for