@@ -74,12 +74,31 @@ static std::unordered_map<std::string, unsigned int> event_instance_name_to_papi
7474/* *** */
7575typedef rocprofiler_status_t (* rocprofiler_flush_buffer_t ) (rocprofiler_buffer_id_t buffer_id);
7676
77- typedef rocprofiler_status_t (* rocprofiler_sample_device_counting_service_t ) (rocprofiler_context_id_t context_id, rocprofiler_user_data_t user_data, rocprofiler_counter_flag_t flags, rocprofiler_record_counter_t * output_records, size_t * rec_count);
78-
79- typedef rocprofiler_status_t (* rocprofiler_configure_callback_dispatch_counting_service_t ) (rocprofiler_context_id_t context_id, rocprofiler_dispatch_counting_service_callback_t dispatch_callback, void *dispatch_callback_args, rocprofiler_profile_counting_record_callback_t record_callback, void *record_callback_args);
80-
81- typedef rocprofiler_status_t (* rocprofiler_configure_device_counting_service_t ) (rocprofiler_context_id_t context_id, rocprofiler_buffer_id_t buffer_id, rocprofiler_agent_id_t agent_id, rocprofiler_device_counting_service_callback_t cb, void *user_data);
82-
77+ #if defined(ROCPROFILER_VERSION_MAJOR) && ROCPROFILER_VERSION_MAJOR >= 1
78+ // ROCm 7.0+ (ROCprofiler SDK 1.x) - use new types
79+ typedef rocprofiler_status_t (*rocprofiler_sample_device_counting_service_t )(
80+ rocprofiler_context_id_t , rocprofiler_user_data_t , rocprofiler_counter_flag_t ,
81+ rocprofiler_counter_record_t *output_records, size_t *rec_count);
82+ typedef rocprofiler_status_t (*rocprofiler_configure_callback_dispatch_counting_service_t )(
83+ rocprofiler_context_id_t ,
84+ rocprofiler_dispatch_counting_service_cb_t dispatch_callback, void *dispatch_callback_args,
85+ rocprofiler_dispatch_counting_record_cb_t record_callback, void *record_callback_args);
86+ typedef rocprofiler_status_t (*rocprofiler_configure_device_counting_service_t )(
87+ rocprofiler_context_id_t , rocprofiler_buffer_id_t , rocprofiler_agent_id_t ,
88+ rocprofiler_device_counting_service_cb_t cb, void *user_data);
89+ #else
90+ // Pre-7.0 ROCm - use old types
91+ typedef rocprofiler_status_t (*rocprofiler_sample_device_counting_service_t )(
92+ rocprofiler_context_id_t , rocprofiler_user_data_t , rocprofiler_counter_flag_t ,
93+ rocprofiler_record_counter_t *output_records, size_t *rec_count);
94+ typedef rocprofiler_status_t (*rocprofiler_configure_callback_dispatch_counting_service_t )(
95+ rocprofiler_context_id_t ,
96+ rocprofiler_dispatch_counting_service_callback_t dispatch_callback, void *dispatch_callback_args,
97+ rocprofiler_profile_counting_record_callback_t record_callback, void *record_callback_args);
98+ typedef rocprofiler_status_t (*rocprofiler_configure_device_counting_service_t )(
99+ rocprofiler_context_id_t , rocprofiler_buffer_id_t , rocprofiler_agent_id_t ,
100+ rocprofiler_device_counting_service_callback_t cb, void *user_data);
101+ #endif
83102
84103
85104typedef rocprofiler_status_t (* rocprofiler_create_buffer_t ) (rocprofiler_context_id_t context, unsigned long size, unsigned long watermark, rocprofiler_buffer_policy_t policy, rocprofiler_buffer_tracing_cb_t callback, void *callback_data, rocprofiler_buffer_id_t *buffer_id);
@@ -133,6 +152,7 @@ rocprofiler_stop_context_t rocprofiler_stop_context_FPTR;
133152rocprofiler_context_is_active_t rocprofiler_context_is_active_FPTR;
134153rocprofiler_context_is_valid_t rocprofiler_context_is_valid_FPTR;
135154rocprofiler_create_profile_config_t rocprofiler_create_profile_config_FPTR;
155+ rocprofiler_destroy_profile_config_t rocprofiler_destroy_profile_config_FPTR;
136156rocprofiler_force_configure_t rocprofiler_force_configure_FPTR;
137157rocprofiler_get_status_string_t rocprofiler_get_status_string_FPTR;
138158rocprofiler_get_thread_id_t rocprofiler_get_thread_id_FPTR;
@@ -251,7 +271,13 @@ obtain_function_pointers()
251271 DLL_SYM_CHECK (rocprofiler_stop_context, rocprofiler_stop_context_t );
252272 DLL_SYM_CHECK (rocprofiler_context_is_valid, rocprofiler_context_is_valid_t );
253273 DLL_SYM_CHECK (rocprofiler_context_is_active, rocprofiler_context_is_active_t );
254- DLL_SYM_CHECK (rocprofiler_create_profile_config, rocprofiler_create_profile_config_t );
274+ DLL_SYM_CHECK (rocprofiler_create_profile_config,
275+ " rocprofiler_create_counter_config" ,
276+ rocprofiler_create_profile_config_t );
277+
278+ DLL_SYM_CHECK (rocprofiler_destroy_profile_config,
279+ " rocprofiler_destroy_counter_config" ,
280+ rocprofiler_destroy_profile_config_t );
255281 DLL_SYM_CHECK (rocprofiler_force_configure, rocprofiler_force_configure_t );
256282 DLL_SYM_CHECK (rocprofiler_get_status_string, rocprofiler_get_status_string_t );
257283 DLL_SYM_CHECK (rocprofiler_get_thread_id, rocprofiler_get_thread_id_t );
0 commit comments