Synthesis and Parallelization for Layout Languages ∗

semanticscholar(2013)

引用 0|浏览0
暂无评分
摘要
We examine how to automatically parallelize computations over a tree. In our system, programs are declaratively specified with an extended form of attribute grammars. The key to our approach is a novel synthesizer that statically schedules the program as a composition of parallel tree traversals. We show how synthesis enables new linguistic primitives for automatic parallelization where programmers may specify any part of the schedule and rely upon the synthesizer to complete the rest. Furthermore, by identifying tree traversals, we also successfully optimize code generation for efficient execution on multicore and GPU hardware. We evaluate our approach on two long-running challenges. The first challenge is for web browsers on low-power mobile devices. We synthesized the first parallel schedule for a large fragment of the CSS document layout language and report a 3X multicore speedup. The second challenge is of interactive visualizations for exploring big data sets. We built several GPU-accelerated visualizations of 100,000+ data points, which is one to two magnitudes more than achieved with mature high-level languages used for the same domain.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要