1974年1月创刊(月刊)
主管/主办:重庆西南信息有限公司
ISSN 1002-137X
CN 50-1075/TP
CODEN JKIEBK
编辑中心
    高性能计算 栏目所有文章列表
    (按年度、期号倒序)
        一年内发表的文章 |  两年内 |  三年内 |  全部
    Please wait a minute...
    1. 并行计算学科发展历程
    陈国良, 张玉杰
    计算机科学    2020, 47 (8): 1-4.   https://doi.org/10.11896/jsjkx.200600027
    摘要 (442)   PDF (1062KB) (1019)  
    计算科学已经与传统的理论科学和实验科学并列成为第三门科学, 它们相辅相成地推动着人类科技的发展和社会文明的进步。21世纪科学和经济上的关键问题研究前沿, 有可能通过熟练地掌握先进的计算技术并运用计算科学得到解决。高性能计算是一个国家综合国力的体现, 是支撑国家实力持续发展的关键技术之一, 在国防安全、高科技发展和国民经济建设中占有重要的战略地位。经过40多年的发展, 围绕并行计算机、并行算法和并行程序设计, 融合并行计算机体系结构、数值和非数值的并行算法设计及并行程序设计于一体, 形成了并行计算(Parallel Computing)“结构-算法-编程-应用”完整的学科体系与系统课程框架。文中回顾了作者在并行计算学科的发展方面所做的工作, 并对非数值计算中的计算方法和新型的非冯诺依曼结构计算机体系结构的研究进行了介绍。
    参考文献 | 相关文章 | 多维度评价
    2. 异构混合并行计算综述
    阳王东, 王昊天, 张宇峰, 林圣乐, 蔡沁耘
    计算机科学    2020, 47 (8): 5-16.   https://doi.org/10.11896/jsjkx.200600045
    摘要 (508)   PDF (3592KB) (2312)  
    随着人工智能和大数据等计算机应用对算力需求的迅猛增长以及应用场景的多样化, 异构混合并行计算成为了研究的重点。文中介绍了当前主要的异构计算机体系结构, 包括CPU/协处理器、CPU/众核处理器、CPU/ASCI和CPU/FPGA等;简述了异构混合并行编程模型随着各类异构混合结构的发展而做出的改变, 异构混合并行编程模型可以是对现有的一种语言进行改造和重新实现, 或者是现有异构编程语言的扩展, 或者是使用指导性语句异构编程, 或者是容器模式协同编程。分析表明, 异构混合并行计算架构会进一步加强对AI的支持, 同时也会增强软件的通用性。文中还回顾了异构混合并行计算中的关键技术, 包括异构处理器之间的并行任务划分、任务映射、数据通信、数据访问, 以及异构协同的并行同步和异构资源的流水线并行等。根据这些关键技术, 文中指出了异构混合并行计算面临的挑战, 如编程困难、移植困难、数据通信开销大、数据访问复杂、并行控制复杂以及资源负载不均衡等。最后分析了异构混合并行计算面临的挑战, 指出目前关键的核心技术需要从通用与AI专用异构计算的融合、异构架构的无缝移植、统一编程模型、存算一体化、智能化任务划分和分配等方面进行突破。
    参考文献 | 相关文章 | 多维度评价
    3. 基于新型语言机制的异构集群应用通信优化方法
    崔翔, 李晓雯, 陈一峯
    计算机科学    2020, 47 (8): 17-15.   https://doi.org/10.11896/jsjkx.200100124
    摘要 (310)   PDF (1901KB) (571)  
    与传统集群相比, 异构集群具有较高的性价比。但相比迅速发展的硬件技术, 当前软件技术仍然落后, 不能适应不断更新的异构硬件和超大规模的并行计算环境。当前普遍采用的解决方案是直接使用针对不同硬件的并行编程工具, 这一组合方案的缺点是编程层次低, 开发、修改与调试困难。文中介绍了新型语言机制用于描述数据与线程的多维规则结构、排列方式以及通讯模式, 提出了基于新型语言机制的不同类型异构系统之间的软件移植和优化方法。以直接法湍流模拟为例, 实现了应用在不同异构系统上的通信优化和快速移植。
    参考文献 | 相关文章 | 多维度评价
    4. 一种基于模拟退火的动态部分可重构系统划分-调度联合优化算法
    王喆, 唐麒, 王玲, 魏急波
    计算机科学    2020, 47 (8): 26-31.   https://doi.org/10.11896/jsjkx.200500110
    摘要 (211)   PDF (1476KB) (446)  
    基于FPGA的动态部分可重构(Dynamically Partially Reconfigurable, DPR)技术因在处理效率、功耗等方面具有优势, 在高性能计算领域得到广泛应用。DPR系统中的重构区域划分和任务调度决定了整个系统的性能, 因此如何对DPR系统的逻辑资源划分和调度问题进行建模, 并设计高效的求解算法是保证系统性能的关键。在建立划分和调度模型的基础上, 设计了基于模拟退火(Simulated Annealing, SA)的DPR系统划分-调度联合优化算法, 用于优化重构区域的划分方案和任务调度。文中提出了一种新型新解产生方法, 可有效跳过不可行解及较差解, 加快了对解空间的搜索并提高了算法的收敛速度。实验结果表明, 与混合整数线性规划(Mixed Integral Linear Programming, MILP)和IS-k两种算法相比, 提出的基于SA的算法的时间复杂度更低;且针对大规模应用, 该算法能够在较短的时间内获得较好的划分与调度结果。
    参考文献 | 相关文章 | 多维度评价
    5. 用数据驱动的编程模型并行多重网格应用
    郭杰, 高希然, 陈莉, 傅游, 刘颖
    计算机科学    2020, 47 (8): 32-40.   https://doi.org/10.11896/jsjkx.200500093
    摘要 (190)   PDF (3157KB) (510)  
    多重网格是数值计算领域中一种加速迭代收敛的重要技术, 被广泛应用。近年来, 大规模并行计算系统向多核化、异构众核化发展, 多重网格应用也亟须适应新的并行计算平台。文中采用一种数据驱动的任务并行语言AceMesh将遗产的NAS MG程序移植到“天河二号”和“神威·太湖之光”两种不同架构的国产超算平台上, 展示了使用该语言对计算循环、通信代码的任务并行方法, 验证了AceMesh语言的跨平台性能可移植性。文中定性地分析了该应用的任务图特征和计算-通信重叠的特点, 并分别在两个并行计算平台上将其与现有编程模型MPI/OpenMP和MPI/OpenACC进行性能对比, 分析了AceMesh任务图并行程序对访存性能和通信-计算重叠的优化效果。实验数据表明, 相比传统的并行编程方法, AceMesh在“神威·太湖之光”和“天河二号”平台上分别最高获得了1.19X和1.85X的性能加速。最后, 针对该应用在不同网格层的通信特点以及通信序列化导致大量通信不能隐藏的问题, 提出了未来的研究方向。
    参考文献 | 相关文章 | 多维度评价
    6. 负载均衡的处理器运算资源分配方法
    王国澎, 杨剑新, 尹飞, 蒋生健
    计算机科学    2020, 47 (8): 41-48.   https://doi.org/10.11896/jsjkx.191000148
    摘要 (135)   PDF (1828KB) (407)  
    现代超标量处理器通常设置有多套计算部件支持指令并行执行, 以提高程序的运行效率。运算资源分配策略在很大程度上决定了处理器能否充分利用计算部件并行加速计算, 具有重要作用。就指令调度以及运算资源分配问题而言, 当前的研究以软件编译优化方法居多。但编译优化是一种静态方法, 优化排布的指令无法再次改变次序, 且缺乏运行时信息, 灵活性不够。为了降低因运算资源分配不当导致的指令阻塞, 充分释放其运算能力, 从硬件自动调度和实现的角度分析了这个问题, 研究了对称情形和非对称情形下运算资源的细粒度自动分配方法, 进而提出了负载均衡的贪心分配策略。实验结果表明, 提出的运算资源分配方法可以有效减弱现代超标量处理器中指令发射不公平所带来的负面影响, 能更好地利用片上缓冲资源和计算资源, 且处理器中运算资源越多, 发射缓冲深度越大, 负载均衡方法获得的性能提升就越明显。
    参考文献 | 相关文章 | 多维度评价
    7. 面向语音分离的深层转导式非负矩阵分解并行算法
    李雨蓉, 刘杰, 刘亚林, 龚春叶, 王勇
    计算机科学    2020, 47 (8): 49-55.   https://doi.org/10.11896/jsjkx.190900202
    摘要 (168)   PDF (2394KB) (469)  
    非负矩阵分解(Non-negative Matrix Factorization, NMF)能保存语音信号的非负特征, 是用于语音分离的重要方法, 但该方法存在数据运算复杂、计算量太大的问题, 需要研究能减少计算时间的并行计算方法。针对语音分离预训练及分离过程的计算问题, 文中提出深层转导式非负矩阵分解并行算法, 综合考虑迭代更新过程的数据关联性, 设计了一种任务间和任务内多级并行算法。该并行算法在任务级将分解训练语音得到对应基矩阵的过程作为两个独立的任务进行并行计算;在任务内部进程级把矩阵按行列划分, 主进程把矩阵块分发到从进程, 从进程接收当前矩阵块并计算结果矩阵子块, 然后将当前进程矩阵块发送到下一进程, 实现第二个矩阵中每一个矩阵块在所有进程的遍历, 并计算结果矩阵对应子块的乘积, 最后由主进程收集从进程数据块;在线程级子矩阵乘法运算的过程中, 采取生成多线程, 通过共享内存交换数据计算子矩阵块的加速策略。该算法为首个实现深层转导式非负矩阵分解的并行算法。在天河二号平台上的测试结果表明, 在分离多说话人混合语音信号时, 相比串行程序, 所提出的并行算法能在不改变分离效果的前提下, 使得预训练过程中使用64个进程的加速比为18, 分离过程使用64个进程的对应加速比为24。相较于串行及MPI模型分离, 混合模型分离时间大大缩短, 从而证明了设计的并行算法可有效提高语音分离的效率。
    参考文献 | 相关文章 | 多维度评价
    8. 基于定点压缩技术的双层粒子网格算法的设计与优化
    程盛淦, 于浩然, 韦建文, 林新华
    计算机科学    2020, 47 (8): 56-61.   https://doi.org/10.11896/jsjkx.200200112
    摘要 (151)   PDF (1841KB) (363)  
    现代天体物理学的研究离不开大规模N-body模拟。N-body模拟常用的算法之一是粒子网格(Particle-Mesh, PM)算法, 但是PM算法需要消耗较多的内存容量。内存限制成为了N-body模拟在现代超算平台大规模扩展的瓶颈。因此, 文中使用了利用定点压缩技术减少内存消耗的方法, 将存储每个N-body粒子相空间的内存消耗减少到最低6个字节, 比传统PM算法低近一个数量级。文中实现了基于定点压缩技术的双层粒子网格算法, 并使用包括混合精度计算、通信优化在内的方法对其性能进行了优化。这些优化技术显著降低了定点压缩带来的性能损耗, 将压缩和解压在程序总耗时中的占比从21%降低至8%, 并且在核心计算热点上达到了最高2.3倍的加速效果, 使得程序在较低的内存消耗下保持较高的计算效率和扩展性。
    参考文献 | 相关文章 | 多维度评价
    9. 基于神经网络的循环分块大小预测
    池昊宇, 陈长波
    计算机科学    2020, 47 (8): 62-70.   https://doi.org/10.11896/jsjkx.191200180
    摘要 (337)   PDF (2981KB) (646)  
    循环程序的优化一直是程序优化的重点, 循环分块作为一种典型的循环程序优化技术已被广泛地研究和应用。分块大小的选择对循环程序的性能有着重要影响, 分块大小的选择复杂多变且高度依赖程序和硬件。传统的静态分析和启发式经验搜索的人工和时间成本过高, 缺少通用性和可移植性。为此, 考虑使用有良好高维表示特性的神经网络方法来学习程序与硬件复杂交互过程中分块大小与程序性能的隐含关联。从问题规模、循环结构、循环内操作的局部性等方面抽取出一组新的29维特征, 对问题规模为1024~2048的随机大小的6类内核程序(3维循环、2维数据)的数十万行示例进行实验。串行模型(TSS-T6)相比GCC-O2默认优化实现了6.64倍的平均加速比, 相比穷尽搜索实现了98.5%的平均最大可用性能, 相比Pluto默认分块优化实现了平均9.9%的性能提升。并行模型(TSSP-T6-Search)相比OpenMP默认优化实现了2.41倍的平均加速比, 相比穷尽搜索实现了91.7%的平均最大可用性能, 同时与Pluto默认分块并行优化相比得到了平均9%的性能提升。
    参考文献 | 相关文章 | 多维度评价
    10. 可变精度超越函数算法设计
    郝江伟, 郭绍忠, 夏媛媛, 许瑾晨
    计算机科学    2020, 47 (8): 71-79.   https://doi.org/10.11896/jsjkx.200200013
    摘要 (156)   PDF (3052KB) (458)  
    超越函数是基础数学函数库的主体部分, 其精度和性能决定着上层应用的精度和性能。针对超越函数的实现繁琐易错、应用精度需求各异等问题, 文中提出并实现兼顾通用性和函数数学特性的可变精度超越函数算法。依据超越函数的相似性, 构建“转换-归约-逼近-重建”算法模板, 实现常见的超越函数算法;并通过调整算法模板参数来控制误差, 生成不同精度版本的函数代码。实验验证, 所提算法能够生成常见超越函数的不同精度版本的函数代码, 且相对标准数学库超越函数具有性能优势。
    参考文献 | 相关文章 | 多维度评价
    首页 | 前页| 后页 | 尾页 第1页 共3页 共26条记录