You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CMakeLists.txt
+15Lines changed: 15 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,13 @@ set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard to conform to")
14
14
# set the project name
15
15
project(VPUNN)
16
16
17
+
# Enable /bigobj for debug build type with MSVC - remove after vpunn headers are cleaned up
18
+
#if (MSVC AND CMAKE_BUILD_TYPE STREQUAL "Debug")
19
+
if (MSVC)
20
+
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} /bigobj")
21
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /bigobj")
22
+
endif()
23
+
17
24
# impacts the blas/blasStatic library , if ON and linux will enable vector instructions by -msse[N]
18
25
# on win(MSVC) will define USE_SIMD
19
26
# if target architecture does not support it, deactivate it and enable manually the required optimizations (for vector instructions if runtime is important) at least for blas
Copy file name to clipboardExpand all lines: README.md
+15-1Lines changed: 15 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -257,4 +257,18 @@ For most updated list of operators and their details see also the unit tests: Te
257
257
258
258
For information about the profiled operators and extraparameters you can consult this [document](src/shave/Readme.md#shave-current-operators)
259
259
260
-
260
+
## Cost providers
261
+
262
+
The cost model is designed to be extensible. The cost providers are the classes that implement the cost model for a specific device. The cost providers are selected at runtime based on the device type. The following cost providers are available:
263
+
- NN based cost provider - is a learned performance model.
264
+
- Theoretical cost provider - is a simple mathematical model.
265
+
- "Oracle" cost provider - a LUT of measured performance for specific workloads.
266
+
- Profiled cost provider - it's an http service that can be queried to get the measured performance of a specific workload.
267
+
- Currently it supports only DPU costs and it can be configured using the following env. variables
268
+
- `ENABLE_VPUNN_PROFILING_SERVICE` -- `TRUE` to enable the profiling service
269
+
- `VPUNN_PROFILING_SERVICE_BACKEND` -- `silicon` to use the RVP for profiling, `vpuem` to use VPUEM as a cost provider.
270
+
- `VPUNN_PROFILING_SERVICE_HOST` -- address of the profiling service host, default is `irlccggpu04.ir.intel.com`
271
+
- `VPUNN_PROFILING_SERVICE_PORT` -- port of the profiling service, default is `5000`
272
+
273
+
To see a list of all queried workloads and which cost provider was used for each, set the environment variable `ENABLE_VPUNN_DATA_SERIALIZATION` to `TRUE`.
274
+
This will generate a couple of `csv` files in the directory where vpunn is used.
0 commit comments