Alex Poms

I develop high-performance distributed systems for extracting information from massive collections of images and videos.

Who am I?

I am a first year Ph.D. student at CMU focusing on Visual Systems, or the intersection of graphics and systems research. My advisor is Kayvon Fatahalian.


The Visual Computing Database

Analyzing large collections of images and videos is challenging for several reasons: compute-intensive nature of image processing algorithms, utilizing heterogeneous hardware for efficiency, the large intermediates generated, and the diversity of data access patterns in commonly used algorithms. In an effort to alleviate these issues, my research group is developing a programming system, which we call the Visual Database, that will provide a visual query language for efficiently executing data analytics queries against massive visual datasets.

As a first step toward the larger Visual Database, the current goal of my reserach is to discover the fundamental systems primitives that will allow the efficient execution of computer vision and image processing pipelines across a cluster. These primitives should serve as a compile target that abstracts the complexity of a heterogeneous distributed system from higher-level domain specific languages.

Multi-GPU, Multi-Node Graph Form Convex Optimization

In a collaboration with my undergraduate advisor John D. Owens and Stephen Boyd, I scaled a graph form convex optimization solver called POGS from a single GPU on a single node to multiple GPUs on multiple nodes. By distributing the computation both by parallelizing the linear algebra inherent in the solve method (a form of ADMM) and by breaking the optimization into subproblems by taking advantage of separability in the objective, our system was able to solve massive convex optimization problems with nearly linear scalability.