From 4029bc31e68db8a0279df3ef7949837c7d506d19 Mon Sep 17 00:00:00 2001 From: Ben Sander Date: Mon, 24 Oct 2016 17:38:22 -0500 Subject: [PATCH] Improve HIP TID printing in debug mode. Map long thread-id to a short one that is printed with each message. Remove clunky stirng creation code for tid_tr. Print TID on every message. Change-Id: I780a91d8ce789cb4957789036b478bf5cde8c4e4 [ROCm/clr commit: 7d69e858a55478012013320a282ba488f7e97084] --- projects/clr/hipamd/src/hip_hcc.cpp | 25 +++++++++++++++++++-- projects/clr/hipamd/src/hip_hcc.h | 34 ++++++++++++++--------------- 2 files changed, 40 insertions(+), 19 deletions(-) diff --git a/projects/clr/hipamd/src/hip_hcc.cpp b/projects/clr/hipamd/src/hip_hcc.cpp index 7fa25334bc..a93f49f5f7 100644 --- a/projects/clr/hipamd/src/hip_hcc.cpp +++ b/projects/clr/hipamd/src/hip_hcc.cpp @@ -84,6 +84,11 @@ std::vector g_hip_visible_devices; hsa_agent_t g_cpu_agent; unsigned g_numLogicalThreads; +std::atomic g_lastShortTid(1); + + +thread_local ShortTid tls_shortTid; + /* Implementation of malloc and free device functions. @@ -230,6 +235,22 @@ hipError_t ihipSynchronize(void) return (hipSuccess); } +//================================================================================================= +// ihipStream_t: +//================================================================================================= +ShortTid::ShortTid() +{ + _shortTid = g_lastShortTid.fetch_add(1); + + if (HIP_DB & (1<>%s\n", (localHipStatus == 0) ? API_COLOR:KRED, __func__, localHipStatus, ihipErrorString(localHipStatus), API_COLOR_END);\ + fprintf(stderr, " %ship-api:tid:%d %-30s ret=%2d (%s)>>%s\n", (localHipStatus == 0) ? API_COLOR:KRED, tls_shortTid.tid(), __func__, localHipStatus, ihipErrorString(localHipStatus), API_COLOR_END);\ }\ localHipStatus;\ }) @@ -216,8 +217,7 @@ static const DbName dbName [] = if (HIP_DB & (1<<(trace_level))) {\ char msgStr[1000];\ snprintf(msgStr, 2000, __VA_ARGS__);\ - COMPUTE_TID_STR\ - fprintf (stderr, " %ship-%s%s:%s%s", dbName[trace_level]._color, dbName[trace_level]._shortName, tid_ss.str().c_str(), msgStr, KNRM); \ + fprintf (stderr, " %ship-%s tid:%d:%s%s", dbName[trace_level]._color, dbName[trace_level]._shortName, tls_shortTid.tid(), msgStr, KNRM); \ }\ } #else