Program Generation for Linear Algebra Using Multiple Layers of DSLs
Pith reviewed 2026-05-25 19:07 UTC · model grok-4.3
The pith
Domain-specific generator with multiple DSL layers creates tailored linear algebra routines
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
We advocate a domain-specific program generator capable of producing library routines tailored to the specific needs of the application in terms of sizes, interface, and target architecture.
What carries the argument
A program generator employing multiple layers of domain-specific languages to synthesize linear algebra routines.
Load-bearing premise
Limitations in the flexibility of existing libraries such as BLAS and LAPACK can be effectively overcome by a domain-specific program generator using multiple layers of DSLs.
What would settle it
Demonstration that for common application scenarios the generated code does not achieve the required customization or performance levels compared to standard approaches.
Figures
read the original abstract
Numerical software in computational science and engineering often relies on highly-optimized building blocks from libraries such as BLAS and LAPACK, and while such libraries provide portable performance for a wide range of computing architectures, they still present limitations in terms of flexibility. We advocate a domain-specific program generator capable of producing library routines tailored to the specific needs of the application in terms of sizes, interface, and target architecture.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper claims that libraries such as BLAS and LAPACK provide portable performance across architectures but suffer from limitations in flexibility with respect to problem sizes, interfaces, and target architectures. It advocates the development of a domain-specific program generator that employs multiple layers of DSLs to automatically produce customized linear algebra library routines tailored to specific application needs.
Significance. If successfully realized, the advocated multi-layer DSL generator could meaningfully improve the adaptability and performance of numerical software in computational science and engineering by enabling architecture- and application-specific code generation beyond what static libraries currently allow. The position aligns with established trends in program generation for high-performance computing.
minor comments (1)
- The manuscript consists solely of a high-level advocacy statement with no concrete examples, pseudocode, or discussion of specific DSL layers, making it difficult to assess the practicality of the proposed approach.
Simulated Author's Rebuttal
We thank the referee for the positive summary of our position paper and for the recommendation of minor revision. No specific major comments were provided in the report.
Circularity Check
No significant circularity
full rationale
The paper is an advocacy/position document whose central claim is a recommendation to use multi-layer DSL program generators for producing tailored linear algebra routines. No equations, derivations, fitted parameters, or formal uniqueness theorems appear in the text. The argument remains at the conceptual level of motivation and does not reduce any prediction or result to its own inputs by construction, self-citation chains, or ansatz smuggling. The work is therefore self-contained against external benchmarks with no load-bearing circular steps.
Axiom & Free-Parameter Ledger
Reference graph
Works this paper leans on
-
[1]
" write newline "" before.all 'output.state := FUNCTION n.dashify 't := "" t empty not t #1 #1 substring "-" = t #1 #2 substring "--" = not "--" * t #2 global.max substring 't := t #1 #1 substring "-" = "-" * t #2 global.max substring 't := while if t #1 #1 substring * t #2 global.max substring 't := if while FUNCTION format.date year duplicate empty "emp...
-
[2]
11em plus .33em minus .07em 4000 4000 100 4000 4000 500 `\.=1000 = #1 \@IEEEnotcompsoconly \@IEEEcompsoconly #1 * [1] 0pt [0pt][0pt] #1 * [1] 0pt [0pt][0pt] #1 * \| ** #1 \@IEEEauthorblockNstyle \@IEEEcompsocnotconfonly \@IEEEauthorblockAstyle \@IEEEcompsocnotconfonly \@IEEEcompsocconfonly \@IEEEauthordefaulttextstyle \@IEEEcompsocnotconfonly \@IEEEauthor...
-
[3]
J. J. Dongarra et al . A set of level 3 basic linear algebra subprograms. ACM Trans. on Mathematical Software (TOMS), 16 0 (1): 0 1--17, 1990
work page 1990
-
[4]
E. Anderson et al . LAPACK Users' Guide . Society for Industrial and Applied Mathematics, third edition, 1999
work page 1999
-
[5]
P. Bientinesi, J. A. Gunnels, M. E. Myers, E. S. Quintana-Ort\' i , and R. A. van de Geijn. The science of deriving dense linear algebra algorithms. ACM Trans. on Mathematical Software (TOMS), 31 0 (1): 0 1--26, 2005
work page 2005
-
[6]
D. Fabregat-Traver and P. Bientinesi. Automatic Generation of Loop-Invariants for Matrix Operations. In Computational Science and Its Applications (ICCSA), pp. 82--92, 2011
work page 2011
-
[7]
D. Fabregat-Traver and P. Bientinesi. Knowledge-Based Automatic Generation of Partitioned Matrix Expressions. In Computer Algebra in Scientific Computing (CASC), vol. 6885 of Lecture Notes in Computer Science (LNCS), pp. 144--157. Springer, 2011
work page 2011
-
[8]
M. P \"u schel, F. Franchetti, and Y. Voronenko. Encyclopedia of Parallel Computing, chap. Spiral. Springer, 2011
work page 2011
-
[9]
D. G. Spampinato and M. P \"u schel. A basic linear algebra compiler. In Code Generation and Optimization (CGO), pp. 23--32, 2014
work page 2014
-
[10]
D. G. Spampinato and M. P \"u schel. A basic linear algebra compiler for structured matrices. In Code Generation and Optimization (CGO), pp. 117--127, 2016
work page 2016
-
[11]
C. Bastoul. Code generation in the polyhedral model is easier than you think. In Parallel Architectures and Compilation Techniques (PACT), pp. 7--16, 2004
work page 2004
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.