Miscellaneous Updates (const-correctness, logic fixes, etc.) (#126)
* Update lib/rocprofiler/hsa/hsa.cpp
- fix logic for constructing callback_contexts and buffered_contexts arrays
* Update include/rocprofiler/{agent,fwd,pc_sampling}.h
- remove rocprofiler_pc_sampling_config_array_t due to const problems
- update rocprofiler_agent_t to use arrays to const data
- remove redundant rocprofiler_query_pc_sampling_agent_configurations
- this implementation is quite literally looking up info in the agent struct that was passed
* Update lib/rocprofiler/pc_sampling.cpp
- remove rocprofiler_query_pc_sampling_agent_configurations
* update lib/rocprofiler/agent.cpp
- handle const fields
- make mi200_pc_sampling_config variable static
* Update lib/rocprofiler/tests/agent.cpp
- tweak to pc_sampling_configs offset
* Update samples/pc_sampling
- Update sample to reflect minor tweaks to pc_sampling_configs in rocprofiler_agent_t
* Update CI workflow
- remove 'if: ${{ always() }}'
- I suspect this is why the jobs do not cancel in progress correctly
This commit is contained in:
committed by
GitHub
parent
a7a971a247
commit
d1518c65b2
@@ -172,14 +172,20 @@ typedef struct rocprofiler_agent_t
|
||||
///< dimension of a work-group.
|
||||
rocprofiler_dim3_t grid_max_dim; ///< GPU only. Maximum number of work-items of each dimension
|
||||
///< of a grid.
|
||||
rocprofiler_agent_mem_bank_t* mem_banks;
|
||||
rocprofiler_agent_cache_t* caches;
|
||||
rocprofiler_agent_io_link_t* io_links;
|
||||
const rocprofiler_agent_mem_bank_t* mem_banks;
|
||||
const rocprofiler_agent_cache_t* caches;
|
||||
const rocprofiler_agent_io_link_t* io_links;
|
||||
const char* name; ///< Name of the agent. Will be identical to product name for CPU
|
||||
const char* vendor_name; ///< Vendor of agent (will be AMD)
|
||||
const char* product_name; ///< Marketing name
|
||||
const char* model_name; ///< GPU only. Will be something like vega20, mi200, etc.
|
||||
rocprofiler_pc_sampling_config_array_t pc_sampling_configs;
|
||||
uint64_t num_pc_sampling_configs; ///< GPU only. Number of PC sampling modes available for this
|
||||
///< device type. Note: if another process is currently using
|
||||
///< PC sampling on this agent, this value will be zero so
|
||||
///< do not assume the number of PC sampling configurations
|
||||
///< based on the device type.
|
||||
const rocprofiler_pc_sampling_configuration_t*
|
||||
pc_sampling_configs; ///< GPU only. Array of PC sampling configuration types.
|
||||
} rocprofiler_agent_t;
|
||||
|
||||
/**
|
||||
|
||||
@@ -326,15 +326,6 @@ typedef struct
|
||||
uint64_t handle;
|
||||
} rocprofiler_profile_config_id_t;
|
||||
|
||||
/**
|
||||
* @brief Array of PC Sampling Configurations
|
||||
*/
|
||||
typedef struct rocprofiler_pc_sampling_config_array_s
|
||||
{
|
||||
rocprofiler_pc_sampling_configuration_t* data;
|
||||
size_t size;
|
||||
} rocprofiler_pc_sampling_config_array_t;
|
||||
|
||||
/**
|
||||
* @brief Tracing record
|
||||
*
|
||||
|
||||
@@ -63,19 +63,6 @@ struct rocprofiler_pc_sampling_configuration_s
|
||||
uint64_t flags;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Query PC Sampling Configuration.
|
||||
*
|
||||
* @param [in] agent
|
||||
* @param [out] config
|
||||
* @param [out] config_count
|
||||
* @return ::rocprofiler_status_t
|
||||
*/
|
||||
rocprofiler_status_t ROCPROFILER_API
|
||||
rocprofiler_query_pc_sampling_agent_configurations(rocprofiler_agent_t agent,
|
||||
rocprofiler_pc_sampling_configuration_t* config,
|
||||
size_t* config_count) ROCPROFILER_NONNULL(2, 3);
|
||||
|
||||
/** @} */
|
||||
|
||||
ROCPROFILER_EXTERN_C_FINI
|
||||
|
||||
Reference in New Issue
Block a user