Mihir Patil

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2017-115

June 1, 2017

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-115.pdf

Optimized libraries with callables in Python are very popular for scientific development. They provide an accessible interface, complemented with strong performance. However, there are often operations that these specialized libraries do not support, but are nevertheless necessary in custom applications. This presents a problem, since these unsupported operations are often implemented in Python by the application designer, and therefore are usually unoptimized. Applications that mandate significant performance cannot be effective when they also require these unsupported operations. This performance gap can be greatly reduced with selective embedded just-in-time specialization, or SEJITS. Instead of writing simple Python code for the custom operations, SEJITS allows users to write an optimized version of the routine that can be called in Python. The JIT-specialized code drastically improves performance of the custom routine, allowing the overall computing pipeline for the application to witness a significant speedup. This report explores SKYE, an application that uses OpenCV and a custom SEJITS-optimized method to perform motion detection and tracking.


BibTeX citation:

@techreport{Patil:EECS-2017-115,
    Author= {Patil, Mihir},
    Editor= {Fox, Armando and Markley, Charles},
    Title= {SKYE: Motion Detection & Tracking with SEJITS},
    Year= {2017},
    Month= {Jun},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-115.html},
    Number= {UCB/EECS-2017-115},
    Abstract= {Optimized libraries with callables in Python are very popular for scientific development. They provide an accessible interface, complemented with strong performance. However, there are often operations that these specialized libraries do not support, but are nevertheless necessary in custom applications. This presents a problem, since these unsupported operations are often implemented in Python by the application designer, and therefore are usually unoptimized. Applications that mandate significant performance cannot be effective when they also require these unsupported operations. This performance gap can be greatly reduced with selective embedded just-in-time specialization, or SEJITS. Instead of writing simple Python code for the custom operations, SEJITS allows users to write an optimized version of the routine that can be called in Python. The JIT-specialized code drastically improves performance of the custom routine, allowing the overall computing pipeline for the application to witness a significant speedup. This report explores SKYE, an application that uses OpenCV and a custom SEJITS-optimized method to perform motion detection and tracking.},
}

EndNote citation:

%0 Report
%A Patil, Mihir 
%E Fox, Armando 
%E Markley, Charles 
%T SKYE: Motion Detection & Tracking with SEJITS
%I EECS Department, University of California, Berkeley
%D 2017
%8 June 1
%@ UCB/EECS-2017-115
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-115.html
%F Patil:EECS-2017-115