期刊文献+
共找到2篇文章
< 1 >
每页显示 20 50 100
面向SW26010-Pro众核处理器的新型矩阵存储格式及稀疏矩阵向量乘(SpMV)算法研究
1
作者 王萃 刘芳芳 +2 位作者 马文静 赵玉文 胡力娟 《计算机学报》 北大核心 2025年第6期1290-1304,共15页
稀疏矩阵向量乘(Sparse Matrix-Vector Multiplication,SpMV)是高性能计算、人工智能大模型领域中的关键操作,其性能通常对应用程序整体性能的提升具有重要影响。高效的稀疏矩阵存储格式是影响SpMV性能的重要因素,然而,现有的稀疏矩阵... 稀疏矩阵向量乘(Sparse Matrix-Vector Multiplication,SpMV)是高性能计算、人工智能大模型领域中的关键操作,其性能通常对应用程序整体性能的提升具有重要影响。高效的稀疏矩阵存储格式是影响SpMV性能的重要因素,然而,现有的稀疏矩阵存储格式主要通过压缩零元素以减少访存,未充分利用非零元素的数值规律,因此仍有进一步压缩和优化的空间。本文通过对压缩稀疏行(Compressed Sparse Row,CSR)存储格式中非零元数组内的重复元素进行进一步的压缩,提出了一种新型的稀疏矩阵存储格式(Further Compressed Sparse Row,FCSR),并设计了从CSR到FCSR格式转换的异构并行算法,以尽量减少格式转换带来的开销。同时,本文面向SW26010-Pro众核处理器,设计了基于FCSR存储格式的SpMV异构并行算法,对SpMV进行了细粒度的任务划分和并行优化设计,探究了五种向量x的间接访存方式,并通过双缓冲技术对算法进行了优化。最后,本文选用SuiteSparse矩阵集中的稀疏矩阵进行了测试,实验结果表明,本文提出的基于FCSR存储格式的异构众核SpMV算法相较于主核版SpMV算法具有明显的性能提升,最高加速比达到43.11,平均加速比为7.56,测试矩阵最高带宽利用率达到了91.13%,平均带宽利用率为26.27%。另外,本文对基于FCSR存储格式和CSR存储格式的SpMV算法性能进行了比较,在两者均得到充分优化的前提下,基于FCSR存储格式的SpMV算法相较于基于CSR存储格式的SpMV算法性能的平均加速比达到1.19。 展开更多
关键词 稀疏矩阵向量乘 SW26010-Pro众核处理器 新型矩阵存储格式 并行优化 双缓冲技术
在线阅读 下载PDF
异常信息敏感的框架API生命周期模型构造
2
作者 燕季薇 黄进豪 +1 位作者 杨恒钦 严俊 《计算机学报》 EI CAS CSCD 北大核心 2024年第9期1989-2008,共20页
大型软件系统的实现依赖于底层框架或第三方库,但这些复杂的框架/库代码在演化升级时往往独立于其调用者,为上层软件的质量保障带来挑战.例如,框架/库代码演化时新增和删除API、更改API的代码语义等行为会导致框架/库代码的不同版本之... 大型软件系统的实现依赖于底层框架或第三方库,但这些复杂的框架/库代码在演化升级时往往独立于其调用者,为上层软件的质量保障带来挑战.例如,框架/库代码演化时新增和删除API、更改API的代码语义等行为会导致框架/库代码的不同版本之间不兼容,进而在上层应用开发者更新版本时,影响应用代码的正确性.为应对这一问题,需精准提取框架/库代码API的演化过程,形成演化报告,协助上层应用开发者选择兼容的版本或快速进行代码适配.其中,框架/库代码API的演化过程分析对应着框架API生命周期模型构造.现有工作中的API生命周期模型主要关注API的存在性变动,而未考虑特定代码语义变更对开发者的影响,特别是异常相关代码带来的语义变更,给上层软件系统带来隐患.为此,本文采用面向Java字节码的静态分析方法,识别框架API中的异常抛出行为并为其生成异常摘要报告,通过多轮流式匹配策略获取异常信息的变更情况,最终为框架/库代码构造异常信息敏感的API生命周期模型.该方法:(1)通过控制依赖语句切片提取异常抛出语句的关键触发条件,采用参数推断策略将局部变量的约束条件转换为仅与外部输入参数相关的异常前断言,并基于自底向上的摘要传递实现跨过程异常摘要提取;(2)通过关键信息精准匹配和自适应模糊匹配策略,分析异常摘要信息的新增、删除和修改情况,最终得到异常敏感的API生命周期模型(共涉及七种API变更形式).基于该方法,实现了基于Java字节码分析的API生命周期提取工具JavaExP.与现有最新方法相比,JavaExP的异常摘要信息提取准确性(F1值)提高了67%,分析用时减少了87%.对真实项目的API生命周期演化分析表明,与异常不敏感的API生命周期模型相比,采用异常敏感的模型时,API发生变动的比例提高了18%.在75,433个被分析的API中,约有20%API的异常抛出行为至少发生过一次改变,这些API共涉及超过七千多处独立的异常变更.在多个项目上的分析结果表明,异常敏感的模型构造能够更加精准地描述API的演化过程. 展开更多
关键词 静态分析 代码演化 Java异常摘要 API生命周期
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部