22f3d9034b
- Migrate basic Cooperative Groups tests and integrate to catch - Refactor basic Cooperative Groups tests - Rename tiled partition related files and fix minor bug - Add LaunchCooperativeKernal and LaunchCooperativeKernelMultiDevice tests - Refactor hipCGThreadBlockTileType to use common function - Fix updated file not added during merge - Add coalesced_group type tests - Add coalesced_group shuffle_up and shuffle_down tests - Add coalesced_group shuffle tests - test fails - Implement common code for cooperative group tests - Fixed compilation errror in cooperative_groups_common.hh - Implement busy wait device function - Reimplement tests for grid_group APIs - Add tests for grid_group member and non-member APIs - Refactor existing test for grid_group sync testing - Add thread and block dimensions generators - Add check of grid and block dimensions - Modify doxygen comments - Move cpu_grid.h and supporting functions to catch/include - Use warp_size from properties in grid/block dims generators - Fix condition for warp size 32 on AMD - Fix cpu_grid.h for warp function tests - Add missing include into cpu_grid.h - Code cleanup - Fix doxygen comments - Add missing include in utils header
138 строки
3.7 KiB
C++
138 строки
3.7 KiB
C++
/*
|
|
Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
*/
|
|
|
|
// Test groups are named based on the group names from hip_api_runtime.h, with adding "Test" suffix
|
|
|
|
/**
|
|
* @defgroup CallbackTest Callback Activity APIs
|
|
* @{
|
|
* This section describes tests for the callback/Activity of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup GraphTest Graph Management
|
|
* @{
|
|
* This section describes tests for the graph management types & functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup DeviceTest Device Management
|
|
* @{
|
|
* This section describes tests for device management functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup EventTest Event Management
|
|
* @{
|
|
* This section describes tests for the event management functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup ErrorTest Error Handling
|
|
* @{
|
|
* This section describes tests for the error handling functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup PeerToPeerTest PeerToPeer Device Memory Access
|
|
* @{
|
|
* This section describes tests for the PeerToPeer device memory access functions of HIP runtime API.
|
|
* @warning PeerToPeer support is experimental.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup DriverTest Initialization and Version
|
|
* @{
|
|
* This section describes tests for the initialization and version functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup DeviceLanguageTest Device Language
|
|
* @{
|
|
* This section describes tests for the Device Language API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup ExecutionTest Execution Control
|
|
* @{
|
|
* This section describes tests for the execution control functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup ShflTest warp shuffle function Management
|
|
* @{
|
|
* This section describes the warp shuffle types & functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup ContextTest Context Management
|
|
* @{
|
|
* This section describes tests for the context management functions of HIP runtime API.
|
|
* @warning All Context Management APIs are **deprecated** and shall not be implemented.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup StreamTest Stream Management
|
|
* @{
|
|
* This section describes the stream management types & functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup DynamicLoadingTest Kernel Loading Management
|
|
* @{
|
|
* This section describes the different kernel launch approaches.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup MemoryTest memory Management APIs
|
|
* @{
|
|
* This section describes the memory management types & functions of HIP runtime API.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup KernelTest Kernel Functions Management
|
|
* @{
|
|
* This section describes the various kernel functions invocation.
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @defgroup DeviceLanguageTest Device Language
|
|
* @{
|
|
* This section describes tests for the Device Language API.
|
|
* @}
|
|
*/
|