*/
#pragma once
#include <cstdint>
+#include <memory>
#include "api/CPP/engine.hpp"
+#include "document.h"
-namespace cldnn { namespace gpu {
+
+namespace cldnn {
+ namespace gpu {
class gpu_toolkit;
struct engine_info_internal : cldnn::engine_info
{
- #ifdef GPU_CONFIGURATION
- #undef GPU_CONFIGURATION
- #endif
- #ifdef GPU_MODEL
- #undef GPU_MODEL
- #endif
- #ifdef GPU_ARCHITECTURE
- #undef GPU_ARCHITECTURE
- #endif
-
-
- enum configurations
- {
- #define GPU_CONFIGURATION(enum_name, enum_value) enum_name = enum_value,
- #define GPU_MODEL(enum_name, enum_value)
- #define GPU_ARCHITECTURE(enum_name, enum_value)
- #include "gpu_enums.inc"
- #undef GPU_CONFIGURATION
- #undef GPU_MODEL
- #undef GPU_ARCHITECTURE
- };
-
-
-
- enum models
- {
- #define GPU_CONFIGURATION(enum_name, enum_value)
- #define GPU_MODEL(enum_name, enum_value) enum_name = enum_value,
- #define GPU_ARCHITECTURE(enum_name, enum_value)
- #include "gpu_enums.inc"
- #undef GPU_CONFIGURATION
- #undef GPU_MODEL
- #undef GPU_ARCHITECTURE
- };
-
-
-
- enum architectures
- {
- #define GPU_CONFIGURATION(enum_name, enum_value)
- #define GPU_MODEL(enum_name, enum_value)
- #define GPU_ARCHITECTURE(enum_name, enum_value) enum_name = enum_value,
- #include "gpu_enums.inc"
- #undef GPU_CONFIGURATION
- #undef GPU_MODEL
- #undef GPU_ARCHITECTURE
- };
-
- #undef GPU_CONFIGURATION
-
-
- configurations configuration;
- models model;
- architectures architecture;
std::string dev_id;
std::string driver_version;
+ std::uint32_t compute_units_count;
+ std::shared_ptr<rapidjson::Document> device_cache;
+
private:
friend class gpu_toolkit;
explicit engine_info_internal(const gpu_toolkit& context);