@@ -200,20 +200,24 @@ class OutputHelper
200200 double firstLoadWorkingSetMemoryUsage = profiler[LOAD_MODEL].GetAverage (CounterType::WORKING_SET_USAGE);
201201 double firstLoadSharedMemoryUsage = profiler[LOAD_MODEL].GetAverage (CounterType::GPU_SHARED_MEM_USAGE);
202202 double firstLoadDedicatedMemoryUsage = profiler[LOAD_MODEL].GetAverage (CounterType::GPU_DEDICATED_MEM_USAGE);
203+ double firstLoadPeakWorkingSetUsage = profiler[LOAD_MODEL].GetAverage (CounterType::PEAK_WORKING_SET_USAGE);
203204
204205 double firstSessionCreationWorkingSetMemoryUsage = profiler[CREATE_SESSION].GetAverage (CounterType::WORKING_SET_USAGE);
205206 double firstSessionCreationSharedMemoryUsage = profiler[CREATE_SESSION].GetAverage (CounterType::GPU_SHARED_MEM_USAGE);
206207 double firstSessionCreationDedicatedMemoryUsage = profiler[CREATE_SESSION].GetAverage (CounterType::GPU_DEDICATED_MEM_USAGE);
208+ double firstSessionPeakWorkingSetUsage = profiler[CREATE_SESSION].GetAverage (CounterType::PEAK_WORKING_SET_USAGE);
207209
208210 double averageBindMemoryUsage = profiler[BIND_VALUE].GetAverage (CounterType::WORKING_SET_USAGE);
209211 double minBindMemoryUsage = profiler[BIND_VALUE].GetMin (CounterType::WORKING_SET_USAGE);
210212 double maxBindMemoryUsage = profiler[BIND_VALUE].GetMax (CounterType::WORKING_SET_USAGE);
211213 double firstBindMemoryUsage = profiler[BIND_VALUE_FIRST_RUN].GetAverage (CounterType::WORKING_SET_USAGE);
214+ double firstBindPeakMemoryUsage = profiler[BIND_VALUE_FIRST_RUN].GetAverage (CounterType::PEAK_WORKING_SET_USAGE);
212215
213216 double averageEvalMemoryUsage = profiler[EVAL_MODEL].GetAverage (CounterType::WORKING_SET_USAGE);
214217 double minEvalMemoryUsage = profiler[EVAL_MODEL].GetMin (CounterType::WORKING_SET_USAGE);
215218 double maxEvalMemoryUsage = profiler[EVAL_MODEL].GetMax (CounterType::WORKING_SET_USAGE);
216219 double firstEvalMemoryUsage = profiler[EVAL_MODEL_FIRST_RUN].GetAverage (CounterType::WORKING_SET_USAGE);
220+ double firstEvalPeakMemoryUsage = profiler[EVAL_MODEL_FIRST_RUN].GetAverage (CounterType::PEAK_WORKING_SET_USAGE);
217221
218222 double averageBindDedicatedMemoryUsage = profiler[BIND_VALUE].GetAverage (CounterType::GPU_DEDICATED_MEM_USAGE);
219223 double minBindDedicatedMemoryUsage = profiler[BIND_VALUE].GetMin (CounterType::GPU_DEDICATED_MEM_USAGE);
@@ -253,6 +257,8 @@ class OutputHelper
253257 profiler[BIND_VALUE_FIRST_RUN].GetAverage (CounterType::GPU_DEDICATED_MEM_USAGE) +
254258 profiler[EVAL_MODEL_FIRST_RUN].GetAverage (CounterType::GPU_DEDICATED_MEM_USAGE);
255259
260+ double firstIterationPeakWorkingSet = firstLoadPeakWorkingSetUsage + firstSessionPeakWorkingSetUsage + firstBindPeakMemoryUsage + firstEvalPeakMemoryUsage;
261+
256262 printf (" \n Results (device = %s, numIterations = %d, inputBinding = %s, inputDataType = %s, deviceCreationLocation = %s):\n " ,
257263 TypeHelper::Stringify (deviceType).c_str (),
258264 numIterations,
@@ -280,6 +286,17 @@ class OutputHelper
280286 std::cout << " Working Set Memory usage (evaluate): " << firstEvalMemoryUsage << " MB" << std::endl;
281287 std::cout << " Working Set Memory usage (load, bind, session creation, and evaluate): " << firstIterationWorkingSetMemoryUsage << " MB" << std::endl;
282288
289+ if (isPerformanceConsoleOutputVerbose)
290+ {
291+ std::cout << std::endl;
292+ std::cout << " Peak Working Set Memory Difference (from start to load): " << firstLoadPeakWorkingSetUsage << " MB" << std::endl;
293+ std::cout << " Peak Working Set Memory Difference (from model load to session creation): " << firstSessionPeakWorkingSetUsage << " MB" << std::endl;
294+ std::cout << " Peak Working Set Memory Difference (from session to bind): " << firstBindPeakMemoryUsage << " MB" << std::endl;
295+ std::cout << " Peak Working Set Memory Difference (from bind to evaluate): " << firstEvalPeakMemoryUsage << " MB" << std::endl;
296+ }
297+
298+ std::cout << " Peak Working Set Memory Difference (load, bind, session creation, and evaluate): " << firstIterationPeakWorkingSet << " MB" << std::endl;
299+
283300 if (isPerformanceConsoleOutputVerbose)
284301 {
285302 std::cout << " \n Dedicated Memory usage (load): " << firstLoadDedicatedMemoryUsage << " MB" << std::endl;
0 commit comments