/* * Copyright (C) 2018 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include "runtime/gen9/hw_cmds_base.h" namespace OCLRT { struct CFL : public SKLFamily { static const PLATFORM platform; static const HardwareInfo hwInfo; static const uint32_t threadsPerEu = 7; static const uint32_t maxEuPerSubslice = 8; static const uint32_t maxSlicesSupported = 3; static const uint32_t maxSubslicesSupported = 9; static const RuntimeCapabilityTable capabilityTable; static void (*setupHardwareInfo)(GT_SYSTEM_INFO *gtSysInfo, FeatureTable *featureTable, bool setupFeatureTable, const std::string &hwInfoConfig); }; class CFL_1x2x6 : public CFL { public: static void setupHardwareInfo(GT_SYSTEM_INFO *gtSysInfo, FeatureTable *featureTable, bool setupFeatureTable); static const HardwareInfo hwInfo; private: static GT_SYSTEM_INFO gtSystemInfo; }; class CFL_1x3x6 : public CFL { public: static void setupHardwareInfo(GT_SYSTEM_INFO *gtSysInfo, FeatureTable *featureTable, bool setupFeatureTable); static const HardwareInfo hwInfo; private: static GT_SYSTEM_INFO gtSystemInfo; }; class CFL_1x3x8 : public CFL { public: static void setupHardwareInfo(GT_SYSTEM_INFO *gtSysInfo, FeatureTable *featureTable, bool setupFeatureTable); static const HardwareInfo hwInfo; private: static GT_SYSTEM_INFO gtSystemInfo; }; class CFL_2x3x8 : public CFL { public: static void setupHardwareInfo(GT_SYSTEM_INFO *gtSysInfo, FeatureTable *featureTable, bool setupFeatureTable); static const HardwareInfo hwInfo; private: static GT_SYSTEM_INFO gtSystemInfo; }; class CFL_3x3x8 : public CFL { public: static void setupHardwareInfo(GT_SYSTEM_INFO *gtSysInfo, FeatureTable *featureTable, bool setupFeatureTable); static const HardwareInfo hwInfo; private: static GT_SYSTEM_INFO gtSystemInfo; }; } // namespace OCLRT