@@ -124,13 +124,13 @@ class RocProfilerService
124124
125125 static RocProfilerService* s_instance;
126126
127- static rocprofiler_context_id_t hip_api_ctx ;
128- static rocprofiler_context_id_t activity_ctx ;
129- static rocprofiler_context_id_t rocprofiler_ctx ;
130- static rocprofiler_context_id_t alloc_tracing_ctx ;
131- static rocprofiler_context_id_t counter_ctx ;
127+ static rocprofiler_context_id_t s_hip_api_ctx ;
128+ static rocprofiler_context_id_t s_activity_ctx ;
129+ static rocprofiler_context_id_t s_rocprofiler_ctx ;
130+ static rocprofiler_context_id_t s_alloc_tracing_ctx ;
131+ static rocprofiler_context_id_t s_counter_ctx ;
132132
133- static rocprofiler_buffer_id_t activity_buf ;
133+ static rocprofiler_buffer_id_t s_activity_buf ;
134134
135135 void create_attributes (Caliper* c)
136136 {
@@ -198,8 +198,8 @@ class RocProfilerService
198198
199199 void pre_flush_cb ()
200200 {
201- if (activity_buf .handle > 0 )
202- ROCPROFILER_CALL (rocprofiler_flush_buffer (activity_buf ));
201+ if (s_activity_buf .handle > 0 )
202+ ROCPROFILER_CALL (rocprofiler_flush_buffer (s_activity_buf ));
203203 }
204204
205205 static void tool_tracing_callback (
@@ -353,6 +353,7 @@ class RocProfilerService
353353 }
354354
355355 Variant v_kernel_name;
356+
356357 {
357358 std::lock_guard<std::mutex> g (s_instance->m_kernel_info_mutex );
358359 auto it = s_instance->m_kernel_info .find (record->dispatch_info .kernel_id );
@@ -373,9 +374,11 @@ class RocProfilerService
373374 rocprofiler_counter_id_t counter_id = { .handle = 0 };
374375 rocprofiler_query_record_counter_id (record->id , &counter_id);
375376
376- cali::Node* correlation_entry_node = counter_dispatch_entry.node ();
377+ FixedSizeSnapshotRecord<4 > snapshot;
378+
379+ if (!counter_dispatch_entry.empty ()) {
380+ cali::Node* correlation_entry_node = counter_dispatch_entry.node ();
377381
378- {
379382 auto it = s_instance->m_counter_dimension_info_map .find (counter_id.handle );
380383 if (it != s_instance->m_counter_dimension_info_map .end ()) {
381384 for (const auto & dim : it->second ) {
@@ -385,11 +388,10 @@ class RocProfilerService
385388 Variant (cali_make_variant_from_uint (pos)), correlation_entry_node);
386389 }
387390 }
388- }
389391
390- FixedSizeSnapshotRecord<4 > snapshot;
391- if (!counter_dispatch_entry.empty ())
392392 snapshot.builder ().append (Entry (correlation_entry_node));
393+ }
394+
393395 if (!mpi_rank_entry.empty ())
394396 snapshot.builder ().append (mpi_rank_entry);
395397
@@ -411,7 +413,7 @@ class RocProfilerService
411413 c.end (s_instance->m_flush_region_attr );
412414 }
413415
414- static void tool_api_cb (
416+ static void tool_api_callback (
415417 rocprofiler_callback_tracing_record_t record,
416418 rocprofiler_user_data_t * user_data,
417419 void * /* callback_data */
@@ -507,28 +509,28 @@ class RocProfilerService
507509 void post_init_cb (Caliper* c, Channel* channel)
508510 {
509511 int status = 0 ;
510- ROCPROFILER_CALL (rocprofiler_context_is_valid (rocprofiler_ctx , &status));
512+ ROCPROFILER_CALL (rocprofiler_context_is_valid (s_rocprofiler_ctx , &status));
511513 if (!status) {
512514 Log (0 ).stream () << channel->name () << " : rocprofiler: contexts not initialized! Skipping ROCm profiling.\n " ;
513515 return ;
514516 }
515517
516518 if (m_enable_api_callbacks) {
517519 channel->events ().subscribe_attribute (c, m_api_attr);
518- ROCPROFILER_CALL (rocprofiler_start_context (hip_api_ctx ));
520+ ROCPROFILER_CALL (rocprofiler_start_context (s_hip_api_ctx ));
519521 }
520522
521523 if (m_enable_activity_tracing) {
522- ROCPROFILER_CALL (rocprofiler_start_context (rocprofiler_ctx ));
523- ROCPROFILER_CALL (rocprofiler_start_context (activity_ctx ));
524+ ROCPROFILER_CALL (rocprofiler_start_context (s_rocprofiler_ctx ));
525+ ROCPROFILER_CALL (rocprofiler_start_context (s_activity_ctx ));
524526 }
525527
526528 if (m_enable_allocation_tracing) {
527- ROCPROFILER_CALL (rocprofiler_start_context (alloc_tracing_ctx ));
529+ ROCPROFILER_CALL (rocprofiler_start_context (s_alloc_tracing_ctx ));
528530 }
529531
530532 if (m_enable_counters) {
531- ROCPROFILER_CALL (rocprofiler_start_context (counter_ctx ));
533+ ROCPROFILER_CALL (rocprofiler_start_context (s_counter_ctx ));
532534 }
533535
534536 if (m_enable_activity_tracing || m_enable_counters) {
@@ -558,18 +560,18 @@ class RocProfilerService
558560 void pre_finish_cb (Caliper* c, Channel* channel)
559561 {
560562 int status = 0 ;
561- ROCPROFILER_CALL (rocprofiler_context_is_active (hip_api_ctx , &status));
563+ ROCPROFILER_CALL (rocprofiler_context_is_active (s_hip_api_ctx , &status));
562564 if (status)
563- ROCPROFILER_CALL (rocprofiler_stop_context (hip_api_ctx ));
564- ROCPROFILER_CALL (rocprofiler_context_is_active (rocprofiler_ctx , &status));
565+ ROCPROFILER_CALL (rocprofiler_stop_context (s_hip_api_ctx ));
566+ ROCPROFILER_CALL (rocprofiler_context_is_active (s_rocprofiler_ctx , &status));
565567 if (status)
566- ROCPROFILER_CALL (rocprofiler_stop_context (rocprofiler_ctx ));
567- ROCPROFILER_CALL (rocprofiler_context_is_active (activity_ctx , &status));
568+ ROCPROFILER_CALL (rocprofiler_stop_context (s_rocprofiler_ctx ));
569+ ROCPROFILER_CALL (rocprofiler_context_is_active (s_activity_ctx , &status));
568570 if (status)
569- ROCPROFILER_CALL (rocprofiler_stop_context (activity_ctx ));
570- ROCPROFILER_CALL (rocprofiler_context_is_active (counter_ctx , &status));
571+ ROCPROFILER_CALL (rocprofiler_stop_context (s_activity_ctx ));
572+ ROCPROFILER_CALL (rocprofiler_context_is_active (s_counter_ctx , &status));
571573 if (status)
572- ROCPROFILER_CALL (rocprofiler_stop_context (counter_ctx ));
574+ ROCPROFILER_CALL (rocprofiler_stop_context (s_counter_ctx ));
573575
574576 Log (1 ).stream () << channel->name () << " : rocprofiler: wrote " << m_num_activity_records
575577 << " activity records, " << m_num_counter_records << " counter records.\n " ;
@@ -643,12 +645,15 @@ class RocProfilerService
643645 }
644646
645647 ROCPROFILER_CALL (rocprofiler_configure_buffer_dispatch_counting_service (
646- counter_ctx ,
647- activity_buf ,
648+ s_counter_ctx ,
649+ s_activity_buf ,
648650 dispatch_counter_config_callback,
649651 nullptr
650652 ));
651653
654+ Log (1 ).stream () << m_channel.name () << " : rocprofiler: Created counter profiles for "
655+ << m_counter_profile_map.size () << " agents\n " ;
656+
652657 m_enable_counters = !m_counter_profile_map.empty ();
653658 }
654659#endif
@@ -701,30 +706,30 @@ class RocProfilerService
701706
702707 static int tool_init (rocprofiler_client_finalize_t fini_func, void * tool_data)
703708 {
704- ROCPROFILER_CALL (rocprofiler_create_context (&hip_api_ctx ));
705- ROCPROFILER_CALL (rocprofiler_create_context (&activity_ctx ));
706- ROCPROFILER_CALL (rocprofiler_create_context (&rocprofiler_ctx ));
707- ROCPROFILER_CALL (rocprofiler_create_context (&alloc_tracing_ctx ));
708- ROCPROFILER_CALL (rocprofiler_create_context (&counter_ctx ));
709+ ROCPROFILER_CALL (rocprofiler_create_context (&s_hip_api_ctx ));
710+ ROCPROFILER_CALL (rocprofiler_create_context (&s_activity_ctx ));
711+ ROCPROFILER_CALL (rocprofiler_create_context (&s_rocprofiler_ctx ));
712+ ROCPROFILER_CALL (rocprofiler_create_context (&s_alloc_tracing_ctx ));
713+ ROCPROFILER_CALL (rocprofiler_create_context (&s_counter_ctx ));
709714
710715 ROCPROFILER_CALL (rocprofiler_configure_callback_tracing_service (
711- hip_api_ctx ,
716+ s_hip_api_ctx ,
712717 ROCPROFILER_CALLBACK_TRACING_HIP_RUNTIME_API ,
713718 nullptr ,
714719 0 ,
715- tool_api_cb ,
720+ tool_api_callback ,
716721 nullptr
717722 ));
718723 ROCPROFILER_CALL (rocprofiler_configure_callback_tracing_service (
719- rocprofiler_ctx ,
724+ s_rocprofiler_ctx ,
720725 ROCPROFILER_CALLBACK_TRACING_CODE_OBJECT ,
721726 nullptr ,
722727 0 ,
723- tool_api_cb ,
728+ tool_api_callback ,
724729 nullptr
725730 ));
726731 ROCPROFILER_CALL (rocprofiler_configure_callback_tracing_service (
727- alloc_tracing_ctx ,
732+ s_alloc_tracing_ctx ,
728733 ROCPROFILER_CALLBACK_TRACING_MEMORY_ALLOCATION ,
729734 nullptr ,
730735 0 ,
@@ -733,31 +738,31 @@ class RocProfilerService
733738 ));
734739
735740 ROCPROFILER_CALL (rocprofiler_create_buffer (
736- activity_ctx ,
741+ s_activity_ctx ,
737742 1024 * 1024 ,
738743 1024 * 1024 - 8192 ,
739744 ROCPROFILER_BUFFER_POLICY_LOSSLESS ,
740745 tool_tracing_callback,
741746 nullptr ,
742- &activity_buf
747+ &s_activity_buf
743748 ));
744749
745750 // auto kernel_dispatch_cb_ops =
746751 // std::array<rocprofiler_tracing_operation_t, 1>{ROCPROFILER_KERNEL_DISPATCH_COMPLETE};
747752
748753 ROCPROFILER_CALL (rocprofiler_configure_buffer_tracing_service (
749- activity_ctx ,
754+ s_activity_ctx ,
750755 ROCPROFILER_BUFFER_TRACING_KERNEL_DISPATCH ,
751756 nullptr ,
752757 0 ,
753- activity_buf
758+ s_activity_buf
754759 ));
755760 ROCPROFILER_CALL (rocprofiler_configure_buffer_tracing_service (
756- activity_ctx ,
761+ s_activity_ctx ,
757762 ROCPROFILER_BUFFER_TRACING_MEMORY_COPY ,
758763 nullptr ,
759764 0 ,
760- activity_buf
765+ s_activity_buf
761766 ));
762767
763768 /*
@@ -773,7 +778,7 @@ class RocProfilerService
773778 );
774779
775780 ROCPROFILER_CALL (rocprofiler_configure_external_correlation_id_request_service (
776- activity_ctx ,
781+ s_activity_ctx ,
777782 external_corr_id_request_kinds.data (),
778783 external_corr_id_request_kinds.size (),
779784 set_external_correlation_id,
@@ -839,13 +844,13 @@ class RocProfilerService
839844
840845RocProfilerService* RocProfilerService::s_instance = nullptr ;
841846
842- rocprofiler_context_id_t RocProfilerService::hip_api_ctx = {};
843- rocprofiler_context_id_t RocProfilerService::activity_ctx = {};
844- rocprofiler_context_id_t RocProfilerService::rocprofiler_ctx = {};
845- rocprofiler_context_id_t RocProfilerService::alloc_tracing_ctx = {};
846- rocprofiler_context_id_t RocProfilerService::counter_ctx = {};
847+ rocprofiler_context_id_t RocProfilerService::s_hip_api_ctx = {};
848+ rocprofiler_context_id_t RocProfilerService::s_activity_ctx = {};
849+ rocprofiler_context_id_t RocProfilerService::s_rocprofiler_ctx = {};
850+ rocprofiler_context_id_t RocProfilerService::s_alloc_tracing_ctx = {};
851+ rocprofiler_context_id_t RocProfilerService::s_counter_ctx = {};
847852
848- rocprofiler_buffer_id_t RocProfilerService::activity_buf = {};
853+ rocprofiler_buffer_id_t RocProfilerService::s_activity_buf = {};
849854
850855const char * RocProfilerService::s_spec = R"json(
851856{
0 commit comments