Sign in

Sam Westrick

@shwestrick.bsky.social
654 followers 154 following 237 posts

assistant professor @NYU Courant CS :: programming languages :: parallel computing :: music :: lead dev of the MaPLe compiler (github.com/mpllang/mpl) cs.nyu.edu/~shw8119

PostsRepliesMedia
Sam Westrick @shwestrick.bsky.social · 01/09/2026
exciting to see my research group grow here at NYU. Two more PhD students starting officially tomorrow: welcome to the ParCour group, Ariel and Atharva!! nyu-parcour.github.io
nyu-parcour.github.io
ParCour
050
Sam Westrick @shwestrick.bsky.social · 28/08/2026
Getting set up for the ML Workshop in Indianapolis! come join us at 9 for Matthew Flatt’s keynote: The Rhombus Programming Language
020
Sam Westrick @shwestrick.bsky.social · 11/07/2026
paper link: dl.acm.org/doi/10.1145/... We're actively working on developing Scheduler Augmentation even further, including more applications and ergonomic improvements to the implementation in ParlayLib. source code here: github.com/nyu-parcour/...
000
Sam Westrick @shwestrick.bsky.social · 11/07/2026
incredibly honored that our paper on Scheduler Augmentation won this year's _Best Paper Award_ at SPAA! This is joint work with my students Darshan Dinesh Kumar and Seong-Heon Jung. Excellent work Darshan and Seong-Heon!! Check out the talk (starts at ~1hr): rhul.hosted.panopto.com/Panopto/Page...
1102
Sam Westrick @shwestrick.bsky.social · 07/07/2026
oh hi! Thanks for the callout! (I also agree that disentanglement is super cool 👀)
020
Sam Westrick @shwestrick.bsky.social · 06/07/2026
getting some cool visuals going… github.com/nyu-parcour/...
020
Sam Westrick @shwestrick.bsky.social · 06/07/2026
and, check out some of the other cool stuff we're up at NYU here! nyu-parcour.github.io
nyu-parcour.github.io
ParCour
000
Sam Westrick @shwestrick.bsky.social · 06/07/2026
Check out our implementation extending ParlayLib here: github.com/nyu-parcour/...
github.com
GitHub - nyu-parcour/scheduler-augmentation
Contribute to nyu-parcour/scheduler-augmentation development by creating an account on GitHub.
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
Scheduler augmentation is easily deactivated when not in use, requires no special compiler support, and can be incorporated into lightweight "library-only" schedulers with essentially no performance impact or maintenance burden.
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
Critically, none of these analyses incur major overhead: just a few percent in typical applications and use-cases, and fully parallelized, with almost no impact on scalability.
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
In another case study, we measure the impact of a subtle space optimization. With just a few lines of code, we can empirically confirm that the optimization works as intended, by measuring peak memory consumption as an abstract property on the computation graph.
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
For example, using just a few lines of code we can identify a granularity control issue inside of a library we did not author ourselves. We describe a case study in detail in the paper.
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
Now we can easily peek inside a computation, even deeply across library boundaries. This is great for finding performance issues buried in places you did not expect.
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
Customization is easy: just define a notion of vertex-local data and functions to update this data across forks and joins. These custom vertices are handed off to an “augmented” scheduler, which incrementally maintains the computation graph under the hood during execution
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
This paper is all about making it easy to dynamically observe the computation graph of a parallel execution (for profiling purposes, dynamic analyses, etc)
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
Joint work between myself and two of my students at NYU: Darshan Dinesh Kumar and Seong-Heon Jung come check out our presentation at SPAA this Thursday: spaa.acm.org/wp-content/u... (live streams will be available, I believe?)
spaa.acm.org
ACM Symposium on Parallelism in Algorithms and Architectures – Royal Holloway, University of London, in London, UK, July 6-10, 2026
100
Sam Westrick @shwestrick.bsky.social · 06/07/2026
delighted to announce that our SPAA paper received an outstanding paper award! Scheduler Augmentation: A Lightweight, Low-Cost Profiling Technique for Fork-Join Parallel Programs cs.nyu.edu/~shw8119/26/...
cs.nyu.edu
130
Reposted by Sam Westrick
Sam Westrick @shwestrick.bsky.social · 24/06/2026
We've extended the deadline for the ML Family Workshop 2026! The new deadline is ** July 1, AoE ** The submission requirements are fairly minimal: only 2 pages. Please consider submitting, and encourage your friends to do so too!
103
Sam Westrick @shwestrick.bsky.social · 24/06/2026
More details: icfp26.sigplan.org/home/mlfamil...
icfp26.sigplan.org
ML Family Workshop 2026 - ICFP 2026
ML is a large family of programming languages that includes Standard ML, OCaml, F#, CakeML, SML#, Manticore, MetaOCaml, JoCaml, Alice ML, Dependent ML, Flow Caml, Reason ML, Flix, MaPLe, and many othe...
000
Sam Westrick @shwestrick.bsky.social · 24/06/2026
We've extended the deadline for the ML Family Workshop 2026! The new deadline is ** July 1, AoE ** The submission requirements are fairly minimal: only 2 pages. Please consider submitting, and encourage your friends to do so too!
103
Sam Westrick @shwestrick.bsky.social · 16/06/2026
the ML Family Workshop (@ ICFP'26) submission deadline is approaching -- **Wednesday June 24** Please consider submitting! We especially welcome works-in-progress. Submission requirements are minimal -- just 2 pages. icfp26.sigplan.org/home/mlfamil...
icfp26.sigplan.org
ML Family Workshop 2026 - ICFP 2026
ML is a large family of programming languages that includes Standard ML, OCaml, F#, CakeML, SML#, Manticore, MetaOCaml, JoCaml, Alice ML, Dependent ML, Flow Caml, Reason ML, Flix, MaPLe, and many othe...
1110
Sam Westrick @shwestrick.bsky.social · 05/06/2026
it helped me catch a nasty whitespace change that latexdiff totally missed
010
Sam Westrick @shwestrick.bsky.social · 05/06/2026
doing camera ready tweaks for a paper, and this tool is amazing for double checking small changes github.com/vslavik/diff...
github.com
GitHub - vslavik/diff-pdf: A simple tool for visually comparing two PDF files
A simple tool for visually comparing two PDF files - vslavik/diff-pdf
120
Sam Westrick @shwestrick.bsky.social · 13/01/2026
a beacon guides me
090
Sam Westrick @shwestrick.bsky.social · 05/12/2025
my student Seong-Heon talking about one of our new projects at NYU! (We’re at NJPLS today, come say hi)
1102
Sam Westrick @shwestrick.bsky.social · 04/12/2025
Enjoying this presentation about performance engineering in the Go GC implementation: youtu.be/gPJkM95KpKo Really fantastic talk!
youtu.be
GopherCon 2025 - Advancing Go Garbage Collection with Green Tea - Michael Knyszek
YouTube video by Gopher Academy
030
Sam Westrick @shwestrick.bsky.social · 24/10/2025
check out the paper for more details! cs.nyu.edu/~shw8119/25/...
cs.nyu.edu
000
Sam Westrick @shwestrick.bsky.social · 24/10/2025
Additionally, OAC outperforms existing quantum circuit optimizers, often producing a better quality final circuit in orders of magnitude less time.
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
In our experiments, we confirm that OAC performs strictly better than the naive chunked strategy, sometimes significantly so, removing thousands more gates from large circuit instances. This confirms that "melding" is important for circuit quality.
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
We call our algorithm OAC, for "optimize and compact". We prove that this algorithm only calls the oracle productively: the number of additional calls to the oracle (due to melding, etc) is bounded by the number of optimizations found.
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
Melding can in turn expose even more opportunities for optimizations of individual chunks. So, after melding, we can continue optimizing recursively until convergence on a circuit which is (in some sense) "locally optimal" relative to the size-constrained oracle.
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
To address this, we develop a "melding" algorithm which identifies and performs additional optimizations across the boundaries.
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
But this immediately raises a question. Surely, this approach must miss optimizations that are possible across the boundaries between pieces, right? (As you might expect, the answer is yes.)
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
thinking of these tools as black box optimizers or "oracles", a natural strategy would be to chunk up the circuit into small pieces and apply the oracle to each piece. This easily guarantees that the exponential searches are bounded and do not explode (in time/space)
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
the key challenge here is optimizing a large quantum circuit (with, e.g., hundreds of thousands of gates) many existing tools are essentially superoptimizers, with exponential search spaces, and therefore can only handle "small" circuits in a reasonable amount of time/space
100
Sam Westrick @shwestrick.bsky.social · 24/10/2025
happy to announce that, earlier this Fall, our QCE'25 paper "Local Optimization of Quantum Circuits" received a Best Paper award! cs.nyu.edu/~shw8119/25/...
cs.nyu.edu
150
Sam Westrick @shwestrick.bsky.social · 23/10/2025
These days, you can buy such a machine for ~$3K. That’s a lot of compute per buck. Medium-scale parallelism is quite affordable (“Medium scale” meaning large-ish single-node.)
000
Sam Westrick @shwestrick.bsky.social · 23/10/2025
I believe the idea (in ~2015) was: if you’re considering purchasing a car, consider spending your money on this 72-core 1TB multicore machine instead. They’re a similar price!
100
Sam Westrick @shwestrick.bsky.social · 23/10/2025
@anil.recoil.org might find this interesting!
100
Sam Westrick @shwestrick.bsky.social · 23/10/2025
for even more context: Laxman has been exploring the limits of what is possible on single-node parallel machines. This talk is about a recent SPAA paper. They’re getting great scalability up to 8TB on a single node
100
Sam Westrick @shwestrick.bsky.social · 22/10/2025
for context, this slide is ~10 years old
100
Sam Westrick @shwestrick.bsky.social · 22/10/2025
the famous Nissan Leaf slide returns! Laxman Dhulipala emphasizes the benefits of single-node, shared memory parallelism
140
Sam Westrick @shwestrick.bsky.social · 18/10/2025
one day, my apartment will look like this
1212
Reposted by Sam Westrick
Anil Madhavapeddy @anil.recoil.org · 17/10/2025
Extremely cool work on a mechanically verified garbage collector for OCaml using F* by Sheera Samsu, @kcsrk.info and colleagues at the OCaml Workshop #icfpsplash25
0257
Sam Westrick @shwestrick.bsky.social · 16/10/2025
Martin Elsman wraps up the day with Compositional Deep Argument Flattening, a method for summarizing flattening transformations to enable optimizations across compilation unit boundaries
000
Sam Westrick @shwestrick.bsky.social · 16/10/2025
Yanni Lefki (together with Arthur Charguéraud) develop “Binding Boolean Expressions”, a core calculus for generalized pattern matching, guards, and case statements
021
Sam Westrick @shwestrick.bsky.social · 16/10/2025
Samuel Vivien presents his recent work (together with Didier Rémy) on Implicit Modules, an important step towards the long-standing Modular Implicits proposal for OCaml: a way to get the compiler to insert the function you need, automatically
081
Sam Westrick @shwestrick.bsky.social · 16/10/2025
When putting together the program, I noticed that there hadn’t been much CakeML at the ML Family Workshop, at least in the past decade. Yong Kiam’s talk was excellent! 👏 I am endlessly impressed with CakeML — such an exciting project
000
Sam Westrick @shwestrick.bsky.social · 16/10/2025
Yong Kiam overviews the design of CakeML and all of the successes of the project over the years!
100
Sam Westrick @shwestrick.bsky.social · 16/10/2025
Viviana Bono tackles representing structured knowledge databases as CDuce types www.cduce.org
010