Finch: Sparse and Structured Array Programming with Control Flow

保存先:
書誌詳細
出版年:arXiv.org (Apr 25, 2024), p. n/a
第一著者: Ahrens, Willow
その他の著者: Teodoro Fields Collin, Patel, Radha, Deeds, Kyle, Hong, Changwan, Amarasinghe, Saman
出版事項:
Cornell University Library, arXiv.org
主題:
オンライン・アクセス:Citation/Abstract
Full text outside of ProQuest
タグ: タグ追加
タグなし, このレコードへの初めてのタグを付けませんか!

MARC

LEADER 00000nab a2200000uu 4500
001 3046998456
003 UK-CbPIL
022 |a 2331-8422 
035 |a 3046998456 
045 0 |b d20240425 
100 1 |a Ahrens, Willow 
245 1 |a Finch: Sparse and Structured Array Programming with Control Flow 
260 |b Cornell University Library, arXiv.org  |c Apr 25, 2024 
513 |a Working Paper 
520 3 |a From FORTRAN to NumPy, arrays have revolutionized how we express computation. However, arrays in these, and almost all prominent systems, can only handle dense rectilinear integer grids. Real world arrays often contain underlying structure, such as sparsity, runs of repeated values, or symmetry. Support for structured data is fragmented and incomplete. Existing frameworks limit the array structures and program control flow they support to better simplify the problem. In this work, we propose a new programming language, Finch, which supports both flexible control flow and diverse data structures. Finch facilitates a programming model which resolves the challenges of computing over structured arrays by combining control flow and data structures into a common representation where they can be co-optimized. Finch automatically specializes control flow to data so that performance engineers can focus on experimenting with many algorithms. Finch supports a familiar programming language of loops, statements, ifs, breaks, etc., over a wide variety of array structures, such as sparsity, run-length-encoding, symmetry, triangles, padding, or blocks. Finch reliably utilizes the key properties of structure, such as structural zeros, repeated values, or clustered non-zeros. We show that this leads to dramatic speedups in operations such as SpMV and SpGEMM, image processing, graph analytics, and a high-level tensor operator fusion interface. 
653 |a Sparsity 
653 |a Structured data 
653 |a Arrays 
653 |a Algorithms 
653 |a Programming languages 
653 |a Mathematical analysis 
653 |a Image processing 
653 |a Data structures 
653 |a Symmetry 
653 |a Tensors 
700 1 |a Teodoro Fields Collin 
700 1 |a Patel, Radha 
700 1 |a Deeds, Kyle 
700 1 |a Hong, Changwan 
700 1 |a Amarasinghe, Saman 
773 0 |t arXiv.org  |g (Apr 25, 2024), p. n/a 
786 0 |d ProQuest  |t Engineering Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3046998456/abstract/embedded/6A8EOT78XXH2IG52?source=fedsrch 
856 4 0 |3 Full text outside of ProQuest  |u http://arxiv.org/abs/2404.16730