mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-06 02:18:05 +08:00
Add CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED query
Related-To: NEO-4990 Change-Id: I9d26b60ed824ca26d637519785b9c14f0677e4db Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
49f450e094
commit
fef4d05832
@@ -27,6 +27,7 @@ static std::string vendor = "Intel(R) Corporation";
|
|||||||
static std::string profile = "FULL_PROFILE";
|
static std::string profile = "FULL_PROFILE";
|
||||||
static std::string spirVersions = "1.2 ";
|
static std::string spirVersions = "1.2 ";
|
||||||
static std::string spirvName = "SPIR-V";
|
static std::string spirvName = "SPIR-V";
|
||||||
|
const char *latestConformanceVersionPassed = "1.0";
|
||||||
#define QTR(a) #a
|
#define QTR(a) #a
|
||||||
#define TOSTR(b) QTR(b)
|
#define TOSTR(b) QTR(b)
|
||||||
static std::string driverVersion = TOSTR(NEO_OCL_DRIVER_VERSION);
|
static std::string driverVersion = TOSTR(NEO_OCL_DRIVER_VERSION);
|
||||||
@@ -117,6 +118,7 @@ void ClDevice::initializeCaps() {
|
|||||||
deviceInfo.numericClVersion = CL_MAKE_VERSION(1, 2, 0);
|
deviceInfo.numericClVersion = CL_MAKE_VERSION(1, 2, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
deviceInfo.latestConformanceVersionPassed = latestConformanceVersionPassed;
|
||||||
initializeOpenclCAllVersions();
|
initializeOpenclCAllVersions();
|
||||||
deviceInfo.platformLP = (hwInfo.capabilityTable.supportsOcl21Features == false);
|
deviceInfo.platformLP = (hwInfo.capabilityTable.supportsOcl21Features == false);
|
||||||
deviceInfo.spirVersions = spirVersions.c_str();
|
deviceInfo.spirVersions = spirVersions.c_str();
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ cl_int ClDevice::getDeviceInfo(cl_device_info paramName,
|
|||||||
case CL_DEVICE_HOST_UNIFIED_MEMORY: getCap<CL_DEVICE_HOST_UNIFIED_MEMORY >(src, srcSize, retSize); break;
|
case CL_DEVICE_HOST_UNIFIED_MEMORY: getCap<CL_DEVICE_HOST_UNIFIED_MEMORY >(src, srcSize, retSize); break;
|
||||||
case CL_DEVICE_IL_VERSION: getStr<CL_DEVICE_IL_VERSION >(src, srcSize, retSize); break;
|
case CL_DEVICE_IL_VERSION: getStr<CL_DEVICE_IL_VERSION >(src, srcSize, retSize); break;
|
||||||
case CL_DEVICE_IMAGE_SUPPORT: getCap<CL_DEVICE_IMAGE_SUPPORT >(src, srcSize, retSize); break;
|
case CL_DEVICE_IMAGE_SUPPORT: getCap<CL_DEVICE_IMAGE_SUPPORT >(src, srcSize, retSize); break;
|
||||||
|
case CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED: getStr<CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED >(src, srcSize, retSize); break;
|
||||||
case CL_DEVICE_LINKER_AVAILABLE: getCap<CL_DEVICE_LINKER_AVAILABLE >(src, srcSize, retSize); break;
|
case CL_DEVICE_LINKER_AVAILABLE: getCap<CL_DEVICE_LINKER_AVAILABLE >(src, srcSize, retSize); break;
|
||||||
case CL_DEVICE_LOCAL_MEM_SIZE: getCap<CL_DEVICE_LOCAL_MEM_SIZE >(src, srcSize, retSize); break;
|
case CL_DEVICE_LOCAL_MEM_SIZE: getCap<CL_DEVICE_LOCAL_MEM_SIZE >(src, srcSize, retSize); break;
|
||||||
case CL_DEVICE_LOCAL_MEM_TYPE: getCap<CL_DEVICE_LOCAL_MEM_TYPE >(src, srcSize, retSize); break;
|
case CL_DEVICE_LOCAL_MEM_TYPE: getCap<CL_DEVICE_LOCAL_MEM_TYPE >(src, srcSize, retSize); break;
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ struct ClDeviceInfo {
|
|||||||
const char *clCVersion;
|
const char *clCVersion;
|
||||||
const char *spirVersions;
|
const char *spirVersions;
|
||||||
const char *deviceExtensions;
|
const char *deviceExtensions;
|
||||||
|
const char *latestConformanceVersionPassed;
|
||||||
cl_device_id parentDevice;
|
cl_device_id parentDevice;
|
||||||
cl_device_affinity_domain partitionAffinityDomain;
|
cl_device_affinity_domain partitionAffinityDomain;
|
||||||
cl_uint partitionMaxSubDevices;
|
cl_uint partitionMaxSubDevices;
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ template<> struct Map<CL_DEVICE_IMAGE3D_MAX_HEIGHT > :
|
|||||||
template<> struct Map<CL_DEVICE_IMAGE3D_MAX_WIDTH > : public ClMapBase<CL_DEVICE_IMAGE3D_MAX_WIDTH, size_t, &ClDeviceInfo::image3DMaxWidth> {};
|
template<> struct Map<CL_DEVICE_IMAGE3D_MAX_WIDTH > : public ClMapBase<CL_DEVICE_IMAGE3D_MAX_WIDTH, size_t, &ClDeviceInfo::image3DMaxWidth> {};
|
||||||
template<> struct Map<CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT > : public ClMapBase<CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT, uint32_t, &ClDeviceInfo::imageBaseAddressAlignment> {};
|
template<> struct Map<CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT > : public ClMapBase<CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT, uint32_t, &ClDeviceInfo::imageBaseAddressAlignment> {};
|
||||||
template<> struct Map<CL_DEVICE_IMAGE_PITCH_ALIGNMENT > : public ClMapBase<CL_DEVICE_IMAGE_PITCH_ALIGNMENT, uint32_t, &ClDeviceInfo::imagePitchAlignment> {};
|
template<> struct Map<CL_DEVICE_IMAGE_PITCH_ALIGNMENT > : public ClMapBase<CL_DEVICE_IMAGE_PITCH_ALIGNMENT, uint32_t, &ClDeviceInfo::imagePitchAlignment> {};
|
||||||
|
template<> struct Map<CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED > : public ClMapBase<CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED, const char *, &ClDeviceInfo::latestConformanceVersionPassed> {};
|
||||||
template<> struct Map<CL_DEVICE_LINKER_AVAILABLE > : public ClMapBase<CL_DEVICE_LINKER_AVAILABLE, uint32_t, &ClDeviceInfo::linkerAvailable> {};
|
template<> struct Map<CL_DEVICE_LINKER_AVAILABLE > : public ClMapBase<CL_DEVICE_LINKER_AVAILABLE, uint32_t, &ClDeviceInfo::linkerAvailable> {};
|
||||||
template<> struct Map<CL_DEVICE_LOCAL_MEM_TYPE > : public ClMapBase<CL_DEVICE_LOCAL_MEM_TYPE, uint32_t, &ClDeviceInfo::localMemType> {};
|
template<> struct Map<CL_DEVICE_LOCAL_MEM_TYPE > : public ClMapBase<CL_DEVICE_LOCAL_MEM_TYPE, uint32_t, &ClDeviceInfo::localMemType> {};
|
||||||
template<> struct Map<CL_DEVICE_MAX_COMPUTE_UNITS > : public ClMapBase<CL_DEVICE_MAX_COMPUTE_UNITS, uint32_t, &ClDeviceInfo::maxComputUnits> {};
|
template<> struct Map<CL_DEVICE_MAX_COMPUTE_UNITS > : public ClMapBase<CL_DEVICE_MAX_COMPUTE_UNITS, uint32_t, &ClDeviceInfo::maxComputUnits> {};
|
||||||
|
|||||||
@@ -313,6 +313,7 @@ TEST_P(GetDeviceInfoStr, GivenStringTypeParamWhenGettingDeviceInfoThenSuccessIsR
|
|||||||
static cl_device_info deviceInfoStrParams[] =
|
static cl_device_info deviceInfoStrParams[] =
|
||||||
{
|
{
|
||||||
CL_DEVICE_BUILT_IN_KERNELS,
|
CL_DEVICE_BUILT_IN_KERNELS,
|
||||||
|
CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED,
|
||||||
CL_DEVICE_NAME,
|
CL_DEVICE_NAME,
|
||||||
CL_DEVICE_OPENCL_C_VERSION,
|
CL_DEVICE_OPENCL_C_VERSION,
|
||||||
CL_DEVICE_PROFILE,
|
CL_DEVICE_PROFILE,
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ TEST_P(GetDeviceGlInfoStr, StringType) {
|
|||||||
|
|
||||||
// Define new command types to run the parameterized tests
|
// Define new command types to run the parameterized tests
|
||||||
static cl_device_info deviceInfoStrParams[] = {
|
static cl_device_info deviceInfoStrParams[] = {
|
||||||
CL_DEVICE_BUILT_IN_KERNELS, CL_DEVICE_EXTENSIONS, CL_DEVICE_NAME, CL_DEVICE_OPENCL_C_VERSION,
|
CL_DEVICE_BUILT_IN_KERNELS, CL_DEVICE_EXTENSIONS, CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED, CL_DEVICE_NAME,
|
||||||
CL_DEVICE_PROFILE, CL_DEVICE_VENDOR, CL_DEVICE_VERSION, CL_DRIVER_VERSION};
|
CL_DEVICE_OPENCL_C_VERSION, CL_DEVICE_PROFILE, CL_DEVICE_VENDOR, CL_DEVICE_VERSION, CL_DRIVER_VERSION};
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(api, GetDeviceGlInfoStr, testing::ValuesIn(deviceInfoStrParams));
|
INSTANTIATE_TEST_CASE_P(api, GetDeviceGlInfoStr, testing::ValuesIn(deviceInfoStrParams));
|
||||||
|
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ TEST_F(DeviceGetCapsTest, WhenCreatingDeviceThenCapsArePopulatedCorrectly) {
|
|||||||
EXPECT_GT(caps.openclCAllVersions.size(), 0u);
|
EXPECT_GT(caps.openclCAllVersions.size(), 0u);
|
||||||
EXPECT_GT(caps.openclCFeatures.size(), 0u);
|
EXPECT_GT(caps.openclCFeatures.size(), 0u);
|
||||||
EXPECT_EQ(caps.extensionsWithVersion.size(), 0u);
|
EXPECT_EQ(caps.extensionsWithVersion.size(), 0u);
|
||||||
|
EXPECT_STREQ("1.0", caps.latestConformanceVersionPassed);
|
||||||
|
|
||||||
EXPECT_NE(nullptr, caps.spirVersions);
|
EXPECT_NE(nullptr, caps.spirVersions);
|
||||||
EXPECT_NE(nullptr, caps.deviceExtensions);
|
EXPECT_NE(nullptr, caps.deviceExtensions);
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "shared/source/helpers/get_info.h"
|
#include "shared/source/helpers/get_info.h"
|
||||||
|
#include "shared/source/helpers/string.h"
|
||||||
|
|
||||||
#include "opencl/source/cl_device/cl_device_info_map.h"
|
#include "opencl/source/cl_device/cl_device_info_map.h"
|
||||||
#include "opencl/test/unit_test/fixtures/cl_device_fixture.h"
|
#include "opencl/test/unit_test/fixtures/cl_device_fixture.h"
|
||||||
@@ -16,6 +17,10 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
namespace NEO {
|
||||||
|
extern const char *latestConformanceVersionPassed;
|
||||||
|
} // namespace NEO
|
||||||
|
|
||||||
using namespace NEO;
|
using namespace NEO;
|
||||||
|
|
||||||
struct GetDeviceInfoSize : public ::testing::TestWithParam<std::pair<uint32_t /*cl_device_info*/, size_t>> {
|
struct GetDeviceInfoSize : public ::testing::TestWithParam<std::pair<uint32_t /*cl_device_info*/, size_t>> {
|
||||||
@@ -60,6 +65,7 @@ std::pair<uint32_t, size_t> deviceInfoParams2[] = {
|
|||||||
{CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE, sizeof(size_t)},
|
{CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE, sizeof(size_t)},
|
||||||
// {CL_DEVICE_IL_VERSION, sizeof(char[])},
|
// {CL_DEVICE_IL_VERSION, sizeof(char[])},
|
||||||
{CL_DEVICE_IMAGE_SUPPORT, sizeof(cl_bool)},
|
{CL_DEVICE_IMAGE_SUPPORT, sizeof(cl_bool)},
|
||||||
|
{CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED, strlen(latestConformanceVersionPassed) + 1},
|
||||||
{CL_DEVICE_LINKER_AVAILABLE, sizeof(cl_bool)},
|
{CL_DEVICE_LINKER_AVAILABLE, sizeof(cl_bool)},
|
||||||
{CL_DEVICE_LOCAL_MEM_SIZE, sizeof(cl_ulong)},
|
{CL_DEVICE_LOCAL_MEM_SIZE, sizeof(cl_ulong)},
|
||||||
{CL_DEVICE_LOCAL_MEM_TYPE, sizeof(cl_device_local_mem_type)},
|
{CL_DEVICE_LOCAL_MEM_TYPE, sizeof(cl_device_local_mem_type)},
|
||||||
|
|||||||
@@ -742,6 +742,7 @@ cl_device_info deviceInfoParams[] = {
|
|||||||
CL_DEVICE_HALF_FP_CONFIG,
|
CL_DEVICE_HALF_FP_CONFIG,
|
||||||
CL_DEVICE_HOST_UNIFIED_MEMORY,
|
CL_DEVICE_HOST_UNIFIED_MEMORY,
|
||||||
CL_DEVICE_IMAGE_SUPPORT,
|
CL_DEVICE_IMAGE_SUPPORT,
|
||||||
|
CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED,
|
||||||
CL_DEVICE_LINKER_AVAILABLE,
|
CL_DEVICE_LINKER_AVAILABLE,
|
||||||
CL_DEVICE_LOCAL_MEM_SIZE,
|
CL_DEVICE_LOCAL_MEM_SIZE,
|
||||||
CL_DEVICE_LOCAL_MEM_TYPE,
|
CL_DEVICE_LOCAL_MEM_TYPE,
|
||||||
|
|||||||
Reference in New Issue
Block a user