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
{
return true;
}
};
-}
\ No newline at end of file
+}