A data flow language to develop high performance computing DSLs

作者: Eduard Ayguade , Vicenc Beltran , Alejandro Fernandez , Sergi Mateo , Tomasz Patejko

DOI: 10.5555/2691166.2691168

关键词: ScalaDomain knowledgeProgramming paradigmDistributed computingProgrammerData flow diagramSupercomputerComputer scienceScalability

摘要: Developing complex scientific applications on high performance systems requires both domain knowledge and expertise in parallel distributed programming models. In addition, modern are heterogeneous, thus composed of multicores accelerators, which despite being efficient powerful, harder to program. Domain-Specific Languages (DSLs) a promising approach hide the complexity HPC boost programmer's productivity. However, huge cost implementing scalable DSLs is hindering its adoption for most domains. Addressing such problems, we present Data Flow Language (DFL), DSL designed exploit heterogeneous systems. DFL abstracts key concepts as SMP tasks multicores, kernels accelerators high-level operations computing. leverages hybrid MPI/OmpSs data-flow model efficiently implement previous concepts. All these features make suitable target language other DSLs. it also fast prototyping develop

参考文章(26)
Martin Fowler, Domain-specific languages ,(2010)
Brian W. Kernighan, Alfred V. Aho, Peter J. Weinberger, The AWK Programming Language ,(1988)
Prabhanjan Kambadur, Douglas Gregor, Andrew Lumsdaine, Amey Dharurkar, Modernizing the C++ Interface to MPI Recent Advances in Parallel Virtual Machine and Message Passing Interface. pp. 266- 274 ,(2006) , 10.1007/11846802_39
Martin Odersky, Lex Spoon, Bill Venners, Programming in Scala ,(2008)
Walid Taha, A Gentle Introduction to Multi-stage Programming Lecture Notes in Computer Science. pp. 30- 50 ,(2004) , 10.1007/978-3-540-25935-0_3
Anders Logg, Kristian B. Ølgaard, Marie E. Rognes, Garth N. Wells, FFC: the FEniCS form compiler Automated Solution of Differential Equations by the Finite Element Method. pp. 227- 238 ,(2012) , 10.1007/978-3-642-23099-8_11
Jan Ciesko, Sergi Mateo, Xavier Teruel, Vicenç Beltran, Xavier Martorell, Rosa M. Badia, Eduard Ayguadé, Jesús Labarta, Task-Parallel Reductions in OpenMP and OmpSs international workshop on openmp. pp. 1- 15 ,(2014) , 10.1007/978-3-319-11454-5_1
Jon Bentley, Programming pearls: little languages Communications of The ACM. ,vol. 29, pp. 711- 721 ,(1986) , 10.1145/6424.315691
Florentino Sainz, Sergi Mateo, Vicenc Beltran, Jose L. Bosque, Xavier Martorell, Eduard Ayguade, Leveraging OmpSs to Exploit Hardware Accelerators symposium on computer architecture and high performance computing. pp. 112- 119 ,(2014) , 10.1109/SBAC-PAD.2014.26