课题基金 / 基金详情

Polyhedral Representation of Dataflow Programs

Polyhedral Representation of Dataflow Programs
数据流程序的多面体表示
批准号:
1965733
负责人:
金额:
$0.0万
依托单位:
依托单位国家:
英国
项目类别:
Studentship
财政年份:
2016
资助国家:
英国
项目状态:
已结题
起止时间:
2016 至 --

项目摘要

项目成果

相似基金

相关文献

中文摘要
翻译
并行编程一直比串行(单核)计算机编程困难得多,这可能严重影响程序员的工作效率。计算机硬件也变得越来越复杂,如今的计算机,从手持设备到超级计算机,由各种异构的可编程设备组成,包括多核cpu和许多加速器,如gpgpu(通用图形编程单元),甚至可编程硬件(以fpga -现场可编程门阵列的形式)。这些发展使得程序员的任务更加困难。将计算划分到一组异构设备上——给每个设备中的每个核心适当的工作量,以最小化总体执行时间——现在是一个主要问题,可以描述为“粒度”问题。提供自动化支持来解决这个问题对于提高(并行)程序员的生产力是至关重要的。理想的解决方案是允许程序员用一种清晰而简洁的形式表达他们的算法,同时允许结果程序在任何异构计算机上有效地执行(提供代码和性能的可移植性)。这个博士项目正在寻求整合两种有前途的方法来解决这个问题。基于任务的数据流语言为程序员提供了一种高级语言来表达他们的算法,而不会过度限制低级机器代码中的可能实现:它们提供了有用的信息,编译器和运行时系统可以利用这些信息来生成快速运行的代码。多面体计算模型是一种数学形式,它允许应用程序转换,从高级到低级,为特定的计算设备产生有效的代码。该项目正在研究基于任务的编程语言的程序表示,这些语言将允许多面体技术尽可能广泛地应用,同时针对多设备、异构系统。这种方法为解决粒度问题提供了一条很有前途的途径,从而提高了程序员的工作效率。
英文摘要
Parallel programming has always been significantly harder than programming for a sequential (single core) computer, and this can severely impacting programmer productivity. Computer hardware has also become increasingly complex, and nowadays computers, from hand-held devices to supercomputers, consist of a variety of heterogeneous, programmable devices, including multicore CPUs along with a number of accelerators, such as GPGPUs (General Purpose Graphics Programming Units) and even programmable hardware (in the form of FPGAs - Field Programmable Gate Arrays). These developments make the programmer's task even more difficult.Partitioning a computation over a set of heterogeneous devices - giving each core in each device an appropriate amount of work so as to minimise the overall execution time - is now a major problem which may be described as the "granularity" problem. Providing automated support to address this problem is vital to improving (parallel) programmer productivity. The ideal solution would allow programmers to express their algorithms in a clear and concise form while allowing the resulting program to execute efficiently on _any_ heterogeneous computer (providing portability of both code _and_ performance).This PhD project is looking to integrate two promising approaches to address this problem. Task-based dataflow languages provide programmers with a high-level language in which to express their algorithms without over-constraining the possible implementations in low-level machine code: they provide useful information that compilers and run-time systems can exploit to produce fast running code. The Polyhedral model of computation is a mathematical formalism which allows the application of program transformations, from high-level to low-level, to produce efficient code for a particular computing device. This project is investigating program representations for task-based programming languages that will allow polyhedral techniques to be applied as generally as possible, while targeting multi-device, heterogeneous systems. This approach provides a promising route to solving the granularity problem and thus improve programmer productivity.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
海外基金