- 博客(170)
- 资源 (42)
- 收藏
- 关注
原创 多面体基准测试集PolyBench
化,直接能够在GPU 上并行化使用的测试集,是使用CUDA、OpenCL、HMPP。的手工优化没有进行额外的并行性发掘,而使用优化后的代码生成的kernel 数。循环合并等策略,工具将循环嵌套转换为可分块的并行循环,并映射到DCU 上,在性能测试中,根据DCU 线程束大小,默认循环分块大小为64。量更多,选择最优的分块大小,进一步充分利用DCU 的计算能力,并且使用更。大数据规模,DCU 分配更多的线程来计算,体现出DCU 内存带宽优势。例验证移植到DCU 平台及优化后的正确性,测试结果如表5.2 所示。
2025-06-12 00:15:00
435
原创 面向异构系统的多面体编译优化关键技术研究——李颖颖博士
1)需求背景说得很好。计算技术的不断更新使计算机体系结构的发展日新月异,计算机体系结构经历着从同构计算模式到异构计算模式的转变,不同处理器厂商之间在体系结构和编程模型方面的巨大差异给计算系统的应用推广带来巨大挑战。利用编译技术自动将串行程序转换为异构并行程序是解决这个问题的一种有效手段。基于多面体模型的编译技术被认为是程序自动并行化领域的一个研究热点。2)三个方面的研究成果(1) 以提升程序并行性和数据局部性为目标,本文研究了多面体编译优化的原理及流。
2025-06-12 00:15:00
456
原创 多面体优化,调度变换
摘要:多面体模型调度算法通过划分超平面优化程序并行性,Pluto算法以循环分块和最小化通信为目标进行多维仿射变换。代码生成阶段将调度映射为AST,生成主机和内核代码。面向DCU的源源编译分为Scops识别、并行性映射和代码生成三阶段,但实际应用表明多面体模型在大型程序优化中存在局限性,需结合AI编译和手工优化。研究指出基础编译、算子库改写仍是并行程序优化的有效路径。(149字)
2025-06-11 00:15:00
396
原创 多面体编译,具体操作模式
摘要:本文基于PET和ISL开源库实现多面体模型编译优化流程。首先利用PET库自动识别代码中的静态控制块并进行多面体建模,使用ISL分析依赖关系。然后通过ISL增量调度求解器生成调度树,识别并行循环,并映射到DCU架构。在代码生成阶段,将调度树转换为AST表达式,处理设备端数组声明、数据传输等节点。该流程实现了从串行代码到DCU并行代码的自动转换,提升程序并行性和数据局部性。(149字)
2025-06-11 00:15:00
184
原创 多面体编译的循环分块
本文探讨基于多面体模型的循环优化技术,重点分析循环分块在提升程序并行性和缓存命中率中的作用。研究通过ISL算法将循环迭代空间表示为多面体,并实施循环分块、交换等几何变换,以改善数据局部性。以一维stencil和矩阵乘为例,展示了沿特定方向分块消除依赖环的方法。同时指出PolyBench测试中采用Pluto算法生成调度树,将循环转换为可分块并行带的过程。该研究为国产DCU的编译优化提供了有效技术方案,显著提升了程序并行性能。
2025-06-11 00:15:00
365
原创 多面体模型-学习笔记2
1)多面体模型被应用于解决程序变换问题,并有效地推动了程序自动并行化等技术的发展。与传统的解决程序变换的方法相比,多面体模型具有许多优势[5]。多面体模型提供了一种强大的抽象,将每个语句的动态语句执行实例视作一个多面体中的一个整数坐标点,来推测需要执行的程序变换。利用这样的语句表示和准确的语句间依赖关系,可以依赖于线性代数和线性规划的数学语言来推断程序变换是否满足正确性。这种变换体现在代码生成中对语句执行实例之间的顺序重排,可以提升程序的数据局部性或程序并行性。2)
2025-06-10 00:15:00
692
原创 性能优化中,多面体模型基本原理
摘要:多面体编译技术通过几何建模实现程序优化,核心包括:(1)迭代域建模循环嵌套为N维空间;(2)语句实例表示为循环向量与静态语句的组合;(3)访问关系用仿射函数描述迭代空间到数据空间的映射;(4)依赖关系分析读写顺序约束;(5)调度函数重构执行顺序以提升并行性。该技术将程序抽象为多面体模型进行线性代数运算,通过几何操作实现循环变换,但实际实现复杂度较高。
2025-06-10 00:15:00
612
原创 读书笔记:Automatic Parallelization: Executing Sequential Programs on a Task-Based Parallel Runtime
摘要:近十年来并发编程研究迅速发展,主要呈现三种技术路径:1)新型并行编程语言(如X10、Chapel)通过内置并行结构和内存访问控制优化并行化;2)半自动并行化工具(Cilk、OpenMP)通过代码注释实现顺序程序并行改造;3)自动并行化技术聚焦循环结构(DO-ALL/ACROSS/PIPE)和分治算法,多面体模型和运行时推测成为关键技术。特别地,Java生态出现了JPar和ÆminiumGPU等编译器,后者通过AST转换将Map-Reduce操作编译为OpenCL内核。研究同时定义了非阻塞/阻塞/原子任
2025-06-09 00:15:00
1026
原创 Automatic Transformations forCommunication-Minimized Parallelization and LocalityOptimization in t
摘要:多面体模型为循环嵌套自动并行化提供了强大理论框架,其核心在于通过整数线性规划工具分析循环变换的正确性。研究提出了一种自动选择高效变换的方法,重点解决了分块并行化中的通信量最小化和数据重用优化问题。尽管多面体技术在依赖分析和代码生成方面取得进展,但实际应用中仍面临两大挑战:一是现有框架缺乏有效的粗粒度并行成本模型,二是难以自动选择最佳变换组合。研究采用Farkas引理处理仿射不等式约束,并通过δ_e(t)函数量化通信开销,但最终实现仍需解决SIMD优化和非平凡AST生成等技术瓶颈。扩展报告[3,4]提供
2025-06-09 00:15:00
433
原创 基于多面体模型源码到源码技术
自动推导,对于编译编译中的多面体,主要是做速度优化。还是用多面体,特殊形式,效率会高一点。基本上都是,实现过多面体,学习基本上也在用。编译前端,IF语句,是约束。LLVM前端,换成,传进去。首先,多面体是一个不等式组,IF,赋值是等式变换,循环展开就是IF+赋值语句。现在还用多面体,对称多包体,还是做程序程序分析,Fortran,神经网络。中循环合并与循环并行化的冲突,实现了一种启发式的并行映射优化方法,在。I,J,右上角,IJ两个没有交集,不会冲突。平面上,多面体,程序点,用多边形包住。
2025-06-09 00:15:00
861
原创 Polyhedral编译算法,自动并行化
在依次计算每层循环的调度,即一个一维仿射变换时,调度约束中有一部分的依赖关系将会得到满足,再进行下一个一维仿射变换的计算时,Feautrier算法考虑的约束与前面已经计算出来的那些一维仿射变换考虑的约束并不一致。通过将一个循环索引变量转换成其正部和负部的差,isl将原来 mS 维的整数线性规划问题转换为 2mS 维的整数线性规划问题,并且原来每个循环索引变量 ix 的的正部 ix+ 和负部 ix− 的系数都是非负整数,即在约束1-13下求解目标问题。isl调度算法的实现是Pluto算法的一个变种,即以。
2025-06-08 00:15:00
533
原创 gcc生成AST及DOT,调用图等
本文展示了使用GCC编译器生成中间代码分析文件的过程。首先演示了一个简单的C程序(计算1到10的和),然后用gcctest.c-fdump-tree-all-graph命令编译,生成大量中间文件(包括.dot格式的图形描述文件)。这些文件记录了编译器在不同优化阶段的中间表示(如013t.ompexp、224t.switchlower_O0等)。通过Graphviz工具将.dot文件转换为png图像(如dot-Tpngtest.c.012t.cfg.dot-o012t.png),可以可视化分析编译器的优化过程
2025-06-08 00:15:00
748
原创 gcc -fdump-tree-original-raw的输出
生成了a.out 和 test.c.004t.original。会生成更多文件,目前不知道这玩意 有什么用。所以得学习AST语法分析。这玩意可能就是AST树。这个函数调用也是要命了。
2025-06-08 00:15:00
1535
原创 pluto,自动并行相关算法
本文摘要:研究聚焦多面体编译技术的优化与创新。主要内容包括:(1)提出定制化多面体调度技术,针对不同硬件架构实现高性能优化;(2)改进Pluto算法,通过放松整数线性规划约束提升编译效率;(3)开发(U)TVPI子多面体调度技术,降低算法复杂度;(4)提出Pluto+算法扩展变换空间并证明完整性;(5)设计算法模板协调并行性与局部性优化;(6)构建集成SIMD、多核并行和数据局部性的三步框架;(7)研究多面体变换与矢量化的协同优化。实验表明,这些方法在PolyBench等基准测试中显著提升性能,部分编译时间
2025-06-07 00:15:00
392
原创 pluto, 自动并行化测试集, 原理
《多面体模型优化技术综述》摘要:本文探讨了多面体模型在程序优化中的应用,重点分析了Pluto算法及其相关技术。研究表明,该模型能够有效处理周期性边界条件下的LBM模拟,在特定案例中获得1.33倍加速。研究内容包括:1)将调度问题转化为参数线性规划;2)自动并行化与数据局部性优化框架;3)循环分块技术及其代价模型。尽管在SPECCPU2006等测试中表现良好,但大规模应用仍受限。文章还讨论了将循环依赖关系转化为多面体模型的方法,为解决并行计算中的数据局部性问题提供了新思路。
2025-06-07 00:15:00
444
原创 pluto,多面体,自动并行化
基础理论可以追溯到Karp、Miller和Winograd的《均匀递归方程的计算组织》(1968)13和P.Feautrier的《数组展开》(1988)10和《数组和标量参考的数据流分析》(1991)7等开创性贡献,并建立在80年代大图景出现之前,在循环变换(Lamport 12、Banerjee、Wolfe、Allen和Kennedy、Irigoin和Triolet 8等的工作)和收缩数组设计(Quinton、Rajopadhye、Delosme等的工作。数据映射(类似HPF),分布式内存的数据分布。
2025-06-06 01:21:51
411
原创 Fortran函数调用静态分析
本文展示了一个Fortran线性同余随机数生成器代码的分析过程。代码包含函数randlc和子程序vranlc、a1-a4,采用x_{k+1}=ax_k(mod2^46)算法生成(0,1)区间内的伪随机数。通过Python脚本StaticFunctionCall.py分析NPB3.3-SER测试目录中的randdp.f文件,成功识别出所有函数/子程序及其调用关系(如vranlc调用a1,a2调用a3等),并输出了各例程的位置信息。分析结果表明程序逻辑和依赖关系检测正确,验证了代码结构的完整性。
2025-06-05 00:30:00
383
原创 NPB UA中Fortran语法 ,函数调用前有goto用的标签
摘要:静态分析发现程序存在三个独立起始函数的问题,与预期不符。通过文件搜索确认在UA/adapt.f中两次出现find_refine函数调用(第30行和第696行)。分析表明源代码确实存在该函数,但调用时可能出现标签干扰,需要进一步处理函数调用前的标签问题。(99字)
2025-06-04 01:15:00
159
原创 graphviz, dot, Error: lost rA sA edge; 独立的模块
本文分析了多个有向图(dot文件)的结构优化过程。初始版本使用record形状节点时出现警告和边丢失问题(rA-sA、uB-vB)。尝试添加独立模块u888后,最终简化版本移除了rank设置,保留了核心节点关系(rA,sA,vB,t,uB,wB,tA)和u888模块,这可能是更理想的结构。整个过程展示了从复杂结构到精简设计的演变,解决了图形渲染问题。
2025-06-04 00:15:00
335
原创 graphviz, dot, 示例21-30
摘要:本文展示了10个不同的有向图(DOT语言)代码示例,涵盖多种图形可视化场景。包括基本节点连接(示例21-22)、表格结构(23)、时间线(24)、记录节点(25-27)、集群分组(28-29)以及复合集群连接(30)。这些示例演示了节点形状定制、边样式设置、标签格式化、颜色填充、子图集群等特性,体现了DOT语言在描述复杂关系图时的强大功能,适用于软件架构、流程分析、数据结构等可视化需求。
2025-06-03 00:15:00
983
原创 graphviz, dot,python批量生成,示例1-10
本文展示了使用Python脚本批量将DOT格式文件转换为PNG图像的方法,并列举了多种DOT语言的图形定义示例。这些示例涵盖了基本节点形状(菱形、盒子、圆形)、不同样式连线(虚线、隐藏线、无箭头)、文本格式(记录、纯文本、换行控制)、标签位置(顶部、HTML格式)、同层级节点排列以及子图嵌套结构(父子孙三级层级)。通过这些语法可以创建具有复杂结构和丰富样式的关系图,展现了DOT语言在图形可视化方面的强大灵活性。
2025-06-02 00:50:38
1517
原创 世上最新:windows安装graphviz, python,及测试
《Graphviz安装配置过程记录》摘要:用户在安装pydot时遇到问题后,从官网下载了Graphviz 12.2.1版本(包含64位/32位EXE安装包和ZIP压缩包)。安装时勾选了环境变量自动配置选项,验证安装成功时通过命令行查看版本信息(显示12.2.0版本)和插件配置情况。系统成功加载了多种布局引擎(dot/fdp等)和输出格式(png/svg/pdf等),在安装目录的bin文件夹中可见丰富的图形处理工具。整个过程反映了典型开发者的环境配置经历,包含软件版本选择、环境变量设置及安装验证等关键步骤。
2025-06-01 23:20:35
779
原创 2025年欧冠,恭喜巴黎,安慰国米
1)其实希望国米夺冠,巴黎就是暴发户。刚看了4:0,现在变成了5:0。2)姆巴佩估计哭死在厕所。4)恩贝克作为教练也很强。3)巴黎个人能力真强。
2025-06-01 04:51:05
190
原创 端午节一定要快乐
中国传统文化有问题,所有纪念日要么是团圆要么是纪念祖先,主打一个苦大仇深[偷笑],唯图没有反应活人快乐的诉求。节假日本来大家应该开开心心的。都是美好的祝福,想说啥说啥,管别人怎么想干嘛。本质上人家又不决定我们啥。清明节是春游,中秋是秋游,七夕是约会,重阳是登高望远,春节是团圆+冬游。端午节快乐[呲牙][庆祝][庆祝][庆祝]其实中国传统节日设计很合理。
2025-05-31 13:21:42
136
原创 全网最全!2023年度国家科学技术进步奖分析
排第一的:“深海一号”超深水大气田开发工程关键技术与应用。如“深海一号”超深水大气田开发工程关键技术与应用。海上风电安全高效开发成套技术和装备及产业化。这个太牛逼,没有办法,跟天河一号有得一拼。饮用水安全保障技术体系创建与应用。中国科学院19项,但是很多个所。6)关键词:关键技术。7)关键词:关键技术。
2025-05-29 20:41:48
86
原创 《Nature》正刊:有史以来被引用最多的研究论文,及评述
这篇论文提出了残差学习框架(ResNet),成功解决了深层神经网络训练困难的问题。通过引入“残差连接”,网络可以更高效地学习相对于输入的变化,使得深度高达152层的模型依然易于优化,并显著提升了图像识别准确率。这篇论文提出了一种全新的神经网络架构——Transformer,完全基于注意力机制,摒弃了以往依赖循环(RNN)或卷积(CNN)结构的复杂模型。1)根据拥有WoS的跨国公司Clarivate提供给《自然》杂志的数据,许多关于生物实验室技术的论文在有史以来被引用最多的论文中占据主导地位。
2025-05-26 13:47:41
616
原创 十年饮冰,难凉热血。世上最新的超级计算排行榜深度分析:2024年11月,全球超级计算排行榜TOP500前10名
Intel MAX 1台,Intel的加速器还没有死透,原来搞了KNL,MIC等,笑死。惠普 6台,我们以为HP已经死了,人家还活得好好的,主要是笔记本和服务器不弄了,在国内。Intel 1台,感觉网上Intel也快凉了。EuroHPC/CINECA,这是意大利的厂家,欧洲的HPC还没有死透。NVIDIA 2台,CUDA生态确实好,从市值就可以看出来,但是太贵了。少了中国,就少了很多乐趣,也不知道美国脑回路是什么样的。AMD MI250,MI300,6台。峰值性能 (PFlop/s)5)按照集成厂家分类。
2025-05-26 11:13:19
1737
原创 DEEPSEEK还挺会瞎扯蛋的,天河四号横空出世
截至2025年5月,超级计算机TOP500榜单的前10名可能包含以下系统(注:实际排名需以。4)哈哈,天河四号是飞腾CPU+华为昇腾加速器,蛮有想像力的。1)问:2025年超级计算TOP500排名前10。3)DEEPSEEK给出提榜单。华为一口老血喷在墙上。
2025-05-26 10:51:13
417
进制转换,十进制,十六进制之间的正确转换工具
2009-05-26
飞鸽传书,最好用的局域网通讯工具
2008-12-13
python-2.7.10.msi, win32
2015-11-15
Fortran77和90 95编程入门
2009-06-05
如何解决MobaXterm 无法自动保存新建Session,包含v20.3的Custom.mxtpro
2024-11-05
后摩尔时代国产高性能并行应用软件生态建设综述
2022-11-08
numpy-1.11.2-cp27-none-win32.whl
2016-10-08
python把0到n-1这些数随机打乱得到的一个数字序列
2018-07-08
numpy-1.11.2.tar.gz
2016-10-16
寒假趣事——滑雪大欢乐
2020-04-26
读《公主传奇》有感.docx
2020-04-26
PythonScript_1.0.8.0.msi
2016-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人