SWDEV-179105 - Stream Operations: Add feature querying support

Change-Id: I01cb85223b83f3655e5e21ad16639da406e5cd3e
This commit is contained in:
Ravi C Akkenapally
2021-02-16 16:32:00 -08:00
parent 8c4cf8c1b0
commit e94d482c8f
4 changed files with 33 additions and 1 deletions
+1 -1
View File
@@ -72,7 +72,7 @@ find_package(amd_comgr REQUIRED CONFIG
)
message(STATUS "Code Object Manager found at ${amd_comgr_DIR}.")
find_package(hsa-runtime64 REQUIRED CONFIG
find_package(hsa-runtime64 1.3 REQUIRED CONFIG
PATHS
/opt/rocm/
PATH_SUFFIXES
+3
View File
@@ -573,6 +573,9 @@ struct Info : public amd::EmbeddedObject {
//! global CU mask which will be applied to all queues created on this device
std::vector<uint32_t> globalCUMask_;
//! AQL Barrier Value Packet support
bool aqlBarrierValue_;
};
//! Device settings
+4
View File
@@ -1542,6 +1542,10 @@ bool Device::populateOCLDeviceConstants() {
info_.pcieDeviceId_ = pciDeviceId_;
info_.cooperativeGroups_ = settings().enableCoopGroups_;
info_.cooperativeMultiDeviceGroups_ = settings().enableCoopMultiDeviceGroups_;
// TODO: Update this to use HSA API when it is ready. For now limiting this to gfx908
info_.aqlBarrierValue_ =
(isa().versionMajor() == 9 && isa().versionMinor() == 0 && isa().versionStepping() == 8);
}
info_.maxPipePacketSize_ = info_.maxMemAllocSize_;
+25
View File
@@ -1,3 +1,26 @@
/* Copyright (c) 2021-present Advanced Micro Devices, Inc.
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. */
#ifndef COMMAND_UTILS_HPP_
#define COMMAND_UTILS_HPP_
// Dummy command types for Stream Wait and Write commands.
#define ROCCLR_COMMAND_STREAM_WAIT_VALUE 0x4501
#define ROCCLR_COMMAND_STREAM_WRITE_VALUE 0x4502
@@ -7,3 +30,5 @@
#define ROCCLR_STREAM_WAIT_VALUE_EQ 0x1
#define ROCCLR_STREAM_WAIT_VALUE_AND 0x2
#define ROCCLR_STREAM_WAIT_VALUE_NOR 0x3
#endif // COMMAND_UTILS_HPP_