{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,1]],"date-time":"2026-07-01T20:23:57Z","timestamp":1782937437607,"version":"3.54.5"},"publisher-location":"Berlin, Heidelberg","reference-count":46,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642030338","type":"print"},{"value":"9783642030345","type":"electronic"}],"license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2009]]},"DOI":"10.1007\/978-3-642-03034-5_18","type":"book-chapter","created":{"date-parts":[[2009,7,1]],"date-time":"2009-07-01T05:08:34Z","timestamp":1246424914000},"page":"385-409","source":"Crossref","is-referenced-by-count":42,"title":["Operator Language: A Program Generation Framework for Fast Kernels"],"prefix":"10.1007","author":[{"given":"Franz","family":"Franchetti","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Fr\u00e9d\u00e9ric","family":"de Mesmay","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Daniel","family":"McFarlin","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Markus","family":"P\u00fcschel","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"18_CR1","unstructured":"Intel: Integrated Performance Primitives 5.3, User Guide"},{"key":"18_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"196","DOI":"10.1007\/978-3-540-88643-3_5","volume-title":"Generative and Transformational Techniques in Software Engineering II","author":"S. Chellappa","year":"2008","unstructured":"Chellappa, S., Franchetti, F., P\u00fcschel, M.: How to write fast numerical code: A small introduction. In: L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering II. LNCS, vol.\u00a05235, pp. 196\u2013259. Springer, Heidelberg (2008)"},{"key":"18_CR3","doi-asserted-by":"crossref","unstructured":"Xiong, J., Johnson, J., Johnson, R., Padua, D.: SPL: A language and compiler for DSP algorithms. In: Proc.\u00a0Programming Language Design and Implementation (PLDI), pp. 298\u2013308 (2001)","DOI":"10.1145\/378795.378860"},{"issue":"2","key":"18_CR4","first-page":"232","volume":"93","author":"M. P\u00fcschel","year":"2005","unstructured":"P\u00fcschel, M., Moura, J.M.F., Johnson, J., Padua, D., Veloso, M., Singer, B., Xiong, J., Franchetti, F., Gacic, A., Voronenko, Y., Chen, K., Johnson, R.W., Rizzolo, N.: SPIRAL: Code generation for DSP transforms. Proc. of the IEEE, special issue on Program Generation, Optimization, and Adaptation\u00a093(2), 232\u2013275 (2005)","journal-title":"Proc. of the IEEE, special issue on Program Generation, Optimization, and Adaptation"},{"key":"18_CR5","doi-asserted-by":"crossref","unstructured":"Franchetti, F., Voronenko, Y., P\u00fcschel, M.: FFT program generation for shared memory: SMP and multicore. In: Proc. Supercomputing (2006)","DOI":"10.1109\/SC.2006.31"},{"key":"18_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"363","DOI":"10.1007\/978-3-540-71351-7_28","volume-title":"High Performance Computing for Computational Science - VECPAR 2006","author":"F. Franchetti","year":"2007","unstructured":"Franchetti, F., Voronenko, Y., P\u00fcschel, M.: A rewriting system for the vectorization of signal transforms. In: Dayd\u00e9, M., Palma, J.M.L.M., Coutinho, \u00c1.L.G.A., Pacitti, E., Lopes, J.C. (eds.) VECPAR 2006. LNCS, vol.\u00a04395, pp. 363\u2013377. Springer, Heidelberg (2007)"},{"key":"18_CR7","unstructured":"GPCE: ACM conference on generative programming and component engineering"},{"key":"18_CR8","volume-title":"Generative Programming: Methods, Tools, and Applications","author":"K. Czarnecki","year":"2000","unstructured":"Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)"},{"issue":"2","key":"18_CR9","doi-asserted-by":"publisher","first-page":"191","DOI":"10.1145\/505145.505147","volume":"11","author":"D. Batory","year":"2002","unstructured":"Batory, D., Johnson, C., MacDonald, B., von Heeder, D.: Achieving extensibility through product-lines and domain-specific languages: A case study. ACM Transactions on Software Engineering and Methodology (TOSEM)\u00a011(2), 191\u2013214 (2002)","journal-title":"ACM Transactions on Software Engineering and Methodology (TOSEM)"},{"key":"18_CR10","doi-asserted-by":"crossref","unstructured":"Batory, D., Lopez-Herrejon, R., Martin, J.P.: Generating product-lines of product-families. In: Proc. Automated Software Engineering Conference (ASE) (2002)","DOI":"10.1109\/ASE.2002.1114997"},{"key":"18_CR11","series-title":"NATO ASI Series","volume-title":"Calculational System Design, Proc. of the International Summer School Marktoberdorf","author":"D.R. Smith","year":"1999","unstructured":"Smith, D.R.: Mechanizing the development of software. In: Broy, M. (ed.) Calculational System Design, Proc. of the International Summer School Marktoberdorf. NATO ASI Series. IOS Press, Amsterdam (1999); Kestrel Institute Technical Report KES.U.99.1"},{"issue":"3","key":"18_CR12","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1145\/989293.989301","volume":"13","author":"K.J. Gough","year":"1981","unstructured":"Gough, K.J.: Little language processing, an alternative to courses on compiler construction. SIGCSE Bulletin\u00a013(3), 31\u201334 (1981)","journal-title":"SIGCSE Bulletin"},{"issue":"8","key":"18_CR13","doi-asserted-by":"publisher","first-page":"711","DOI":"10.1145\/6424.315691","volume":"29","author":"J. Bentley","year":"1986","unstructured":"Bentley, J.: Programming pearls: little languages. Communications of the ACM\u00a029(8), 711\u2013721 (1986)","journal-title":"Communications of the ACM"},{"key":"18_CR14","unstructured":"Hudak, P.: Domain specific languages. Available from author on request (1997)"},{"key":"18_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1007\/978-3-540-25935-0_4","volume-title":"Domain-Specific Program Generation","author":"K. Czarnecki","year":"2004","unstructured":"Czarnecki, K., O\u2019Donnell, J., Striegnitz, J., Taha, W.: DSL implementation in MetaOCaml, Template Haskell, and C++. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol.\u00a03016, pp. 51\u201372. Springer, Heidelberg (2004)"},{"key":"18_CR16","doi-asserted-by":"crossref","unstructured":"Taha, W.: Domain-specific languages. In: Proceedings of International Conference on Computer Engineering and Systems (ICCES 2008) (2008)","DOI":"10.1109\/ICCES.2008.4772953"},{"key":"18_CR17","doi-asserted-by":"crossref","unstructured":"Whaley, R.C., Dongarra, J.: Automatically Tuned Linear Algebra Software (ATLAS). In: Proc. Supercomputing (1998), math-atlas.sourceforge.net","DOI":"10.1109\/SC.1998.10004"},{"key":"18_CR18","doi-asserted-by":"crossref","unstructured":"Im, E.J., Yelick, K., Vuduc, R.: Sparsity: Optimization framework for sparse matrix kernels. Int\u2019l. J. High Performance Computing Applications\u00a018(1) (2004)","DOI":"10.1177\/1094342004041296"},{"issue":"2","key":"18_CR19","first-page":"216","volume":"93","author":"M. Frigo","year":"2005","unstructured":"Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. of the IEEE, special issue on Program Generation, Optimization, and Adaptation\u00a093(2), 216\u2013231 (2005)","journal-title":"Proc. of the IEEE, special issue on Program Generation, Optimization, and Adaptation"},{"key":"18_CR20","doi-asserted-by":"crossref","unstructured":"Frigo, M.: A fast Fourier transform compiler. In: Proc.\u00a0ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI), pp. 169\u2013180 (1999)","DOI":"10.1145\/301618.301661"},{"key":"18_CR21","doi-asserted-by":"crossref","unstructured":"Baumgartner, G., Auer, A., Bernholdt, D.E., Bibireata, A., Choppella, V., Cociorva, D., Gao, X., Harrison, R.J., Hirata, S., Krishanmoorthy, S., Krishnan, S., Lam, C.C., Lu, Q., Nooijen, M., Pitzer, R.M., Ramanujam, J., Sadayappan, P., Sibiryakov, A.: Synthesis of high-performance parallel programs for a class of ab initio quantum chemistry models. Proc. of the IEEE, special issue on Program Generation, Optimization, and Adaptation\u00a093(2) (2005)","DOI":"10.1109\/JPROC.2004.840311"},{"issue":"1","key":"18_CR22","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1055531.1055532","volume":"31","author":"P. Bientinesi","year":"2005","unstructured":"Bientinesi, P., Gunnels, J.A., Myers, M.E., Quintana-Orti, E., van de Geijn, R.: The science of deriving dense linear algebra algorithms. TOMS\u00a031(1), 1\u201326 (2005)","journal-title":"TOMS"},{"key":"18_CR23","doi-asserted-by":"publisher","first-page":"535","DOI":"10.1016\/B978-044450813-3\/50011-4","volume-title":"Handbook of Automated Reasoning","author":"N. Dershowitz","year":"2001","unstructured":"Dershowitz, N., Plaisted, D.A.: Rewriting. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol.\u00a01, pp. 535\u2013610. Elsevier, Amsterdam (2001)"},{"key":"18_CR24","volume-title":"Logic, Programming and Prolog","author":"U. Nilsson","year":"1995","unstructured":"Nilsson, U., Maluszynski, J.: Logic, Programming and Prolog, 2nd edn. John Wiley & Sons Inc., Chichester (1995)","edition":"2"},{"key":"18_CR25","volume-title":"Functional Programming","author":"A.J. Field","year":"1988","unstructured":"Field, A.J., Harrison, P.G.: Functional Programming. Addison-Wesley, Reading (1988)"},{"key":"18_CR26","doi-asserted-by":"publisher","DOI":"10.1137\/1.9781611970999","volume-title":"Computational Framework of the Fast Fourier Transform","author":"C. Loan Van","year":"1992","unstructured":"Van Loan, C.: Computational Framework of the Fast Fourier Transform. SIAM, Philadelphia (1992)"},{"issue":"1\u20132","key":"18_CR27","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/S0167-8191(00)00087-9","volume":"27","author":"R.C. Whaley","year":"2001","unstructured":"Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimization of software and the ATLAS project. Parallel Computing\u00a027(1\u20132), 3\u201335 (2001)","journal-title":"Parallel Computing"},{"key":"18_CR28","doi-asserted-by":"crossref","unstructured":"Yotov, K., Li, X., Ren, G., Garzaran, M., Padua, D., Pingali, K., Stodghill, P.: A comparison of empirical and model-driven optimization. Proc. of the IEEE, special issue on Program Generation, Optimization, and Adaptation\u00a093(2) (2005)","DOI":"10.1109\/JPROC.2004.840444"},{"key":"18_CR29","first-page":"20","volume-title":"Supercomputing 1990: Proceedings of the 1990 conference on Supercomputing","author":"R.W. Johnson","year":"1990","unstructured":"Johnson, R.W., Huang, C.H., Johnson, J.R.: Multilinear algebra and parallel programming. In: Supercomputing 1990: Proceedings of the 1990 conference on Supercomputing, pp. 20\u201331. IEEE Computer Society Press, Los Alamitos (1990)"},{"key":"18_CR30","unstructured":"Voronenko, Y.: Library Generation for Linear Transforms. PhD thesis, Electrical and Computer Engineering, Carnegie Mellon University (2008)"},{"key":"18_CR31","doi-asserted-by":"crossref","unstructured":"Voronenko, Y., de Mesmay, F., P\u00fcschel, M.: Computer generation of general size linear transform libraries. In: Intl. Symposium on Code Generation and Optimization, CGO (2009)","DOI":"10.1109\/CGO.2009.33"},{"key":"18_CR32","doi-asserted-by":"crossref","unstructured":"Batcher, K.: Sorting networks and their applications. In: Proc. AFIPS Spring Joint Comput. Conf., vol.\u00a032, pp. 307\u2013314 (1968)","DOI":"10.1145\/1468075.1468121"},{"issue":"2","key":"18_CR33","doi-asserted-by":"publisher","first-page":"260","DOI":"10.1109\/TIT.1967.1054010","volume":"13","author":"A. Viterbi","year":"1967","unstructured":"Viterbi, A.: Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Transactions on Information Theory\u00a013(2), 260\u2013269 (1967)","journal-title":"IEEE Transactions on Information Theory"},{"key":"18_CR34","unstructured":"de Mesmay, F., Chellappa, S., Franchetti, F., P\u00fcschel, M.: Computer generation of efficient software Viterbi decoders: submitted for publication"},{"key":"18_CR35","unstructured":"Carrara, W.G., Goodman, R.S., Majewski, R.M.: Spotlight Synthetic Aperture Radar: Signal Processing Algorithms. Artech House (1995)"},{"key":"18_CR36","doi-asserted-by":"crossref","unstructured":"McFarlin, D., Franchetti, F., Moura, J.M.F., P\u00fcschel, M.: High performance synthetic aperture radar image formation on commodity architectures. In: SPIE Conference on Defense, Security, and Sensing (2009)","DOI":"10.1117\/12.818399"},{"key":"18_CR37","doi-asserted-by":"crossref","unstructured":"Franchetti, F., Voronenko, Y., Milder, P.A., Chellappa, S., Telgarsky, M., Shen, H., D\u2019Alberto, P., de Mesmay, F., Hoe, J.C., Moura, J.M.F., P\u00fcschel, M.: Domain-specific library generation for parallel software and hardware platforms. In: NSF Next Generation Software Program workshop, NSFNGS (2008)","DOI":"10.1109\/IPDPS.2008.4536398"},{"key":"18_CR38","unstructured":"Franchetti, F., P\u00fcschel, M.: Short vector code generation for the discrete Fourier transform. In: Proc.\u00a0IEEE Int\u2019l. Parallel and Distributed Processing Symposium (IPDPS), pp. 58\u201367 (2003)"},{"key":"18_CR39","doi-asserted-by":"crossref","unstructured":"Franchetti, F., Voronenko, Y., P\u00fcschel, M.: Loop merging for signal transforms. In: Proc. Programming Language Design and Implementation (PLDI), pp. 315\u2013326 (2005)","DOI":"10.1145\/1064978.1065048"},{"key":"18_CR40","unstructured":"The GAP Team University of St.\u00a0Andrews, Scotland: GAP\u2014Groups, Algorithms, and Programming (1997), http:\/\/www-gap.dcs.st-and.ac.uk\/~gap\/"},{"key":"18_CR41","unstructured":"Intel: Math Kernel Library 10.0, Reference Manual"},{"key":"18_CR42","unstructured":"Goto, K.: GotoBLAS 1.26 (2008), http:\/\/www.tacc.utexas.edu\/resources\/software\/#blas"},{"key":"18_CR43","unstructured":"Hackenberg, D.: Fast matrix multiplication on Cell (SMP) systems, http:\/\/www.tu-dresden.de\/zih\/cell\/matmul"},{"key":"18_CR44","unstructured":"Rudin, J.A.: Implementation of polar format SAR image formation on the IBM Cell Broadband Engine. In: Proc.\u00a0High Performance Embedded Computing (HPEC) (2007)"},{"key":"18_CR45","unstructured":"Karn, P.: FEC library version 3.0.1 (August 2007), http:\/\/www.ka9q.net\/code\/fec\/"},{"key":"18_CR46","unstructured":"de Mesmay, F.: Online generator for Viterbi decoders (2008), http:\/\/www.spiral.net\/software\/viterbi.html"}],"container-title":["Lecture Notes in Computer Science","Domain-Specific Languages"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-03034-5_18","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,8]],"date-time":"2021-10-08T00:53:42Z","timestamp":1633654422000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-03034-5_18"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642030338","9783642030345"],"references-count":46,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-03034-5_18","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009]]}}}