removing _ANY ops

Dieser Commit ist enthalten in:
Evgeny
2019-01-11 22:15:35 -06:00
Ursprung a0169f594c
Commit 0cde85dbb7
7 geänderte Dateien mit 232 neuen und 110 gelöschten Zeilen
+25 -6
Datei anzeigen
@@ -28,6 +28,7 @@ THE SOFTWARE.
#include <cstdint>
#include <cstddef>
#include <iostream>
#include <mutex>
#define HSART_CALL(call) \
do { \
@@ -80,12 +81,9 @@ class Timer {
return timestamp_to_ns(timestamp);
}
Timer() {
init(hsa_system_get_info);
}
Timer(hsa_system_get_info_fn_t f) {
init(f);
Timer(hsa_system_get_info_fn_t f = NULL) {
if (f != NULL) init(f);
else init(hsa_system_get_info);
}
private:
@@ -95,6 +93,27 @@ class Timer {
freq_t timestamp_rate_;
};
class TimerFactory {
public:
typedef std::mutex mutex_t;
static Timer* Create(Timer::hsa_system_get_info_fn_t f = NULL) {
if (instance_ == NULL) {
std::lock_guard<mutex_t> lck(mutex_);
if (instance_ == NULL) instance_ = new Timer(f);
}
return instance_;
}
static Timer& Instance() {
return *instance_;
}
private:
static Timer* instance_;
static mutex_t mutex_;
};
} // namespace hsa_rt_utils
#endif // INC_ROCTRACER_HSA_RT_UTILS_HPP_
+5 -8
Datei anzeigen
@@ -23,15 +23,12 @@ THE SOFTWARE.
#ifndef INC_EXT_PROF_PROTOCOL_H_
#define INC_EXT_PROF_PROTOCOL_H_
#define HCC_ENABLED 1
// Traced API domains
typedef enum {
ACTIVITY_DOMAIN_ANY = 0, // Any domain
ACTIVITY_DOMAIN_HSA_API = 1, // HSA domain
ACTIVITY_DOMAIN_HCC_OPS = 2, // HCC domain
ACTIVITY_DOMAIN_HIP_API = 3, // HIP domain
ACTIVITY_DOMAIN_NUMBER = 4
ACTIVITY_DOMAIN_HSA_API = 0, // HSA domain
ACTIVITY_DOMAIN_HCC_OPS = 1, // HCC domain
ACTIVITY_DOMAIN_HIP_API = 2, // HIP domain
ACTIVITY_DOMAIN_NUMBER = 3
} activity_domain_t;
// API calback type
@@ -53,7 +50,7 @@ typedef uint64_t activity_correlation_id_t;
struct activity_record_t {
uint32_t domain; // activity domain id
activity_kind_t kind; // activity kind
activity_op_t activity_id; // activity op
activity_op_t op; // activity op
activity_correlation_id_t correlation_id; // activity ID
uint64_t begin_ns; // host begin timestamp
uint64_t end_ns; // host end timestamp
+28 -10
Datei anzeigen
@@ -78,9 +78,9 @@ typedef activity_domain_t roctracer_domain_t;
// Return ID string by given domain and activity/API ID
// NULL returned on the error and the library errno is set
const char* roctracer_id_string(
const char* roctracer_op_string(
const uint32_t& domain, // tracing domain
const uint32_t& id, // activity ID
const uint32_t& op, // activity op ID
const uint32_t& kind); // activity kind
// Set properties
@@ -100,16 +100,26 @@ roctracer_status_t roctracer_set_properties(
typedef activity_rtapi_callback_t roctracer_rtapi_callback_t;
// Enable runtime API callbacks
roctracer_status_t roctracer_enable_callback(
roctracer_status_t roctracer_enable_op_callback(
activity_domain_t domain, // tracing domain
uint32_t id, // API call ID
uint32_t op, // API call ID
activity_rtapi_callback_t callback, // callback function pointer
void* arg); // [in/out] callback arg
roctracer_status_t roctracer_enable_domain_callback(
activity_domain_t domain, // tracing domain
activity_rtapi_callback_t callback, // callback function pointer
void* arg); // [in/out] callback arg
roctracer_status_t roctracer_enable_callback(
activity_rtapi_callback_t callback, // callback function pointer
void* arg); // [in/out] callback arg
// Disable runtime API callbacks
roctracer_status_t roctracer_disable_callback(
roctracer_status_t roctracer_disable_op_callback(
activity_domain_t domain, // tracing domain
uint32_t id); // API call ID
uint32_t op); // API call ID
roctracer_status_t roctracer_disable_domain_callback(
activity_domain_t domain); // tracing domain
roctracer_status_t roctracer_disable_callback();
////////////////////////////////////////////////////////////////////////////////
// Activity API
@@ -175,15 +185,23 @@ roctracer_pool_t* roctracer_default_pool(
roctracer_pool_t* pool = NULL); // [in] new default pool if not NULL
// Enable activity records logging
roctracer_status_t roctracer_enable_activity(
roctracer_status_t roctracer_enable_op_activity(
activity_domain_t domain, // tracing domain
uint32_t id, // activity ID
uint32_t op, // activity op ID
roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one
roctracer_status_t roctracer_enable_domain_activity(
activity_domain_t domain, // tracing domain
roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one
roctracer_status_t roctracer_enable_activity(
roctracer_pool_t* pool = NULL); // memory pool, NULL is a default one
// Disable activity records logging
roctracer_status_t roctracer_disable_activity(
roctracer_status_t roctracer_disable_op_activity(
activity_domain_t domain, // tracing domain
uint32_t id); // activity ID
uint32_t op); // activity op ID
roctracer_status_t roctracer_disable_domain_activity(
activity_domain_t domain); // tracing domain
roctracer_status_t roctracer_disable_activity();
// Flush available activity records
roctracer_status_t roctracer_flush_activity(
-2
Datei anzeigen
@@ -24,10 +24,8 @@ THE SOFTWARE.
#define INC_ROCTRACER_HCC_H_
#if (LOCAL_BUILD == 1)
#include <hc_hsa_op_id.h>
#include <hc_prof_runtime.h>
#else
#include <hcc/hc_hsa_op_id.h>
#include <hcc/hc_prof_runtime.h>
#endif