Compute Library
 23.11
Framework Class Referencefinal

Main framework class. More...

#include <Framework.h>

Public Member Functions

std::set< InstrumentsDescriptionavailable_instruments () const
 Supported instrument types for benchmarking. More...
 
void init (const FrameworkConfig &config)
 Init the framework. More...
 
void push_suite (std::string name)
 Add a new test suite. More...
 
void pop_suite ()
 Remove innermost test suite. More...
 
template<typename T >
void add_test_case (std::string test_name, DatasetMode mode, TestCaseFactory::Status status)
 Add a test case to the framework. More...
 
template<typename T , typename D >
void add_data_test_case (std::string test_name, DatasetMode mode, TestCaseFactory::Status status, std::string description, D &&data)
 Add a data test case to the framework. More...
 
void add_test_info (std::string info)
 Add info string for the next expectation/assertion. More...
 
void clear_test_info ()
 Clear the collected test info. More...
 
bool has_test_info () const
 Check if any info has been registered. More...
 
void print_test_info (std::ostream &os) const
 Print test info. More...
 
void log_test_start (const TestInfo &info)
 Tell the framework that execution of a test starts. More...
 
void log_test_skipped (const TestInfo &info)
 Tell the framework that a test case is skipped. More...
 
void log_test_end (const TestInfo &info)
 Tell the framework that a test case finished. More...
 
void log_failed_expectation (const TestError &error)
 Tell the framework that the currently running test case failed a non-fatal expectation. More...
 
void log_info (const std::string &info)
 Print the debug information that has already been logged. More...
 
int num_iterations () const
 Number of iterations per test case. More...
 
void set_num_iterations (int num_iterations)
 Set number of iterations per test case. More...
 
bool throw_errors () const
 Should errors be caught or thrown by the framework. More...
 
void set_throw_errors (bool throw_errors)
 Set whether errors are caught or thrown by the framework. More...
 
bool stop_on_error () const
 Indicates if test execution is stopped after the first failed test. More...
 
void set_stop_on_error (bool stop_on_error)
 Set whether to stop execution after the first failed test. More...
 
bool error_on_missing_assets () const
 Indicates if a test should be marked as failed when its assets are missing. More...
 
void set_error_on_missing_assets (bool error_on_missing_assets)
 Set whether a test should be considered as failed if its assets cannot be found. More...
 
bool run ()
 Run all enabled test cases. More...
 
void set_test_result (TestInfo info, TestResult result)
 Set the result for an executed test case. More...
 
void print_test_results (Printer &printer) const
 Use the specified printer to output test results from the last run. More...
 
Profiler get_profiler () const
 Factory method to obtain a configured profiler. More...
 
void add_printer (Printer *printer)
 Set the printer used for the output of test results. More...
 
std::vector< TestInfotest_infos () const
 List of TestInfo's. More...
 
LogLevel log_level () const
 Get the current logging level. More...
 
void set_instruments_info (InstrumentsInfo instr_info)
 Sets instruments info. More...
 
bool configure_only () const
 Get the configure only flag. More...
 
bool new_fixture_call () const
 Return whether the new fixture has been called. More...
 
void set_new_fixture_call (bool val)
 Set the new fixture call flag. More...
 

Static Public Member Functions

static Frameworkget ()
 Access to the singleton. More...
 

Detailed Description

Main framework class.

Keeps track of the global state, owns all test cases and collects results.

Definition at line 97 of file Framework.h.

Member Function Documentation

◆ add_data_test_case()

void add_data_test_case ( std::string  test_name,
DatasetMode  mode,
TestCaseFactory::Status  status,
std::string  description,
D &&  data 
)
inline

Add a data test case to the framework.

Parameters
[in]test_nameName of the new test case.
[in]modeMode in which to include the test.
[in]statusStatus of the test case.
[in]descriptionDescription of data.
[in]dataData that will be used as input to the test.

Definition at line 382 of file Framework.h.

383 {
384  // WORKAROUND for GCC 4.9
385  // The function should get *it which is tuple but that seems to trigger a
386  // bug in the compiler.
387  auto tmp = std::unique_ptr<DataTestCaseFactory<T, decltype(*std::declval<D>())>>(new DataTestCaseFactory<T, decltype(*std::declval<D>())>(current_suite_name(), std::move(test_name), mode, status,
388  std::move(description), *data));
389  _test_factories.emplace_back(std::move(tmp));
390 }

References clang_tidy_rules::mode.

Referenced by TestCaseRegistrar< T >::TestCaseRegistrar().

◆ add_printer()

void add_printer ( Printer printer)

Set the printer used for the output of test results.

Parameters
[in]printerPointer to a printer.

Definition at line 678 of file Framework.cpp.

679 {
680  _printers.push_back(printer);
681 }

Referenced by main().

◆ add_test_case()

void add_test_case ( std::string  test_name,
DatasetMode  mode,
TestCaseFactory::Status  status 
)
inline

Add a test case to the framework.

Parameters
[in]test_nameName of the new test case.
[in]modeMode in which to include the test.
[in]statusStatus of the test case.

Definition at line 376 of file Framework.h.

377 {
378  _test_factories.emplace_back(std::make_unique<SimpleTestCaseFactory<T>>(current_suite_name(), std::move(test_name), mode, status));
379 }

References clang_tidy_rules::mode.

Referenced by TestCaseRegistrar< T >::TestCaseRegistrar().

◆ add_test_info()

void add_test_info ( std::string  info)

Add info string for the next expectation/assertion.

Parameters
[in]infoInfo string.

Definition at line 158 of file Framework.cpp.

159 {
160  _test_info.emplace_back(std::move(info));
161 }

References arm_compute::test::validation::info.

◆ available_instruments()

std::set< InstrumentsDescription > available_instruments ( ) const

Supported instrument types for benchmarking.

Returns
Set of all available instrument types.

Definition at line 100 of file Framework.cpp.

101 {
102  std::set<InstrumentsDescription> types;
103 
104  for(const auto &instrument : _available_instruments)
105  {
106  types.emplace(instrument.first);
107  }
108 
109  return types;
110 }

Referenced by CommonOptions::CommonOptions().

◆ clear_test_info()

void clear_test_info ( )

Clear the collected test info.

Definition at line 163 of file Framework.cpp.

164 {
165  _test_info.clear();
166 }

Referenced by arm_compute::test::framework::ARM_COMPUTE_PRINT_INFO().

◆ configure_only()

bool configure_only ( ) const

Get the configure only flag.

Returns
The current configure only flag.

Definition at line 715 of file Framework.cpp.

716 {
717  return _configure_only;
718 }

◆ error_on_missing_assets()

bool error_on_missing_assets ( ) const

Indicates if a test should be marked as failed when its assets are missing.

Returns
True if a test should be marked as failed when its assets are missing.

Definition at line 292 of file Framework.cpp.

293 {
294  return _error_on_missing_assets;
295 }

◆ get()

◆ get_profiler()

Profiler get_profiler ( ) const

Factory method to obtain a configured profiler.

The profiler enables all instruments that have been passed to the init method.

Returns
Configured profiler to collect benchmark results.

Definition at line 649 of file Framework.cpp.

650 {
651  Profiler profiler;
652 
653  const bool all_instruments = std::any_of(
654  _instruments.begin(),
655  _instruments.end(),
656  [](InstrumentsDescription type) -> bool { return type.first == InstrumentType::ALL; });
657 
658  auto is_selected = [&](InstrumentsDescription instrument) -> bool
659  {
660  return std::find_if(_instruments.begin(), _instruments.end(), [&](InstrumentsDescription type) -> bool {
661  const auto group = static_cast<InstrumentType>(static_cast<uint64_t>(type.first) & 0xFF00);
662  return (group == instrument.first) && (instrument.second == type.second);
663  })
664  != _instruments.end();
665  };
666 
667  for(const auto &instrument : _available_instruments)
668  {
669  if(all_instruments || is_selected(instrument.first))
670  {
671  profiler.add(instrument.second());
672  }
673  }
674 
675  return profiler;
676 }

References Profiler::add(), is_selected, and type.

Referenced by main().

◆ has_test_info()

bool has_test_info ( ) const

Check if any info has been registered.

Returns
True if there is test info.

Definition at line 168 of file Framework.cpp.

169 {
170  return !_test_info.empty();
171 }

◆ init()

void init ( const FrameworkConfig config)

Init the framework.

See also
TestFilter::TestFilter for the format of the string to filter ids.
Parameters
[in]configFramework configuration meta-data.

Definition at line 130 of file Framework.cpp.

131 {
132  _test_filter.reset(new TestFilter(config.mode, config.name_filter, config.id_filter));
133  _num_iterations = config.num_iterations;
134  _log_level = config.log_level;
135  _cooldown_sec = config.cooldown_sec;
136  _configure_only = config.configure_only;
137  _print_rerun_cmd = config.print_rerun_cmd;
138  _seed = config.seed;
139 
140  _instruments = std::set<framework::InstrumentsDescription>(std::begin(config.instruments), std::end(config.instruments));
141 }

References FrameworkConfig::configure_only, FrameworkConfig::cooldown_sec, arm_compute::mlgo::parser::end(), FrameworkConfig::id_filter, FrameworkConfig::instruments, FrameworkConfig::log_level, FrameworkConfig::mode, FrameworkConfig::name_filter, FrameworkConfig::num_iterations, FrameworkConfig::print_rerun_cmd, and FrameworkConfig::seed.

Referenced by main().

◆ log_failed_expectation()

void log_failed_expectation ( const TestError error)

Tell the framework that the currently running test case failed a non-fatal expectation.

Parameters
[in]errorDescription of the error.

Definition at line 228 of file Framework.cpp.

229 {
230  ARM_COMPUTE_ERROR_ON(_current_test_info == nullptr);
231  ARM_COMPUTE_ERROR_ON(_current_test_result == nullptr);
232 
233  const bool is_expected_failure = _current_test_info->status == TestCaseFactory::Status::EXPECTED_FAILURE;
234 
235  if(_log_level >= error.level())
236  {
237  func_on_all_printers([&](Printer * p)
238  {
239  p->print_error(error, is_expected_failure);
240  });
241  }
242 
243  _current_test_result->status = TestResult::Status::FAILED;
244 }

References ARM_COMPUTE_ERROR_ON, TestError::level(), and Printer::print_error().

◆ log_info()

void log_info ( const std::string &  info)

Print the debug information that has already been logged.

Parameters
[in]infoDescription of the log info.

Definition at line 246 of file Framework.cpp.

247 {
248  if(_log_level >= LogLevel::DEBUG)
249  {
250  func_on_all_printers([&](Printer * p)
251  {
252  p->print_info(info);
253  });
254  }
255 }

References arm_compute::test::validation::info, and Printer::print_info().

Referenced by arm_compute::test::framework::ARM_COMPUTE_PRINT_INFO().

◆ log_level()

LogLevel log_level ( ) const

Get the current logging level.

Returns
The current logging level.

Definition at line 704 of file Framework.cpp.

705 {
706  return _log_level;
707 }

◆ log_test_end()

void log_test_end ( const TestInfo info)

Tell the framework that a test case finished.

Parameters
[in]infoTest info.

Definition at line 208 of file Framework.cpp.

209 {
210  if(_log_level >= LogLevel::MEASUREMENTS)
211  {
212  func_on_all_printers([&](Printer * p)
213  {
214  p->print_profiler_header(_test_results.at(info).header_data);
215  p->print_measurements(_test_results.at(info).measurements);
216  });
217  }
218 
219  if(_log_level >= LogLevel::TESTS)
220  {
221  func_on_all_printers([](Printer * p)
222  {
223  p->print_test_footer();
224  });
225  }
226 }

References arm_compute::test::validation::info, Printer::print_measurements(), Printer::print_profiler_header(), and Printer::print_test_footer().

◆ log_test_skipped()

void log_test_skipped ( const TestInfo info)

Tell the framework that a test case is skipped.

Parameters
[in]infoTest info.

Definition at line 203 of file Framework.cpp.

204 {
205  static_cast<void>(info);
206 }

References arm_compute::test::validation::info.

◆ log_test_start()

void log_test_start ( const TestInfo info)

Tell the framework that execution of a test starts.

Parameters
[in]infoTest info.

Definition at line 192 of file Framework.cpp.

193 {
194  if(_log_level >= LogLevel::TESTS)
195  {
196  func_on_all_printers([&](Printer * p)
197  {
198  p->print_test_header(info);
199  });
200  }
201 }

References arm_compute::test::validation::info, and Printer::print_test_header().

◆ new_fixture_call()

bool new_fixture_call ( ) const

Return whether the new fixture has been called.

Returns
The current new fixture call flag.

Definition at line 720 of file Framework.cpp.

721 {
722  return _new_fixture_call;
723 }

◆ num_iterations()

int num_iterations ( ) const

Number of iterations per test case.

Returns
Number of iterations per test case.

Definition at line 257 of file Framework.cpp.

258 {
259  return _num_iterations;
260 }

◆ pop_suite()

void pop_suite ( )

Remove innermost test suite.

Warning
Cannot be used at execution time. It can only be used for registering test cases.

Definition at line 153 of file Framework.cpp.

154 {
155  _test_suite_name.pop_back();
156 }

Referenced by TestSuiteRegistrar::TestSuiteRegistrar().

◆ print_test_info()

void print_test_info ( std::ostream &  os) const

Print test info.

Parameters
[out]osOutput stream.

Definition at line 173 of file Framework.cpp.

174 {
175  if(!_test_info.empty())
176  {
177  os << "CONTEXT:\n";
178 
179  for(const auto &str : _test_info)
180  {
181  os << " " << str << "\n";
182  }
183  }
184 }

References caffe_mnist_image_extractor::str.

Referenced by arm_compute::test::framework::ARM_COMPUTE_PRINT_INFO().

◆ print_test_results()

void print_test_results ( Printer printer) const

Use the specified printer to output test results from the last run.

This method can be used if the test results need to be obtained using a different printer than the one managed by the framework.

Parameters
[in]printerPrinter used to output results.

Definition at line 634 of file Framework.cpp.

635 {
636  printer.print_run_header();
637 
638  for(const auto &test : _test_results)
639  {
640  printer.print_test_header(test.first);
641  printer.print_profiler_header(test.second.header_data);
642  printer.print_measurements(test.second.measurements);
643  printer.print_test_footer();
644  }
645 
646  printer.print_run_footer();
647 }

References Printer::print_measurements(), Printer::print_profiler_header(), Printer::print_run_footer(), Printer::print_run_header(), Printer::print_test_footer(), and Printer::print_test_header().

◆ push_suite()

void push_suite ( std::string  name)

Add a new test suite.

Warning
Cannot be used at execution time. It can only be used for registering test cases.
Parameters
[in]nameName of the added test suite.

Definition at line 148 of file Framework.cpp.

149 {
150  _test_suite_name.emplace_back(std::move(name));
151 }

References name.

Referenced by TestSuiteRegistrar::TestSuiteRegistrar().

◆ run()

bool run ( )

Run all enabled test cases.

Returns
True if all test cases executed successful.

Definition at line 546 of file Framework.cpp.

547 {
548  // Clear old test results
549  _test_results.clear();
550 
551  if(_log_level >= LogLevel::TESTS)
552  {
553  func_on_all_printers([](Printer * p)
554  {
555  p->print_run_header();
556  });
557  }
558 
559  const std::chrono::time_point<std::chrono::high_resolution_clock> start = std::chrono::high_resolution_clock::now();
560 
561  int id = 0;
562  int id_run_test = 0;
563  ARM_COMPUTE_UNUSED(id_run_test); // Not used if ARM_COMPUTE_CL is not defined
564 
565  for(auto &test_factory : _test_factories)
566  {
567  const std::string test_case_name = test_factory->name();
568  const TestInfo test_info{ id, test_case_name, test_factory->mode(), test_factory->status() };
569 
570  if(_test_filter->is_selected(test_info))
571  {
572 #ifdef ARM_COMPUTE_CL
573  // Every 100 tests, reset the OpenCL context to release the allocated memory
574  if(opencl_is_available() && (id_run_test % 100) == 0)
575  {
576  auto ctx_properties = CLScheduler::get().context().getInfo<CL_CONTEXT_PROPERTIES>(nullptr);
577  auto queue_properties = CLScheduler::get().queue().getInfo<CL_QUEUE_PROPERTIES>(nullptr);
578 
579  cl::Context new_ctx = cl::Context(CL_DEVICE_TYPE_DEFAULT, ctx_properties.data());
580  cl::CommandQueue new_queue = cl::CommandQueue(new_ctx, CLKernelLibrary::get().get_device(), queue_properties);
581 
583  CLScheduler::get().set_context(new_ctx);
584  CLScheduler::get().set_queue(new_queue);
585  }
586 #endif // ARM_COMPUTE_CL
587  TestResult::Status result = run_test(test_info, *test_factory);
588  if((_print_rerun_cmd) && (result == TestResult::Status::CRASHED || result == TestResult::Status::FAILED))
589  {
590  std::cout << "Rerun command: ./arm_compute_validation --filter='^" << test_info.name << "$' --seed=" << _seed << std::endl;
591  }
592  ++id_run_test;
593 
594  // Run test delay
595  sleep_in_seconds(_cooldown_sec);
596  }
597 
598  ++id;
599  }
600 
601  const std::chrono::time_point<std::chrono::high_resolution_clock> end = std::chrono::high_resolution_clock::now();
602 
603  if(_log_level >= LogLevel::TESTS)
604  {
605  func_on_all_printers([](Printer * p)
606  {
607  p->print_run_footer();
608  });
609  }
610 
611  auto runtime = std::chrono::duration_cast<std::chrono::seconds>(end - start);
612  std::map<TestResult::Status, int> results = count_test_results();
613 
614  if(_log_level > LogLevel::NONE)
615  {
616  std::cout << "Executed " << _test_results.size() << " test(s) ("
617  << results[TestResult::Status::SUCCESS] << " passed, "
618  << results[TestResult::Status::EXPECTED_FAILURE] << " expected failures, "
619  << results[TestResult::Status::FAILED] << " failed, "
620  << results[TestResult::Status::CRASHED] << " crashed, "
621  << results[TestResult::Status::DISABLED] << " disabled) in " << runtime.count() << " second(s)\n";
622  }
623 
624  int num_successful_tests = results[TestResult::Status::SUCCESS] + results[TestResult::Status::EXPECTED_FAILURE] + results[TestResult::Status::DISABLED];
625 
626  return (static_cast<unsigned int>(num_successful_tests) == _test_results.size());
627 }

References ARM_COMPUTE_UNUSED, CLKernelLibrary::clear_programs_cache(), CLScheduler::context(), arm_compute::mlgo::parser::end(), CLKernelLibrary::get(), CLScheduler::get(), TestCaseFactory::mode(), TestCaseFactory::name(), arm_compute::opencl_is_available(), Printer::print_run_footer(), Printer::print_run_header(), CLScheduler::queue(), CLScheduler::set_context(), CLScheduler::set_queue(), arm_compute::test::sleep_in_seconds(), and TestCaseFactory::status().

Referenced by main().

◆ set_error_on_missing_assets()

void set_error_on_missing_assets ( bool  error_on_missing_assets)

Set whether a test should be considered as failed if its assets cannot be found.

Parameters
[in]error_on_missing_assetsTrue if a test should be marked as failed when its assets are missing.

Definition at line 287 of file Framework.cpp.

288 {
289  _error_on_missing_assets = error_on_missing_assets;
290 }

Referenced by main().

◆ set_instruments_info()

void set_instruments_info ( InstrumentsInfo  instr_info)

Sets instruments info.

Note
TODO(COMPMID-2638) : Remove once instruments are transferred outside the framework.
Parameters
[in]instr_infoInstruments info to set

Definition at line 709 of file Framework.cpp.

710 {
712  *instruments_info = instr_info;
713 }

References ARM_COMPUTE_ERROR_ON, and arm_compute::test::framework::instruments_info.

Referenced by main().

◆ set_new_fixture_call()

void set_new_fixture_call ( bool  val)

Set the new fixture call flag.

Parameters
[in]valValue to set for the flag

Definition at line 725 of file Framework.cpp.

726 {
727  _new_fixture_call = val;
728 }

◆ set_num_iterations()

void set_num_iterations ( int  num_iterations)

Set number of iterations per test case.

Parameters
[in]num_iterationsNumber of iterations per test case.

Definition at line 262 of file Framework.cpp.

263 {
264  _num_iterations = num_iterations;
265 }

◆ set_stop_on_error()

void set_stop_on_error ( bool  stop_on_error)

Set whether to stop execution after the first failed test.

Parameters
[in]stop_on_errorTrue if execution is going to be stopped after first failed test.

Definition at line 277 of file Framework.cpp.

278 {
279  _stop_on_error = stop_on_error;
280 }

Referenced by main().

◆ set_test_result()

void set_test_result ( TestInfo  info,
TestResult  result 
)

Set the result for an executed test case.

Parameters
[in]infoTest info.
[in]resultExecution result.

Definition at line 629 of file Framework.cpp.

630 {
631  _test_results.emplace(std::move(info), std::move(result));
632 }

References arm_compute::test::validation::info.

◆ set_throw_errors()

void set_throw_errors ( bool  throw_errors)

Set whether errors are caught or thrown by the framework.

Parameters
[in]throw_errorsTrue if errors should be thrown.

Definition at line 267 of file Framework.cpp.

268 {
269  _throw_errors = throw_errors;
270 }

Referenced by main().

◆ stop_on_error()

bool stop_on_error ( ) const

Indicates if test execution is stopped after the first failed test.

Returns
True if the execution is going to be stopped after the first failed test.

Definition at line 282 of file Framework.cpp.

283 {
284  return _stop_on_error;
285 }

◆ test_infos()

std::vector< TestInfo > test_infos ( ) const

List of TestInfo's.

Returns
Vector with all test ids.

Definition at line 683 of file Framework.cpp.

684 {
685  std::vector<TestInfo> ids;
686 
687  int id = 0;
688 
689  for(const auto &factory : _test_factories)
690  {
691  const TestInfo test_info{ id, factory->name(), factory->mode(), factory->status() };
692 
693  if(_test_filter->is_selected(test_info))
694  {
695  ids.emplace_back(std::move(test_info));
696  }
697 
698  ++id;
699  }
700 
701  return ids;
702 }

References TestInfo::name.

Referenced by main().

◆ throw_errors()

bool throw_errors ( ) const

Should errors be caught or thrown by the framework.

Returns
True if errors are thrown.

Definition at line 272 of file Framework.cpp.

273 {
274  return _throw_errors;
275 }

The documentation for this class was generated from the following files:
arm_compute::opencl_is_available
bool opencl_is_available()
Check if OpenCL is available.
Definition: OpenCL.cpp:208
type
decltype(strategy::transforms) typedef type
Definition: gemm_interleaved.hpp:261
arm_compute::test::framework::TestResult::Status
Status
Execution status of a test.
Definition: TestResult.h:42
arm_compute::test::framework::TestResult::Status::SUCCESS
@ SUCCESS
arm_compute::test::framework::TestResult::status
Status status
Execution status.
Definition: TestResult.h:74
arm_compute::test::framework::LogLevel::NONE
@ NONE
arm_compute::test::framework::Framework::num_iterations
int num_iterations() const
Number of iterations per test case.
Definition: Framework.cpp:257
caffe_mnist_image_extractor.str
str
Definition: caffe_mnist_image_extractor.py:21
arm_compute::CLKernelLibrary::get
static CLKernelLibrary & get()
Access the KernelLibrary singleton.
Definition: CLKernelLibrary.cpp:41
arm_compute::test::framework::TestResult::Status::CRASHED
@ CRASHED
arm_compute::test::framework::TestInfo::status
TestCaseFactory::Status status
Test status.
Definition: Framework.h:85
ARM_COMPUTE_ERROR_ON
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
arm_compute::test::framework::Framework::error_on_missing_assets
bool error_on_missing_assets() const
Indicates if a test should be marked as failed when its assets are missing.
Definition: Framework.cpp:292
arm_compute::test::framework::Framework::stop_on_error
bool stop_on_error() const
Indicates if test execution is stopped after the first failed test.
Definition: Framework.cpp:282
is_selected
const BatchNormalizationSelectorPtr is_selected
Definition: NEBatchNormalizationLayerKernel.cpp:67
arm_compute::test::framework::TestResult::Status::DISABLED
@ DISABLED
name
const char * name
Definition: NEBatchNormalizationLayerKernel.cpp:66
arm_compute::CLKernelLibrary::clear_programs_cache
void clear_programs_cache()
Clear the library's cache of binary programs.
Definition: CLKernelLibrary.cpp:89
arm_compute::test::framework::TestResult::Status::FAILED
@ FAILED
ARM_COMPUTE_UNUSED
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
Definition: Error.h:151
arm_compute::CLScheduler::get
static CLScheduler & get()
Access the scheduler singleton.
Definition: CLScheduler.cpp:112
arm_compute::test::framework::LogLevel::MEASUREMENTS
@ MEASUREMENTS
arm_compute::CLScheduler::set_context
void set_context(cl::Context context)
Accessor to set the CL context to be used by the scheduler.
Definition: CLScheduler.cpp:160
arm_compute::test::framework::LogLevel::TESTS
@ TESTS
arm_compute::test::framework::LogLevel::DEBUG
@ DEBUG
arm_compute::test::framework::TestResult::Status::EXPECTED_FAILURE
@ EXPECTED_FAILURE
clang_tidy_rules.mode
mode
Definition: clang_tidy_rules.py:196
arm_compute::test::framework::sleep_in_seconds
void sleep_in_seconds(float seconds)
Makes the calling thread to sleep for a specified number of seconds.
Definition: Utils.cpp:38
arm_compute::mlgo::parser::end
void end(TokenStream &in, bool &valid)
Definition: MLGOParser.cpp:283
arm_compute::test::framework::TestCaseFactory::Status::EXPECTED_FAILURE
@ EXPECTED_FAILURE
arm_compute::test::validation::info
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
arm_compute::CLScheduler::queue
cl::CommandQueue & queue()
Accessor for the associated CL command queue.
Definition: CLScheduler.cpp:40
arm_compute::CLScheduler::set_queue
void set_queue(cl::CommandQueue queue)
Accessor to set the CL command queue to be used by the scheduler.
Definition: CLScheduler.cpp:56
arm_compute::test::framework::instruments_info
std::unique_ptr< InstrumentsInfo > instruments_info
Definition: Framework.cpp:50
arm_compute::test::framework::Framework::throw_errors
bool throw_errors() const
Should errors be caught or thrown by the framework.
Definition: Framework.cpp:272
arm_compute::CLScheduler::context
cl::Context & context()
Accessor for the associated CL context.
Definition: CLScheduler.cpp:33
arm_compute::test::framework::InstrumentsDescription
std::pair< InstrumentType, ScaleFactor > InstrumentsDescription
Definition: Instruments.h:69