24 #ifndef ARM_COMPUTE_TEST_INSTRUMENTS
25 #define ARM_COMPUTE_TEST_INSTRUMENTS
27 #if !defined(_WIN64) && !defined(BARE_METAL) && !defined(__APPLE__) && !defined(__OpenBSD__)
83 switch(instrument.first)
86 switch(instrument.second)
89 stream <<
"WALL_CLOCK_TIMESTAMPS";
92 stream <<
"WALL_CLOCK_TIMESTAMPS_MS";
95 stream <<
"WALL_CLOCK_TIMESTAMPS_S";
98 throw std::invalid_argument(
"Unsupported instrument scale");
102 switch(instrument.second)
105 stream <<
"WALL_CLOCK_TIMER";
108 stream <<
"WALL_CLOCK_TIMER_MS";
111 stream <<
"WALL_CLOCK_TIMER_S";
114 throw std::invalid_argument(
"Unsupported instrument scale");
118 switch(instrument.second)
121 stream <<
"SCHEDULER_TIMESTAMPS";
124 stream <<
"SCHEDULER_TIMESTAMPS_MS";
127 stream <<
"SCHEDULER_TIMESTAMPS_S";
130 throw std::invalid_argument(
"Unsupported instrument scale");
134 switch(instrument.second)
137 stream <<
"SCHEDULER_TIMER";
140 stream <<
"SCHEDULER_TIMER_MS";
143 stream <<
"SCHEDULER_TIMER_S";
146 throw std::invalid_argument(
"Unsupported instrument scale");
150 switch(instrument.second)
162 throw std::invalid_argument(
"Unsupported instrument scale");
166 stream <<
"PMU_CYCLE_COUNTER";
169 stream <<
"PMU_INSTRUCTION_COUNTER";
172 switch(instrument.second)
184 throw std::invalid_argument(
"Unsupported instrument scale");
188 switch(instrument.second)
191 stream <<
"OPENCL_TIMESTAMPS";
194 stream <<
"OPENCL_TIMESTAMPS_US";
197 stream <<
"OPENCL_TIMESTAMPS_MS";
200 stream <<
"OPENCL_TIMESTAMPS_S";
203 throw std::invalid_argument(
"Unsupported instrument scale");
207 switch(instrument.second)
210 stream <<
"OPENCL_TIMER";
213 stream <<
"OPENCL_TIMER_US";
216 stream <<
"OPENCL_TIMER_MS";
219 stream <<
"OPENCL_TIMER_S";
222 throw std::invalid_argument(
"Unsupported instrument scale");
226 switch(instrument.second)
229 stream <<
"OPENCL_MEMORY_USAGE";
232 stream <<
"OPENCL_MEMORY_USAGE_K";
235 stream <<
"OPENCL_MEMORY_USAGE_M";
238 throw std::invalid_argument(
"Unsupported instrument scale");
248 throw std::invalid_argument(
"Unsupported instrument type");