Skip to content

Commit 1e210e7

Browse files
author
Ryan Lai
authored
Allow multiple iterations for load and session creation and initial bind and evaluate in winmlrunner static library (#259)
* Control multiple iterations for session creation and load * Add multiple iterations support for load and session creation to printing out to CSV * Close and destroy session per session iteration * PR comments to move out Writing perf results * Moved write perf results into runconfig
1 parent e901cc2 commit 1e210e7

File tree

4 files changed

+393
-138
lines changed

4 files changed

+393
-138
lines changed

Tools/WinMLRunner/src/CommandLineArgs.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ CommandLineArgs::CommandLineArgs(const std::vector<std::wstring>& args)
102102
m_useGPUMinPower = true;
103103
}
104104
#ifdef DXCORE_SUPPORTED_BUILD
105-
else if ((_wcsicmp(args[i].c_str(), L"-GPUAdapterName") == 0) || (_wcsicmp(args[i].c_str(), L"-GPUAdapterIndex") == 0))
105+
else if (_wcsicmp(args[i].c_str(), L"-GPUAdapterName") == 0)
106106
{
107107
CheckNextArgument(args, i);
108108
HMODULE library = nullptr;

Tools/WinMLRunner/src/CommandLineArgs.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ class CommandLineArgs
7676
bool IsImageInput() const { return !m_imagePaths.empty() && m_csvData.empty(); }
7777

7878
uint32_t NumIterations() const { return m_numIterations; }
79+
uint32_t NumLoadIterations() const { return m_numLoadIterations; }
80+
uint32_t NumSessionCreationIterations() const { return m_numSessionIterations; }
7981
double IterationTimeLimit() const { return m_iterationTimeLimitMilliseconds; }
8082
uint32_t NumThreads() const { return m_numThreads; }
8183
uint32_t ThreadInterval() const { return m_threadInterval; } // Thread interval in milliseconds
@@ -111,6 +113,8 @@ class CommandLineArgs
111113
void SetTopK(unsigned k) { m_topK = k; }
112114
void SetPerformanceCSVPath(const std::wstring& performanceCSVPath) { m_perfOutputPath = performanceCSVPath; }
113115
void SetRunIterations(const uint32_t iterations) { m_numIterations = iterations; }
116+
void SetSessionCreationIterations(const uint32_t iterations) { m_numSessionIterations = iterations; }
117+
void SetLoadIterations(const uint32_t iterations) { m_numLoadIterations = iterations; }
114118
void AddPerformanceFileMetadata(const std::string& key, const std::string& value)
115119
{
116120
m_perfFileMetadata.push_back(std::make_pair(key, value));
@@ -161,6 +165,8 @@ class CommandLineArgs
161165
std::wstring m_perfOutputPath;
162166
std::wstring m_perIterationDataPath;
163167
uint32_t m_numIterations = 1;
168+
uint32_t m_numLoadIterations = 1;
169+
uint32_t m_numSessionIterations = 1;
164170
double m_iterationTimeLimitMilliseconds = 0;
165171
uint32_t m_numThreads = 1;
166172
uint32_t m_threadInterval = 0;

0 commit comments

Comments
 (0)