Files
TheRock/rocm-systems/projects/rocr-runtime/rocrtst/suites/functional/counted_queues.h
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

68 lines
2.3 KiB
C++

/*
* Copyright © Advanced Micro Devices, Inc., or its affiliates.
*
* SPDX-License-Identifier: MIT
*/
#ifndef ROCRTST_SUITES_FUNCTIONAL_COUNTED_QUEUES_H
#define ROCRTST_SUITES_FUNCTIONAL_COUNTED_QUEUES_H
#include "suites/test_common/test_base.h"
class CountedQueuesTest : public TestBase {
public:
explicit CountedQueuesTest();
// @Brief: Destructor for test case of CountedQueuesTest
virtual ~CountedQueuesTest();
// @Brief: Setup the environment for measurement
virtual void SetUp();
// @Brief: Core measurement execution
virtual void Run();
// @Brief: Clean up and retrive the resource
virtual void Close();
// @Brief: Display results
virtual void DisplayResults() const;
// @Brief: Display information about what this test does
virtual void DisplayTestInfo(void);
/// @brief Basic API test to acquire, query and release 1 HW queue
void CountedQueueBasicApiTest();
/// @brief This test verifies that when many queues of the same priority are created,
// they are evenly distributed across the limited set of hardware queues, reuse those
// hardware queues correctly, and report proper use-counts before and after release
void CountedQueues_SamePriority_MaxLimitTest();
// @brief Test to verify HSA status codes for incorrect arguments sent via API
void InvalidArgsTest();
// @brief Test to verify that counted queues across all priorities each reuse only
// their own priority-specific hardware queues
void CountedQueuesAllPrioritiesLimitTest();
/// @brief Test to verify hsa_amd_queue_set_priority() does not work on counted queues
void CountedQueuesSetPriorityNackTest();
/// @brief Test to verify hsa_amd_queue_cu_set_mask() does not work on counted queues
void CountedQueuesSetCUMaskNackTest();
/// @brief Test to verify that a counted queue correctly supports kernel dispatches end-to-end
void CountedQueuesDispatchTest();
/// @brief Test to verify kernel dispatches onto shared queues from multiple user apps even when they
// all share the same HW queue
void CountedQueuesMultithreadedDispatchTest();
/// @brief Test to verify ring buffer wrap around when more than queue_size number of
// AQL packets are enqueued
void CountedQueuesOverflowWrapAroundTest();
};
#endif // ROCRTST_SUITES_FUNCTIONAL_COUNTED_QUEUES_H