1 /*
2  * Copyright (C) 2021 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  */
7 
8 #pragma once
9 #include "shared/source/helpers/vec.h"
10 #include "shared/source/program/kernel_info.h"
11 
12 namespace NEO {
13 class Context;
14 class DispatchInfo;
15 
16 Vec3<size_t> computeWorkgroupSize(
17     const DispatchInfo &dispatchInfo);
18 
19 Vec3<size_t> generateWorkgroupSize(
20     const DispatchInfo &dispatchInfo);
21 
22 Vec3<size_t> generateWorkgroupsNumber(
23     const DispatchInfo &dispatchInfo);
24 
25 void provideLocalWorkGroupSizeHints(Context *context, const DispatchInfo &dispatchInfo);
26 
27 WorkSizeInfo createWorkSizeInfoFromDispatchInfo(const DispatchInfo &dispatchInfo);
28 
29 } // namespace NEO
30