BEGIN:VCALENDAR
VERSION:2.0
PRODID:Linklings LLC
BEGIN:VTIMEZONE
TZID:Australia/Brisbane
X-LIC-LOCATION:Australia/Brisbane
BEGIN:STANDARD
DTSTART:19920301T030000
TZOFFSETFROM:+1100
TZOFFSETTO:+1000
TZNAME:AEST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20191203T080501Z
LOCATION:Plaza Meeting Room P2
DTSTART;TZID=Australia/Brisbane:20191119T110000
DTEND;TZID=Australia/Brisbane:20191119T112600
UID:siggraphasia_SIGGRAPH Asia 2019_sess112_papers_171@linklings.com
SUMMARY:Taichi: A Language for High-Performance Computation on Spatially S
 parse Data Structures
DESCRIPTION:Technical Papers\n\nTaichi: A Language for High-Performance Co
 mputation on Spatially Sparse Data Structures\n\nHu, Li, Anderson, Ragan-K
 elley, Durand\n\n3D visual computing data are often spatially sparse. To e
 xploit such sparsity, people have developed hierarchical sparse data struc
 tures, such as multi-level sparse voxel grids, particles, and 3D hash tabl
 es. However, developing and using these high-performance sparse data struc
 tures is challenging, due to their intrinsic complexity and overhead. We p
 ropose Taichi, a new data-oriented programming language for efficiently au
 thoring, accessing, and maintaining such data structures. The language off
 ers a high-level, data structure-agnostic interface for writing computatio
 n code. The user independently specifies the data structure. We provide se
 veral elementary components with different sparsity properties that can be
  arbitrarily composed to create a wide range of multi-level sparse data st
 ructures. This decoupling of data structures from computation makes it eas
 y to experiment with different data structures without changing computatio
 n code, and allows users to write computation as if they are working with 
 a dense array. Our compiler then uses the semantics of the data structure 
 and index analysis to automatically optimize for locality, remove redundan
 t operations for coherent accesses, maintain sparsity and memory allocatio
 ns, and generate efficient parallel and vectorized instructions for CPUs a
 nd GPUs.\n\nOur approach yields competitive performance on common computat
 ional kernels such as stencil applications, neighbor lookups, and particle
  scattering. We demonstrate our language by implementing simulation, rende
 ring, and vision tasks including a material point method simulation, finit
 e element analysis, a multigrid Poisson solver for pressure projection, vo
 lumetric path tracing, and 3D convolution on sparse grids. Our computation
 -data structure decoupling allows us to quickly experiment with different 
 data arrangements, and to develop high-performance data structures tailore
 d for specific computational tasks. With 1/10 as many lines of code, we ac
 hieve 4.55x higher performance on average, compared to hand-optimized refe
 rence implementations.\n\nRegistration Category: Platinum Pass, Full Confe
 rence Pass, Full Conference One-Day Pass
URL:https://sa2019.conference-program.com/presentation?id=papers_171&sess=
 sess112
END:VEVENT
END:VCALENDAR

