Tornado: A Practical And Efficient Heterogeneous Programming Framework For Managed Languages
James Clarkson, Christos Kotselidis

TL;DR
Tornado is a practical heterogeneous programming framework that dynamically configures applications at runtime, enabling efficient use of accelerators without complex pre-configuration or extensive code modifications.
Contribution
It introduces a runtime system that allows applications to adapt to specific hardware in situ, simplifying heterogeneous programming for managed languages.
Findings
Achieves up to 124 FPS in a real-world vision application
Provides up to 166x speedup over reference implementation
Maintains within 21% of hand-optimized OpenCL performance
Abstract
This paper describes our experiences creating Tornado: a practical and efficient heterogeneous programming framework for managed languages. The novel aspect of Tornado is that it turns the programming of heterogeneous systems from an activity predominantly based on a priori knowledge into one based on a posteriori knowledge. Alternatively put, it simply means developers do not need to overcomplicate their code by catering for all possible eventualities. Instead, Tornado provides the ability to specialize each application for a specific system in situ which avoids the need for it to be pre-configured by the developer. To enable this, Tornado employs a sophisticated runtime system that can dynamically configure all aspects of the application - from selecting which parallelization scheme to apply to specifying which accelerators to use. By using this ability, the end-user, and not the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModular Robots and Swarm Intelligence · Parallel Computing and Optimization Techniques · Scientific Computing and Data Management
