Award Abstract # 1619123
CHS: Small: Translating Compilers for Visual Computing in Dynamic Languages

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: RECTOR & VISITORS OF THE UNIVERSITY OF VIRGINIA
Initial Amendment Date: May 31, 2016
Latest Amendment Date: December 12, 2017
Award Number: 1619123
Award Instrument: Standard Grant
Program Manager: Anindya Banerjee
abanerje@nsf.gov
 (703)292-7885
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2016
End Date: July 31, 2019 (Estimated)
Total Intended Award Amount: $450,000.00
Total Awarded Amount to Date: $450,000.00
Funds Obligated to Date: FY 2016 = $429,700.00
History of Investigator:
  • Baishakhi Ray (Principal Investigator)
    rayb@cs.columbia.edu
  • Westley Weimer (Co-Principal Investigator)
  • Connelly Barnes (Former Principal Investigator)
  • Baishakhi Ray (Former Co-Principal Investigator)
Recipient Sponsored Research Office: University of Virginia Main Campus
1001 EMMET ST N
CHARLOTTESVILLE
VA  US  22903-4833
(434)924-4270
Sponsor Congressional District: 05
Primary Place of Performance: University of Virginia
P. O. Box 400195
Charlottesville
VA  US  22904-4195
Primary Place of Performance
Congressional District:
05
Unique Entity Identifier (UEI): JJG6HU8PA4S5
Parent UEI:
NSF Program(s): Software & Hardware Foundation
Primary Program Source: 01001617DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7923, 7943
Program Element Code(s): 779800
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

This collaborative project is developing technologies to enable students, scientists, and other non-expert developers to use computer languages that facilitate rapid prototyping, and yet still automatically convert such programs to have high performance. In this research, the PI and co-PIs focus on programs that operate over visual data, such as programs in computer graphics, computer vision, and visualization. Visual data is important because visual datasets are rapidly growing in size, due to the use of cell-phone cameras, photo and video sharing online, and in scientific and medical imaging. The intellectual merits are that specialized program optimizations are being developed specifically for visual computing and for languages that enable rapid prototyping, alongside techniques that allow the computer to automatically search through different candidate optimizations and choose the fastest one. The project's broader significance and importance are that it will make the writing of computer programs that operate over visual datasets more accessible to novice programmers, make visual computing more accessible to a broader audience, permit faster research and development over visual programs, and make such programs themselves be more efficient.

More specifically, this research program is producing translating compilers that are specialized to handle programs that compute over visual data. The group led by the PI is researching new compilers that translate code from dynamic languages into highly efficient code in a target language. Dynamic languages are defined as those with a very dynamic run-time model, for example, MATLAB, Python, and Javascript. The target language is a language such as C that permits implementation of highly efficient programs. This research framework incorporates ideas from compilers, graphics, computer vision, visual perception, and formal and natural languages. The research will make a number of key intellectual contributions. First, new domain-specific translations and optimizations for visual computing will be formalized into manual rules that can be applied to any input program. Second, the team will research a novel approach of automatically learning translations, instead of using manually-coded rules. This can take the form of learning translation "suggestions" from humans, who can interactively suggest better output code. Third, a new search process based on offline auto-tuning will be used to select the translations that result in the fastest program. The success of the project will be verified against a comprehensive test suite of programs from computer vision and graphics.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Fang-Hsiang Su, Jonathan Bell, Gail Kaiser, Baishakhi Ray "Obfuscation Resilient Search through Executable Classification" Proceedings of the 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages , 2018 978-1-4503-5834-7
Md Masudur Rahman, Jed Barson, Sydney Paul, Joshua Kayan, Federico Andres Lois, Sebastian Fernandez Quezada, Christopher Parnin, Kathryn T. Stolee, Baishakhi Ray "Evaluating How Developers Use General-Purpose Web-Searchfor Code Retrieval" 15th International Conference on Mining Software Repositories , 2018 978-1-4503-5716-6
Yuting Yang, Sam Prestwood, Connelly Barnes "VizGen: Accelerating Visual Computing Prototypes in Dynamic Languages" ACM SIGGRAPH Asia 2016 , 2016
Y. Yang C. Barnes "Approximate Program Smoothing Using Mean?Variance Statistics, with Application to Procedural Shader Bandlimiting" Computer Graphics Forum , v.Vol. 37 , 2018 , p.443 10.1111/cgf.13374

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page