期刊文献+
共找到4篇文章
< 1 >
每页显示 20 50 100
异构多核计算系统的Codelet任务调度策略 被引量:2
1
作者 裴颂文 吕春龙 +1 位作者 宁钟 顾春华 《计算机应用研究》 CSCD 北大核心 2019年第5期1433-1436,1440,共5页
Codelet数据流计算模型在处理大规模并行计算任务时效果显著,但该模型目前缺少在异构多核环境中的任务调度策略。因此,提出了一种在异构多核环境下基于蚁群算法的Codelet任务调度策略。该调度策略将启发式算法与蚁群算法相融合,在发挥... Codelet数据流计算模型在处理大规模并行计算任务时效果显著,但该模型目前缺少在异构多核环境中的任务调度策略。因此,提出了一种在异构多核环境下基于蚁群算法的Codelet任务调度策略。该调度策略将启发式算法与蚁群算法相融合,在发挥各自优势的同时克服了启发式算法不能得出最优解的缺陷以及蚁群算法初始信息匮乏的问题。实验结果表明,智能蚁群任务调度策略相比Codelet运行时系统中原生的动态调度和静态调度策略具有更高的执行效率。 展开更多
关键词 数据流计算 codelet模型 异构多核 蚁群算法 任务调度
在线阅读 下载PDF
申威处理器上数据流运行时系统的设计与实现 被引量:1
2
作者 张鹏飞 陈俊仕 +3 位作者 郑重 沈沛祺 安虹 许乐 《计算机工程》 CAS CSCD 北大核心 2023年第12期46-54,共9页
我国自主研发的新一代神威异构众核计算平台主要采用athread异构编程方法,athread异构编程属于大同步并行模型,难以充分挖掘程序中的细粒度并行性,其采用的同步方式难以实现众核上的任务负载均衡。数据流并行编程模型因其天然并行性、... 我国自主研发的新一代神威异构众核计算平台主要采用athread异构编程方法,athread异构编程属于大同步并行模型,难以充分挖掘程序中的细粒度并行性,其采用的同步方式难以实现众核上的任务负载均衡。数据流并行编程模型因其天然并行性、点对点同步的特点能够很好地解决上述问题。基于Codelet程序执行模型和申威主从核架构特点,设计并实现面向申威处理器的数据流运行时系统swTasklet,通过对Codelet功能的进一步细化和对Codelet机器模型到主从核的映射,避免从核阵列上的同步操作,减少同步开销;由主核完成从核计算任务的调度分配,将计算和同步操作分离,保证运行时系统可以和从核计算库的共用。实验以NPB LU程序和向量-向量加作为测试用例,采用相同的优化方法分别对swTasklet和athread实现进行并行化。实验结果表明:在规模较大情况下,LU程序的swTasklet实现版本比athread版本快16%,向量-向量加swTasklet实现版本比athread版本快1倍;使用swTasklet实现的LU并行版本较主核本取得了平均8倍以上的加速,而向量-向量加swTasklet版本较主核版本取得30倍左右的加速。 展开更多
关键词 申威异构处理器 数据流运行时系统 codelet程序执行模型 并行编程模型 众核加速
在线阅读 下载PDF
基于MLIR的数据流模型
3
作者 李金熹 尹首一 +1 位作者 魏少军 胡杨 《计算机工程与科学》 CSCD 北大核心 2024年第7期1151-1157,共7页
在冯诺依曼架构下,指令集的使用让软硬件得以解耦并各自飞速发展。然而,近年来并行多核架构加速器的热潮为冯诺依曼架构下的顺序编程模型带来了挑战。在顺序编程模型下设计而成的指令集缺乏对并行硬件的抽象,因此仅仅使用指令集已不能... 在冯诺依曼架构下,指令集的使用让软硬件得以解耦并各自飞速发展。然而,近年来并行多核架构加速器的热潮为冯诺依曼架构下的顺序编程模型带来了挑战。在顺序编程模型下设计而成的指令集缺乏对并行硬件的抽象,因此仅仅使用指令集已不能完全完成软硬件的解耦。人工智能软件编译栈领域需要新的编程模型,以对接顺序执行的编程平台和并行多核的硬件后端,并进一步探索并行硬件提供的优化机会。使用数据流模型作为编程模型,为顺序执行程序和并行硬件指令集的对接过程提供通用抽象,在指令集的基础上进一步实现软件前端与硬件后端的解耦。为确保项目的可复用性,将数据流模型以codelet dialect的形式实现在谷歌提出的编译器框架MLIR上。MLIR致力于整合碎片化的编译器生态,提高前后端对接流程的可复用性,在MLIR上实现的数据流模型将进一步提升MLIR系统的可复用性。 展开更多
关键词 数据流模型 端到端编译 MLIR
在线阅读 下载PDF
Principles to Support Modular Software Construction
4
作者 Jack B. Dennis 《Journal of Computer Science & Technology》 SCIE EI CSCD 2017年第1期3-10,共8页
The construction of large software systems is always achieved through assembly of independently written components -- program modules. For these software components to work together, they must share a common set of da... The construction of large software systems is always achieved through assembly of independently written components -- program modules. For these software components to work together, they must share a common set of data types and principles for representing structured data such as arrays of values and files. This common set of tools for creating and operating on data objects is provided by the infrastructure of the computer system: the hardware, operating system and runtime code. Because the nature and properties of these tools are crucial for correct operation of software components and their inter-operation, it is essential to have a precise specification that may be used for verifying correctness of application software on one hand, and to verify correctness of system behavior on the other. We call such a specification a program execution model (PXM). It is evident that the properties of the PXM implemented by a computer system can have serious impact on the ability of application programmers to practice modular software construction. This paper discusses the concept of program execution models and presents a set of principles that a PXM must satisfy to provide a sound basis for modular software construction. Because parallel program execution on computer systems with many processing units is an essential part of contemporary computing environments, the expression of parallelism and modular software construction using components involving parallel operations is included in this treatment. The conclusion is that it is possible to build computer systems that implement a PXM within which any parallel program may be used, unmodified, as a component for building more substantial parallel programs. 展开更多
关键词 program execution model data flow model codelet abstract architecture parallel computing
原文传递
上一页 1 下一页 到第
使用帮助 返回顶部