- Aggregate all TLS(Thread Local Storage) variables into a single class
- This is to improve cache accesses per thread
Change-Id: Ic8361eaeae290fff00254684e309471958365eb9
[ROCm/clr commit: 8b391ef18c]
For hipGraphKernelNode, remove func_;
and reorganize functions to naturely support mGPU;
For hipGraphMemcpyNode, make EnqueueCommands() support different
queues' sync
Change-Id: I22708923f454adf4456ff99d25559daffed8c20d
[ROCm/clr commit: f83ba8cd23]
To avoid using the thread local std::stack to remember the phase enter
timestamp, the tracer tool uses the phase data to store the timestamp.
Change-Id: I9e95637b41d6f0b2bd61016062ca07d6ba897652
[ROCm/clr commit: 47a29c748a]
Remove the api_callbacks_table_t that was holding the API activities and
user callbacks. Instead use a single roctracer callback (TracerCallback)
used to report both API activities and callbacks.
Remove the hipInitActivityCallback that was setting the ROCtracer
callback and memory pool for asynchronous activities as it did not
allow disctinct pools to be used for each activity. Instead, use
hipRegisterTracerCallback to set the single roctracer callback.
Change-Id: I4c10f04f29a6e4cce8caf15db3016c3f72c86b04
[ROCm/clr commit: 82bce811ee]
The CallbacksTable::is_enabled() can simply be implemented by checking
if enabled_api_count is > 0. The ROCclr does not use IS_PROFILER_ON
to report asynchronous activities.
Change-Id: Iab3d034357e51282bf2c453b2ac5c9726786b9eb
[ROCm/clr commit: eeddffc1b1]
Since the hip_api_data and record are only needed at the HIP function's
scope, there is no need to allocate/free them in the ROCtracer activity
callback, they can reside on the HIP function's stack frame.
This solves an issue with the thread local stacks of records the tracer
maintains that are destroyed first (before any global destructor) on
process exit, making it impossible to use HIP functions in global
destructors when the profiler is enabled.
Change-Id: Ib1d70124d009a44dc1f08d41edff95e5f9f84369
[ROCm/clr commit: 85fd969253]
Using wrapper header file will generate warning message during build time.
Updated the message content to make it more meaningful
Change-Id: I4e0c5e3d845946d9b493d98879ea8e75a92506ee
[ROCm/clr commit: c833a19284]
- correct condition for flags
- remove check for num of dependency
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I6efd918e203b57c840d74ee0243f24b0c2c80e21
[ROCm/clr commit: a10df01f81]
HIP_FORCE_QUEUE_PROFILING has been replaced by GPU_FORCE_QUEUE_PROFILING.
Change-Id: Ic8dec4407ef79c27094cb3954e48869075b4732f
[ROCm/clr commit: 97741fe5d4]
Hiprtc related libraries are duplicated when installed from build directory
This happens when cmake install libdir is set with lib64 as default and using hard code path "lib" for LIBRARY_DESTINATION
Replaced "lib" with cmake install libdir
Removed the default setting of libdir in source code and its should be controlled via build argument
Change-Id: Icac55eac9427a5088903d01942e6bfd5263a6fc0
[ROCm/clr commit: ba04f95771]
Fixed an error in the CMakeLists.txt USE_PERF_API option declaration
that was making it always disabled. Fixing this exposed an issue with
the hip_prof_gen.py script's handling of function variants (for example,
_spt functions) and new HIP_INIT_API_* macros.
Also switched the python interpreter to python3 as python2 may not be
available by default on the build system.
Change-Id: I971fc9edcc746ca63a2bdf4f540e755f9a80fe69
[ROCm/clr commit: 8ac20e5e38]