GpaBeginSample
Copyright (c) 2018-2024 Advanced Micro Devices, Inc. 保留所有权利。
语法
GpaStatus GpaBeginSample( GpaUInt32 sample_id, GpaCommandListId command_list_id);描述
在命令列表中开始一个样本。样本是收集计数器的一种特定工作负载。如果拥有该会话时创建的 kGpaSessionSampleTypeDiscreteCounter 启用了某一个或多个计数器,那么将为该样本收集这些计数器。每个样本必须与一个 GPA 命令列表相关联。在开始样本之前,命令列表必须已经启动。只要没有两个线程在同一个命令列表上创建样本,样本就可以由多个线程创建。您必须为每个新样本提供一个唯一的 ID。执行多次传递时,每个样本 ID 必须存在于所有传递中。您可以创建任意数量的样本。但是,不允许嵌套样本。每个样本必须用 GpaBeginSample/GpaEndSample 序列包围,然后才能开始另一个样本。样本可以在一个主命令列表中开始,然后在另一个主命令列表中继续/结束 - 请参阅 GpaContinueSampleOnCommandList。
参数
| 名称 | 描述 |
|---|---|
| sample_id | 唯一的样本标识符。 |
| command_list_id | 先前创建的命令列表的唯一标识符。 |
返回值
| 返回值 | 描述 |
|---|---|
| kGpaStatusOk | 样本已成功启动。 |
| kGpaStatusErrorGpaNotInitialized | GPA 未初始化。请在所有其他入口点之前调用 GpaInitialize。 |
| kGpaStatusErrorNullPointer | 提供的 command_list_id 参数为 NULL。 |
| kGpaStatusErrorCommandListNotFound | 提供的 command_list_id 参数未被识别为先前创建的命令列表标识符。 |
| kGpaStatusErrorIndexOutOfRange | 指定的命令列表的传递索引超出范围。 |
| kGpaStatusErrorFailed | 无法启动样本。 |
| kGpaStatusErrorException | 发生异常。 |