  Learning representations of algorithms is an emerging area of machine
learning, seeking to bridge concepts from neural networks with classical
algorithms. Several important works have investigated whether neural networks
can effectively reason like algorithms, typically by learning to execute them.
The common trend in the area, however, is to generate targeted kinds of
algorithmic data to evaluate specific hypotheses, making results hard to
transfer across publications, and increasing the barrier of entry. To
consolidate progress and work towards unified evaluation, we propose the CLRS
Algorithmic Reasoning Benchmark, covering classical algorithms from the
Introduction to Algorithms textbook. Our benchmark spans a variety of
algorithmic reasoning procedures, including sorting, searching, dynamic
programming, graph algorithms, string algorithms and geometric algorithms. We
perform extensive experiments to demonstrate how several popular algorithmic
reasoning baselines perform on these tasks, and consequently, highlight links
to several open challenges. Our library is readily available at
https://github.com/deepmind/clrs.
