FLP is a novel processing class offering an architecture template for efficient execution of many vision flows simultaneously. FLP raises architecture programming abstraction from instruction-level (as in an ILP) to function-level. By coarsening the programmability, FLP achieves a comparable power / performance efficiency to custom-HWs. At the same time, FLP offers much higher flexibility than individual custom-HWs by providing a Function-Set-Architecture (FSA).
The success of an FLP depends on the selection of FBs and their potential composition making it a crucial aspect de-fining flexibility and usability. New research is needed that shifts from optimizing individual applications to identifying common functions that are present in many applications of a market. The challenge becomes to define a small enough set of sufficiently composable functions that provide meaningful computation for a given market. Overall, a minimal but sufficiently contiguous set of FBs is desired.
A promising approach is to analyze existing programming frameworks (such as OpenCV for vision) for frequently used function primitives (as candidates to be an FB) and their composition. The basic idea is to identify the required functions for each application. The first step is to extract the Function Call Graph (CFG) from each application, and then converting into to Synchronous Data Flow (SDF) graphs. We consider the SDF presentation more suitable for Function-Set exploration, as it exposes all possible orders and connectivity among the function within individual applications. The most critical step is the FSA explorer, which overlays the SDF graphs of all applications to create a combined graph with all applications.
Basic knowledge of computer architecture is a must. The students also need to know C/C++ programming. Also candidates need to be interested in graduate-level research work which may involve reading and surveying scientific articles.
The accepted students will learn advanced topics in computer architecture as well as system-level design principles. Accepted students also will have a chance to engage in a creative project with an aim to rethink computer architecture. They may also get involve in serious research tasks with potential publication benefits.