Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / thirdparty / clDNN / kernel_selector / core / actual_kernels / fully_connected / fully_connected_kernel_base.h
index d7d47e6..a4f32c2 100644 (file)
@@ -31,12 +31,29 @@ namespace kernel_selector
         virtual ~FullyConnectedKernelBase() {}
 
         struct DispatchData : public CommonDispatchData
-        {};
+        {
+            uint32_t    unit_byte_size;
+            const char* chunk_type;
+            uint32_t    chunk_byte_size;
+            uint32_t    units_per_chunk;
+            uint32_t    bytes_per_sg_read;
+            uint32_t    units_per_sg_read;
+            uint32_t    responses_per_sg_exec;
+            uint32_t    in_chunk_prefetch_size;
+            uint32_t    filter_chunk_prefetch_size;
+
+            uint32_t    last_rg_size;
+            uint32_t    rg_count;
+        };
     
+        std::string GetAutoTuneOptions(int autoTuneIndex) const;
+        std::vector<std::string> autoTuneOptions = { DEFAULT, NO_PRERA_SCH, AGE_BASED };
+        virtual KernelsData GetTunedKernelsDataByIndex(const Params& params, const optional_params& options, DataLayout dl, std::vector<WeightsLayout> wl, float estimated_time = DONT_USE_IF_HAVE_SOMETHING_ELSE, int autoTuneIndex = -1) const ;
+
     protected:
         virtual JitConstants GetJitConstants(const fully_connected_params& params, const DispatchData& kd) const;
-        virtual std::unique_ptr<DispatchData> SetDefault(const fully_connected_params& params) const;
-        KernelsData GetCommonKernelsData(const Params& params, const optional_params& optParams, DataLayout dl, std::vector<WeightsLayout> wl, float estimated_time = DONT_USE_IF_HAVE_SOMETHING_ELSE) const;
+        virtual DispatchData SetDefault(const fully_connected_params& params, int autoTuneIndex = -1) const;
+        KernelsData GetCommonKernelsData(const Params& params, const optional_params& optParams, DataLayout dl, std::vector<WeightsLayout> wl, float estimated_time = DONT_USE_IF_HAVE_SOMETHING_ELSE, const std::string exeMode = DEFAULT, int autoTuneIndex = -1) const;
 
         bool Validate(const Params& p, const optional_params&) const override
         {
@@ -48,4 +65,4 @@ namespace kernel_selector
             return true;
         }
     };
-}
\ No newline at end of file
+}