Computer Architecture and Programming Abstractions

Capra is a research group at Cornell in the Computer Science and Electrical and Computer Engineering departments. Our research studies abstractions and efficiency through the interaction of programming languages and computer architecture.


A Vision Mode for Efficient Image Capture

Most camera systems are optimized for photography, so they waste time and energy when they capture images for computer vision. This project designs a vision mode for cameras and their associated signal processing logic that saves energy by producing lower-quality, less-processed image data.

Braid, a Safe Heterogeneous Language for Real-Time Graphics

Braid is a programming language for heterogeneous programming, where a single source program targets different hardware units. We have applied it to real-time graphics programming on CPU–GPU systems. Braid compiles to WebGL, so you can try it out in your browser.

Abstractions for Natural Language & Intelligent Systems

Despite rapid progress in machine learning capabilities, integrating ML into full applications remains complex and error prone. Opal is a new set of language features that help make it easier to build correct software that relies on AI, especially on natural language understanding.



PhD Students

  • Dietrich Geisler
  • Edwin Peguero
  • Mark Buckler
  • Philip Bedoukian

Undergrad & MEng Students