2020-03-18 18:36:17 +08:00
|
|
|
/*
|
2021-05-17 02:51:16 +08:00
|
|
|
* Copyright (C) 2020-2021 Intel Corporation
|
2020-03-18 18:36:17 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
2020-03-18 22:46:54 +08:00
|
|
|
#include "shared/source/utilities/stackvec.h"
|
2020-03-18 18:36:17 +08:00
|
|
|
|
|
|
|
#include <cstdint>
|
2020-10-23 03:49:26 +08:00
|
|
|
#include <string>
|
2020-03-18 18:36:17 +08:00
|
|
|
|
|
|
|
namespace NEO {
|
|
|
|
|
|
|
|
struct DeviceInfo {
|
|
|
|
StackVec<size_t, 3> maxSubGroups;
|
|
|
|
double profilingTimerResolution;
|
|
|
|
uint64_t globalMemSize;
|
|
|
|
uint64_t localMemSize;
|
|
|
|
uint64_t maxMemAllocSize;
|
|
|
|
const char *ilVersion;
|
|
|
|
size_t image2DMaxHeight;
|
|
|
|
size_t image2DMaxWidth;
|
|
|
|
size_t image3DMaxDepth;
|
|
|
|
size_t imageMaxArraySize;
|
|
|
|
size_t imageMaxBufferSize;
|
|
|
|
size_t maxNumEUsPerSubSlice;
|
2021-07-03 01:37:22 +08:00
|
|
|
size_t maxNumEUsPerDualSubSlice;
|
2020-03-18 18:36:17 +08:00
|
|
|
size_t maxParameterSize;
|
|
|
|
size_t maxWorkGroupSize;
|
|
|
|
size_t maxWorkItemSizes[3];
|
|
|
|
size_t outProfilingTimerResolution;
|
2021-03-25 01:57:46 +08:00
|
|
|
size_t outProfilingTimerClock;
|
2020-03-18 18:36:17 +08:00
|
|
|
size_t printfBufferSize;
|
|
|
|
uint32_t addressBits;
|
|
|
|
uint32_t computeUnitsUsedForScratch;
|
|
|
|
uint32_t errorCorrectionSupport;
|
|
|
|
uint32_t globalMemCachelineSize;
|
|
|
|
uint32_t imageSupport;
|
|
|
|
uint32_t maxClockFrequency;
|
|
|
|
uint32_t maxFrontEndThreads;
|
|
|
|
uint32_t maxReadImageArgs;
|
|
|
|
uint32_t maxSamplers;
|
|
|
|
uint32_t maxWriteImageArgs;
|
|
|
|
uint32_t numThreadsPerEU;
|
2020-06-19 21:50:16 +08:00
|
|
|
StackVec<uint32_t, 6> threadsPerEUConfigs;
|
2020-03-18 18:36:17 +08:00
|
|
|
uint32_t vendorId;
|
|
|
|
uint32_t vmeAvcSupportsPreemption;
|
|
|
|
bool debuggerActive;
|
|
|
|
bool force32BitAddressess;
|
2020-10-21 06:33:41 +08:00
|
|
|
std::string name;
|
2020-03-18 18:36:17 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace NEO
|