Project Description

Polars is a dataframe library for Python that enables fast data wrangling and querying for a variety of use cases which require large datasets. Its underlying implementation is in Rust which enables this speed. Our team are interested in adopting Polars to help enable better debugging for hardware design. We have a tool written in Python (known as Sootty) which lets users query the state of a simulation's execution to look for places where errors might have occurred and display the information graphically. The user can choose the time period and match on the values of specific wires in the design to display; this helps them to investigate bugs in the simulated hardware. For this project, we want to upgrade the tool to use Polars for data storage and querying. We think that Polars will make the performance better but we're not sure, so we'll have to do some research and performance engineering along the way to determine whether we're fixing the real bottlenecks.

Prerequisite Information

CS64 would be an advantage but not required

Knowledge/Skills to Acquire (with guidance from mentors)

Python, debugging.

Team Members

  • Riley Chou
  • Aden Jo
  • Kate Unger

Professor and Mentors

  • Prof. Jonathan Balkind

Meeting Times

  • Mentor Meetings
    • Fridays, 4-5 p.m.
  • ERSP Team Meetings
    • Mondays, 11 a.m.-12 p.m.
    • Thursdays, 10-11 a.m.

Research Logs