XPS: EXPL: Enabling An Ecosystem of Parallel Programming Abstractions
XPS: EXPL: Enabling An Ecosystem of Parallel Programming Abstractions
批准号:
1628929
负责人:
Eric Van Wyk
金额:
$29.58万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2016
资助国家:
美国
项目状态:
已结题
起止时间:
2016-09-01 至 2021-12-31
中文摘要
所有现代计算机,从智能手机到超级计算机,都有多个处理单元。由于编写有效使用这些资源的程序非常困难,因此创建了许多显示各种语言抽象的编程语言。“正确的”抽象集取决于许多因素,包括手头应用程序的性质、程序员的熟练程度、期望的性能程度和实现它所需的努力。对于这项研究,智力上的优点在于创建支持并行编程语言抽象生态系统的工具和语言规范。它们将由独立的各方开发,并安全、自动地导入到程序员的编译器中,这样程序员就可以挑选他们认为最能满足自己需求的语言特性。该项目更广泛的意义和重要性在于为编写并行程序提供了一种变革性的方法和支持工具,它极大地简化了新的并行编程和特定领域语言特性的开发,因为它允许研究人员将精力集中在设计和实现新的抽象上。通过使程序员更容易使用和试验作为可组合语言扩展分发的新特性,他们可以用更少的努力编写高性能和正确的并行程序。提议的方法将使用基于上下文无关语法(用于指定具体语法)和属性语法(用于指定语义分析、优化和代码生成)的C编程语言规范。这定义了导入并行编程语言扩展的宿主语言。语言扩展也在这些形式化中指定,因为它们很容易与宿主语言和其他扩展组合在一起。语言扩展的模块化分析确保程序员选择的扩展的组合将是成功的,并导致编译器不会异常终止。令人感兴趣的是,在这种可组合的语言扩展方法中,新的和现有的语言抽象可以在多大程度上实现。
英文摘要
All modern computers, from smart phones to supercomputers, have multiple processing units. Since writing programs that effectively use these resources is notoriously difficult, many programming languages, displaying a wide variety of linguistic abstractions, have been created. The "right" set of abstractions depends on many factors, ranging from the nature of the application at hand, the sophistication of the programmer, and the degree of performance desired and effort required to achieve it. For this research, the intellectual merits are in the creation of tools and language specifications that support an ecosystem of parallel programming language abstractions. These are to be developed by independent parties and safely and automatically imported into a programmer's compiler so that programmers can pick and choose the language features that they feel best meet their needs. The project's broader significance and importance are in a transformative methodology and supporting tools for writing parallel programs, one which dramatically simplifies the development of new parallel programming and domain-specific language features because it allows researchers to focus their efforts on the design and implementation of new abstractions. By making it easier for programmers to use and experiment with new features, distributed as composeable language extensions, they can write performant and correct parallel programs with less effort.The proposed approach will use a specification of the C programming language based on context free grammars (for specifying concrete syntax) and attribute grammars (for specifying semantic analysis, optimization, and code generation). This defines the host language into which parallel programming language extensions are imported. Language extensions are also specified in these formalisms as they easily compose with the host language and other extensions. Modular analyses of the language extensions ensure that the composition of the programmer's chosen extensions will be successful and result in a working compiler that will not terminate abnormally. Of interest is the degree to which new and existing language abstractions can be realized in this composable approach to language extension.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SI2-SSE: Collaborative: Extensible Languages for Sustainable Development of High Performance Software in Materials Science
-
批准号:1047961
-
项目类别:Standard Grant
-
资助金额:$30.0万
-
财政年份:2010
-
负责人:Eric Van Wyk
-
依托单位:
DC: Medium: Collaborative Research: ELLF: Extensible Language and Library Frameworks for Scalable and Efficient Data-Intensive Applications
-
批准号:0905581
-
项目类别:Standard Grant
-
资助金额:$73.0万
-
财政年份:2009
-
负责人:Eric Van Wyk
-
依托单位:
CAREER: An Extensible Compiler Framework for Modular Seamless Language Extensions
-
批准号:0347860
-
项目类别:Standard Grant
-
资助金额:$41.1万
-
财政年份:2004
-
负责人:Eric Van Wyk
-
依托单位:
海外基金