From: Junyan He <junyan...@linux.intel.com> 1. Add five timestamp reigsters and one pointer register into curbe. The five timestamp reigsters will hold all the infomation of profiling timestamps, includes 20 uint timestamps for each point, 1 ulong prolog holding the start time and and 1 ulong epilog holding the end time of that kernel. The pointer reigster will hold the log buffer address. 2. Delete the unused laneid string in the specialRegMean.
Signed-off-by: Junyan He <junyan...@linux.intel.com> --- backend/src/ir/profile.cpp | 15 +++++++++++++-- backend/src/ir/profile.hpp | 8 +++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/backend/src/ir/profile.cpp b/backend/src/ir/profile.cpp index 37f2d3d..ad343d5 100644 --- a/backend/src/ir/profile.cpp +++ b/backend/src/ir/profile.cpp @@ -44,9 +44,14 @@ namespace ir { "retVal", "slm_offset", "printf_buffer_pointer", "printf_index_buffer_pointer", "dwblockip", - "lane_id", "invalid", - "bti_utility" + "bti_utility", + "profiling_buffer_pointer", + "profiling_timestamps0", + "profiling_timestamps1", + "profiling_timestamps2", + "profiling_timestamps3", + "profiling_timestamps4" }; #if GBE_DEBUG @@ -92,6 +97,12 @@ namespace ir { DECL_NEW_REG(FAMILY_DWORD, dwblockip, 0); DECL_NEW_REG(FAMILY_DWORD, invalid, 1); DECL_NEW_REG(FAMILY_DWORD, btiUtil, 1); + DECL_NEW_REG(FAMILY_DWORD, profilingbptr, 1); + DECL_NEW_REG(FAMILY_DWORD, profilingts0, 0); + DECL_NEW_REG(FAMILY_DWORD, profilingts1, 0); + DECL_NEW_REG(FAMILY_DWORD, profilingts2, 0); + DECL_NEW_REG(FAMILY_DWORD, profilingts3, 0); + DECL_NEW_REG(FAMILY_DWORD, profilingts4, 0); } #undef DECL_NEW_REG diff --git a/backend/src/ir/profile.hpp b/backend/src/ir/profile.hpp index bf909be..e15a457 100644 --- a/backend/src/ir/profile.hpp +++ b/backend/src/ir/profile.hpp @@ -74,7 +74,13 @@ namespace ir { static const Register dwblockip = Register(30); // blockip static const Register invalid = Register(31); // used for valid comparation. static const Register btiUtil = Register(32); // used for mixed pointer as bti utility. - static const uint32_t regNum = 33; // number of special registers + static const Register profilingbptr = Register(33); // buffer addr for profiling. + static const Register profilingts0 = Register(34); // timestamp for profiling. + static const Register profilingts1 = Register(35); // timestamp for profiling. + static const Register profilingts2 = Register(36); // timestamp for profiling. + static const Register profilingts3 = Register(37); // timestamp for profiling. + static const Register profilingts4 = Register(38); // timestamp for profiling. + static const uint32_t regNum = 39; // number of special registers extern const char *specialRegMean[]; // special register name. } /* namespace ocl */ -- 1.7.9.5 _______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/beignet