arrow
Return

Sparsity-Specific Code Optimization using Expression Trees

delete2022-05-13
delete4
delete
OA
AI
P
Philipp Herholz *
X
Xuan Tang
T
Teseo Schneider
S
Shoaib Kamil
D
Daniele Panozzo
O
Olga Sorkine‐Hornung
DOI:10.1145/3520484delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
We introduce a code generator that converts unoptimized C++ code operating on sparse data into vectorized and parallel CPU or GPU kernels. Our approach unrolls the computation into a massive expression graph, performs redundant expression elimination, grouping, and then generates an architecture-specific kernel to solve the same problem, assuming that the sparsity pattern is fixed, which is a common scenario in many applications in computer graphics and scientific computing. We showthat our approach scales to large problems and can achieve speedups of two orders of magnitude on CPUs and three orders of magnitude on GPUs, compared to a set of manually optimized CPU baselines. To demonstrate the practical applicability of our approach, we employ it to optimize popular algorithms with applications to physical simulation and interactive mesh deformation.
Keywords:
Code optimisation
sparse computation

Journal

ACM Transactions on Graphics cover
ACM Transactions on Graphics
IF:
9.5
Papers:
4.8K
Citations:
3.6W

Organization

N
New York University
Scholars:
4.4W
Papers: 3.9W
Citations: 5.8W
U
University of Victoria
Scholars:
1.0W
Papers: 1.0W
Citations: 1.5W
E
ETH Zurich
Scholars:
3.0W
Papers: 2.4W
Citations: 8.4W
S
swiss federal institutes of technology domain
Scholars:
9.0W
Papers: 8.0W
Citations: 163
researcher View more organizations
Cited Papers

Cited Papers

High-field ENDOR and the sign of the hyperfine coupling
err2001-12-01
err0
PREAI
errB. Epel; P. Manikandan; P. M. H. Kroneck; D. Goldfarb
errShare
errSave
Stereospecific synthesis of secondary allylic alcohols: selenoxide chemistry
err2002-05-01
err0
PREAI
errPhillip A. Zoretic; Robert J. Chambers; Gordon Marbury; Anthony A. Riebiro
errShare
errSave
errShare
errSave
Nonlinear vibration of full-filled fluid corrugated sandwich functionally graded cylindrical shells
err2020-06-17
err0
PREAI
errThi Phuong Nguyen; Trung Nguyen-Thoi; Duy Kien Tran; Duc Tuan Ho; Hoai Nam Vu
errShare
errSave
Intra‐individual cytokine profile in peri‐implantitis and periodontitis: A cross‐sectional study
err2021-03-05
err0
errOAAI
errLeif Jansson; Anna Lundmark; Carolina Modin; Denise Abadji; Tülay Yucel‐Lindberg
errShare
errSave
RXMesh: A GPU Mesh Data Structure
err2021-07-19
err9
errOAAI
errMahmoud, Ahmed H.; Porumbescu, Serban D.; Owens, John D.
errShare
errSave
Forced Injection of a Spanwise-Inclined Jet in Supersonic Crossflow
err2024-01-01
err0
PREAI
errRobin Sebastian; Anne-Marie Schreyer
errShare
errSave
Ebb: A DSL for Physical Simulation on CPUs and GPUs
err2016-05-02
err32
PREAI
errBernstein, Gilbert Louis; Shah, Chinmayee; Lemire, Crystal; Devito, Zachary; Fisher, Matthew; Levis, Philip; Hanrahan, Pat
errShare
errSave
researcher View more