[ROCm/roctracer commit: 1be273a1b4]
Αυτή η υποβολή περιλαμβάνεται σε:
Evgeny
2020-03-14 00:13:22 -05:00
γονέας 19322871ee
υποβολή e6a61fc63e
5 αρχεία άλλαξαν με 39 προσθήκες και 41 διαγραφές
@@ -1,4 +1,5 @@
#!/usr/bin/python
from __future__ import print_function
import os, sys, re
OUT='inc/hsa_prof_str.h'
@@ -36,7 +37,7 @@ LICENSE = \
#############################################################
# Error handler
def fatal(module, msg):
print >>sys.stderr, module + ' Error: "' + msg + '"'
print (module + ' Error: "' + msg + '"', file = sys.stderr)
sys.exit(1)
# Get next text block
@@ -490,7 +491,7 @@ class API_DescrParser:
# main
# Usage
if len(sys.argv) != 3:
print >>sys.stderr, "Usage:", sys.argv[0], " <rocTracer root> <HSA runtime include path>"
print ("Usage:", sys.argv[0], " <rocTracer root> <HSA runtime include path>", file=sys.stderr)
sys.exit(1)
else:
ROOT = sys.argv[1] + '/'
@@ -499,7 +500,7 @@ else:
descr = API_DescrParser(OUT, HSA_DIR, API_TABLES_H, API_HEADERS_H, LICENSE)
out_file = ROOT + OUT
print 'Generating "' + out_file + '"'
print ('Generating "' + out_file + '"')
f = open(out_file, 'w')
f.write(descr.content[:-1])
f.close()
@@ -1,4 +1,5 @@
#!/usr/bin/python
from __future__ import print_function
import os, sys, re
OUT_H = 'inc/kfd_prof_str.h'
@@ -33,7 +34,7 @@ LICENSE = \
#############################################################
# Error handler
def fatal(module, msg):
print >>sys.stderr, module + ' Error: "' + msg + '"'
print (module + ' Error: "' + msg + '"', file = sys.stderr)
sys.exit(1)
# Get next text block
@@ -539,7 +540,7 @@ class API_DescrParser:
# main
# Usage
if len(sys.argv) != 3:
print >>sys.stderr, "Usage:", sys.argv[0], " <rocTracer root> <KFD include path>"
print ("Usage:", sys.argv[0], " <rocTracer root> <KFD include path>", file = sys.stderr)
sys.exit(1)
else:
ROOT = sys.argv[1] + '/'
@@ -548,13 +549,13 @@ else:
descr = API_DescrParser(OUT_H, KFD_DIR, API_HEADERS_H, LICENSE)
out_file = ROOT + OUT_H
print 'Generating "' + out_file + '"'
print ('Generating "' + out_file + '"')
f = open(out_file, 'w')
f.write(descr.content_h[:-1])
f.close()
out_file = ROOT + OUT_CPP
print 'Generating "' + out_file + '"'
print ('Generating "' + out_file + '"')
f = open(out_file, 'w')
f.write(descr.content_cpp[:-1])
f.close()
@@ -47,7 +47,7 @@ class Journal {
}
~Journal() {
for (auto& val : map_) delete val.second;
for (auto& val : *map_) delete val.second;
delete map_;
}
@@ -686,8 +686,8 @@ static void roctracer_enable_callback_impl(
roctracer_rtapi_callback_t callback,
void* user_data)
{
roctracer::cb_journal->registr({domain, op, {callback, user_data}});
roctracer_enable_callback_fun((roctracer_domain_t)domain, op, callback, user_data);
roctracer::cb_journal->registr({domain, op, {callback, user_data}});
roctracer_enable_callback_fun((roctracer_domain_t)domain, op, callback, user_data);
}
PUBLIC_API roctracer_status_t roctracer_enable_op_callback(
@@ -1152,46 +1152,45 @@ PUBLIC_API roctracer_status_t roctracer_set_properties(
API_METHOD_SUFFIX
}
static bool is_loaded = false;
PUBLIC_API bool roctracer_load() {
static bool is_loaded = false;
ONLOAD_TRACE("begin, loaded(" << is_loaded << ")");
if (is_loaded) return true;
if (is_loaded == true) return true;
is_loaded = true;
if (roctracer::cb_journal == NULL) roctracer::cb_journal = new roctracer::CbJournal;
if (roctracer::act_journal == NULL) roctracer::act_journal = new roctracer::ActJournal;
ONLOAD_TRACE_END();
return true;
}
PUBLIC_API void roctracer_unload() {
static bool is_unloaded = false;
ONLOAD_TRACE("begin, unloaded(" << is_unloaded << ")");
ONLOAD_TRACE("begin, loaded(" << is_loaded << ")");
if (is_unloaded == true) return;
is_unloaded = true;
if (is_loaded == false) return;
is_loaded = false;
if (roctracer::cb_journal != NULL) {
delete roctracer::cb_journal;
roctracer::cb_journal = NULL;
}
if (roctracer::act_journal != NULL) {
delete roctracer::act_journal;
roctracer::act_journal = NULL;
}
roctracer::trace_buffer.Flush();
roctracer::close_output_file(roctracer::kernel_file_handle);
ONLOAD_TRACE_END();
}
// HSA-runtime tool on-load/unload methods
PUBLIC_API bool OnLoad(HsaApiTable* table, uint64_t runtime_version, uint64_t failed_tool_count,
const char* const* failed_tool_names) {
ONLOAD_TRACE_BEG();
const bool ret = roctracer_load();
ONLOAD_TRACE_END();
return ret;
}
PUBLIC_API void OnUnload() {
ONLOAD_TRACE("done");
}
CONSTRUCTOR_API void constructor() {
ONLOAD_TRACE_BEG();
roctracer::util::Logger::Create();
if (roctracer::cb_journal == NULL) roctracer::cb_journal = new roctracer::CbJournal;
if (roctracer::act_journal == NULL) roctracer::act_journal = new roctracer::ActJournal;
roctracer_load();
ONLOAD_TRACE_END();
}
@@ -585,19 +585,18 @@ void open_tracing_pool() {
void close_tracing_pool() {
if (roctracer_default_pool() != NULL) {
ROCTRACER_CALL(roctracer_flush_activity());
ROCTRACER_CALL(roctracer_close_pool());
}
}
// tool library is loaded
static bool is_loaded = false;
// tool unload method
void tool_unload() {
static bool is_unloaded = false;
ONLOAD_TRACE("begin, unloaded(" << is_unloaded << ")");
ONLOAD_TRACE("begin, loaded(" << is_loaded << ")");
if (is_unloaded == true) return;
is_unloaded = true;
roctracer_unload();
if (is_loaded == false) return;
is_loaded = false;
if (trace_roctx) {
ROCTRACER_CALL(roctracer_disable_domain_callback(ACTIVITY_DOMAIN_ROCTX));
@@ -627,12 +626,13 @@ void tool_unload() {
// tool load method
void tool_load() {
static bool is_loaded = false;
ONLOAD_TRACE("begin, loaded(" << is_loaded << ")");
if (is_loaded == true) return;
is_loaded = true;
roctracer::TraceBufferBase::StartWorkerThreadAll();
// Output file
const char* output_prefix = getenv("ROCP_OUTPUT_DIR");
if (output_prefix != NULL) {
@@ -817,9 +817,6 @@ void tool_load() {
printf(")\n");
}
roctracer::TraceBufferBase::StartWorkerThreadAll();
roctracer_load();
ONLOAD_TRACE_END();
}