/* * Copyright (C) 2023-2025 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/debug_settings/debug_settings_manager.h" #include "shared/source/helpers/constants.h" #include "shared/source/helpers/string.h" #include "shared/source/release_helper/release_helper.h" namespace NEO { template bool ReleaseHelperHw::isMatrixMultiplyAccumulateSupported() const { return true; } template bool ReleaseHelperHw::isDotProductAccumulateSystolicSupported() const { return true; } template bool ReleaseHelperHw::isAdjustWalkOrderAvailable() const { return false; } template bool ReleaseHelperHw::isPipeControlPriorToNonPipelinedStateCommandsWARequired() const { return false; } template bool ReleaseHelperHw::isPipeControlPriorToPipelineSelectWaRequired() const { return false; } template bool ReleaseHelperHw::isProgramAllStateComputeCommandFieldsWARequired() const { return false; } template bool ReleaseHelperHw::isSplitMatrixMultiplyAccumulateSupported() const { return false; } template bool ReleaseHelperHw::isBFloat16ConversionSupported() const { return false; } template inline bool ReleaseHelperHw::isAuxSurfaceModeOverrideRequired() const { return false; } template bool ReleaseHelperHw::isResolvingSubDeviceIDNeeded() const { return true; } template bool ReleaseHelperHw::isDirectSubmissionSupported() const { return false; } template bool ReleaseHelperHw::isDirectSubmissionLightSupported() const { return false; } template bool ReleaseHelperHw::isRcsExposureDisabled() const { return false; } template std::vector ReleaseHelperHw::getSupportedNumGrfs() const { return {128u, 256u}; } template bool ReleaseHelperHw::isBindlessAddressingDisabled() const { return true; } template bool ReleaseHelperHw::isGlobalBindlessAllocatorEnabled() const { return false; } template uint64_t ReleaseHelperHw::getTotalMemBankSize() const { return 32ull * MemoryConstants::gigaByte; } template const ThreadsPerEUConfigs ReleaseHelperHw::getThreadsPerEUConfigs(uint32_t numThreadsPerEu) const { return {4, 8}; } template const std::string ReleaseHelperHw::getDeviceConfigString(uint32_t tileCount, uint32_t sliceCount, uint32_t subSliceCount, uint32_t euPerSubSliceCount) const { char configString[16] = {0}; if (tileCount > 1) { auto err = snprintf_s(configString, sizeof(configString), sizeof(configString), "%utx%ux%ux%u", tileCount, sliceCount, subSliceCount, euPerSubSliceCount); UNRECOVERABLE_IF(err < 0); } else { auto err = snprintf_s(configString, sizeof(configString), sizeof(configString), "%ux%ux%u", sliceCount, subSliceCount, euPerSubSliceCount); UNRECOVERABLE_IF(err < 0); } return configString; } template bool ReleaseHelperHw::isRayTracingSupported() const { return true; } template uint32_t ReleaseHelperHw::getAdditionalFp16Caps() const { return 0u; } template uint32_t ReleaseHelperHw::getAdditionalExtraCaps() const { return 0u; } template uint32_t ReleaseHelperHw::getStackSizePerRay() const { return 0u; } template void ReleaseHelperHw::adjustRTDispatchGlobals(void *rtDispatchGlobals, uint32_t rtStacksPerDss, bool heaplessEnabled, uint32_t maxBvhLevels) const { } template bool ReleaseHelperHw::isLocalOnlyAllowed() const { return true; } template bool ReleaseHelperHw::isDummyBlitWaRequired() const { return false; } template const SizeToPreferredSlmValueArray &ReleaseHelperHw::getSizeToPreferredSlmValue(bool isHeapless) const { static const SizeToPreferredSlmValueArray sizeToPreferredSlmValue = {}; return sizeToPreferredSlmValue; } template bool ReleaseHelperHw::isNumRtStacksPerDssFixedValue() const { return true; } template bool ReleaseHelperHw::getFtrXe2Compression() const { return true; } template bool ReleaseHelperHw::programmAdditionalStallPriorToBarrierWithTimestamp() const { return false; } template uint32_t ReleaseHelperHw::computeSlmValues(uint32_t slmSize, bool isHeapless) const { return 0u; } template bool ReleaseHelperHw::isBlitImageAllowedForDepthFormat() const { return true; } template bool ReleaseHelperHw::isPostImageWriteFlushRequired() const { return false; } template uint32_t ReleaseHelperHw::adjustMaxThreadsPerEuCount(uint32_t maxThreadsPerEuCount, uint32_t grfCount) const { return maxThreadsPerEuCount; } template bool ReleaseHelperHw::shouldQueryPeerAccess() const { return false; } template bool ReleaseHelperHw::isSpirSupported() const { return true; } } // namespace NEO