Software for Improved Application Performance and Power on Heterogeneous Computers

Technology #13728


The University of Florida is seeking companies interested in commercializing software that contains unique optimization algorithms for transparently accelerating processing speeds even while using less electricity than alternative solutions. In the past few years, the computing trend towards faster clock frequencies and additional computing nodes has been replaced by usage of heterogeneous accelerator devices, such as graphics-processing units and field-programmable gate arrays. Although such devices have numerous advantages, their usage and effectiveness has been limited due to significantly increased application design complexity compared to traditional software. Researchers at the University of Florida have created a software optimization framework, dubbed elastic computing, that draws on implementation alternatives and parallelization strategies for different functions to transparently optimize an application for different types and numbers of computing resources without any designer effort. It works smarter instead of harder, maximizing efficiency for a range of different resources and runtime parameters.


Software, containing optimization and implementation assessment algorithms, that makes it possible for computers to run calculations faster and at lower power with less designer effort


  • Transparent optimization algorithms permit adaptation to changing input parameters and resources, delivering better performance and power
  • Reduces power and cooling needs compared to traditional approaches, saving money and reducing size
  • Proven to work on a variety of systems, ensuring maximum versatility
  • Hides the complexity of GPU and FPGA application design, enhancing ease of use for non-experts


If not for energy consumption, size, and cost, today’s supercomputer capabilities could find their way into tomorrow’s home offices, research labs, and even portable devices. Specialized heterogeneous accelerator devices enable such capabilities, but have not reached their full potential due to application design complexity. To address this problem, University of Florida researchers have developed an optimization framework that automatically and transparently optimizes an application across any type and any number of computing resources. This technology works by separating functionality from implementation details, enabling designers to use specialized elastic functions that have a similar interface to any function library. However, these elastic functions permit an optimization framework to explore thousands of possible implementations, even ones employing different algorithms. Additionally, these functions allow execution of the same application code efficiently, on any architecture, according to different runtime parameters (e.g. such as input size, available resources, battery life, etc.). This elastic computing framework transparently optimizes application code to achieve significant speedups ranging from 1.3x to 206x, and potentially supports any system architecture.