Sound, Fine-Grained Traversal Fusion for Heterogeneous Trees - Extended Version

by   Laith Sakka, et al.

Applications in many domains are based on a series of traversals of tree structures, and fusing these traversals together to reduce the total number of passes over the tree is a common, important optimization technique. In applications such as compilers and render trees, these trees are heterogeneous: different nodes of the tree have different types. Unfortunately, prior work for fusing traversals falls short in different ways: they do not handle heterogeneity; they require using domain-specific languages to express an application; they rely on the programmer to aver that fusing traversals is safe, without any soundness guarantee; or they can only perform coarse-grain fusion, leading to missed fusion opportunities. This paper addresses these shortcomings to build a framework for fusing traversals of heterogeneous trees that is automatic, sound, and fine-grained. We show across several case studies that our approach is able to allow programmers to write simple, intuitive traversals, and then automatically fuse them to substantially improve performance.


page 4

page 10


Learning Feature Fusion for Unsupervised Domain Adaptive Person Re-identification

Unsupervised domain adaptive (UDA) person re-identification (ReID) has g...

C2-CRS: Coarse-to-Fine Contrastive Learning for Conversational Recommender System

Conversational recommender systems (CRS) aim to recommend suitable items...

Multiple decision trees

This paper describes experiments, on two domains, to investigate the eff...

Geocoding of trees from street addresses and street-level images

We introduce an approach for updating older tree inventories with geogra...

DAF-NET: a saliency based weakly supervised method of dual attention fusion for fine-grained image classification

Fine-grained image classification is a challenging problem, since the di...

Fusing finetuned models for better pretraining

Pretrained models are the standard starting point for training. This app...