Files
compute-runtime/shared/source/gen9/cfl/device_ids_configs_cfl.h
Patryk Wrobel c0342a0ab5 Optimize binaries' size by adjusting linkage of constants in headers
When header is included for the first time in translation unit,
then preprocessor simply copy-pastes its content. If we define a
constant in a header file and this constant has internal linkage
then each and every translation unit, which includes this header
will have its own copy of this constant.

C++17 introduces inline variables, which are meant to allow creation
of variables in header files, which do not cause multiple instances.

The inline variable has a single instance when:
- constexpr is used without static (constexpr implicitly implies inline)
- inline is used without static
- inline const is used without static (const does not imply internal linkage
when used with inline)

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-26 22:52:04 +02:00

61 lines
828 B
C++

/*
* Copyright (C) 2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include <vector>
namespace NEO {
inline const std::vector<unsigned short> cflDeviceIds{
0x3E90,
0x3E93,
0x3E99,
0x3E92,
0x3E9B,
0x3E94,
0x3E91,
0x3E96,
0x3E9A,
0x3EA9,
0x3E98,
0x3E95,
0x3EA6,
0x3EA7,
0x3EA8,
0x3EA5,
0x9BAB,
0x9BA0,
0x9BC0};
inline const std::vector<unsigned short> whlDeviceIds{
0x3EA1,
0x3EA3,
0x3EA4,
0x3EA0,
0x3EA2};
inline const std::vector<unsigned short> cmlDeviceIds{
0x9B21,
0x9B41,
0x9BA2,
0x9BA4,
0x9BA5,
0x9BA8,
0x9BAA,
0x9BAC,
0x9BC2,
0x9BC4,
0x9BC5,
0x9BC6,
0x9BC8,
0x9BCA,
0x9BCB,
0x9BCC,
0x9BE6,
0x9BF6};
} // namespace NEO