Skip to content

Support for Autotuning

Dorthy Luu edited this page Sep 30, 2015 · 1 revision

SEJITS has been integrated with OpenTuner, an open-source auto-tuning project originated at MIT, providing a clean abstract interface to the search algorithms by which the tuning configuration space is searched. The user defines the parameters to be tuned and provides a report on the performance of a given vector of metrics; each specializer's tuning driver integrates with OpenTuner at these points. The file blob/dgemm-tuning/examples/dgemm.py within the above repository shows an example of using SEJITS+OpenTuner to tune a DGEMM implementation that uses Intel Advanced Vector Extensions (AVX). In the get_tuning_driver method of the specialized function DgemmTranslator, the tuning configuration for each trial is used to manipulate the specialized function's AST; the report method reports the time and energy used to complete the computation at a specified block size.

Clone this wiki locally