- 博客(240)
- 资源 (42)
- 收藏
- 关注
原创 pluto, main函数分析
该代码位于/home/a/src/a1.pluto/pluto/tool/main.cpp,引用了多个库文件,包括数学支持、Pluto框架相关以及OSL、CLAN和PET等外部库。项目包含简单和复杂两种构建方式,涉及循环优化和程序转换功能。主要处理程序分析、优化和转换任务,可能用于高性能计算领域的代码优化工作。
2025-07-22 20:22:12
144
原创 pluto代码分析,累死我了
结构体struct pet_scop在pet.h中,grep好像有点问题。使用PET或者CLan读取文件?这是啥玩意,输入是文件,输出是啥?1)main函数在tool/main.cpp里面。pluto_tile在lib/tile.c中。pluto代码其实很复杂了。要看懂,需要对代码进行仔细的分析。也不容易,需要深入了解代码和原理。一步一步,到底是怎么变换的。在lib/pluto.c中。在lib/pluto.c中。3)给各种函数疯狂赋值。
2025-07-22 20:21:10
382
原创 pluto makefile, and polycc , source code analysis
摘要:本文介绍了Ubuntu下打印当前屏幕的快捷键(Alt+PrintScreen),并分析了polycc编译脚本的工作原理。polycc是一个shell脚本,通过Makefile生成,调用pluto工具进行代码转换和优化(如并行化、循环展开等)。脚本包含参数处理、文件操作和错误处理逻辑,最终生成优化后的代码文件。实际编译命令示例展示了pluto工具的使用方式,该工具位于pluto/tool目录下,包含多个源代码和对象文件。
2025-07-19 00:00:00
390
原创 pluto, polycc, --help, example
Polycc 使用摘要 polycc 是一个基于多面体模型的循环优化编译器,主要功能包括: 支持多种依赖分析工具(libpet/clan)和 ILP 求解器(ISL/PIP) 提供丰富的优化选项:平铺(tile)、并行化(OpenMP)、向量化、循环展开等 典型使用方式:polycc input.c --pet -o output.c,其中--pet指定使用libpet进行多面体提取 示例显示对heat-2d.c进行优化时,自动检测到3层循环和11个依赖关系,完成平铺和调度优化 可通过--parallel选
2025-07-18 00:15:00
468
原创 pluto, polycc, titled, omp, test
摘要:使用gcc编译了heat-2d.c的原始版本、分块优化版本和并行版本,测试结果显示:原始版本执行时间39,823ms(4,018 MFLOPS),分块优化版本27,318ms(5,857 MFLOPS),4线程并行版本7,705ms(20,766 MFLOPS)。并行版本性能最优,分块优化也优于原始版本。编译过程中发现,若不使用PET参数,在提取多面体时会因第82行语法错误导致编译失败。
2025-07-18 00:15:00
259
原创 pluto, git submodule init, in ubuntu within VMvare
1)2)3)fatal:'polylib'4)5)
2025-07-17 00:15:00
328
原创 天知道:Ubuntu 22.04 desktop中文输入法:step by step
该文记录了在Ubuntu系统上安装中文输入法的过程:从设置语言区域、下载中文包,到安装ibus拼音输入法。作者吐槽了下载速度,并强调保留英文路径以便编程。尽管多次尝试设置和重启,最终仍未成功安装中文输入法,表达了安装过程的烦躁与无奈。文中穿插技术操作步骤和个人感受,展现了解决Linux系统问题的典型困扰。
2025-07-17 00:15:00
177
原创 pluto, polycc, test
本文展示了使用Pluto编译器对2D热传导代码进行优化的过程。首先通过heat-2d.c源文件生成了两个优化版本:heat-2d.tiled.c(平铺优化)和heat-2d.par.c(并行优化)。Pluto自动完成了依赖分析(耗时0.067s)、转换优化(0.016s)和代码生成(0.067s)等步骤,采用64的块大小进行分块处理。两种优化方案都进行了循环转换,包括时间维度的重新调度。最终使用gcc编译,添加-O3优化和本地架构标志,其中并行版本还启用了OpenMP支持。整个过程展示了从原始代码到优化版本
2025-07-16 14:31:51
888
原创 突然的自我:vmvare ubuntu ping不通怎么办?
摘要:遇到无法Ping通百度等网站的问题时,用户冲动删除了VMware中的Ubuntu虚拟机并重新安装。该操作忽略了时间因素可能带来的影响,反映出用户在技术故障处理时容易采取极端手段。建议遇到网络问题时先排查DNS、防火墙等常规设置,避免直接重装系统这种耗时且未必能解决问题的方案。
2025-07-16 00:15:00
139
原创 天河超算源码安装LLVM,天实录
这个cmake -E rm时出错了,感觉是删除文件时出错,确实没有权限删除 /usr/bin/ar,/usr/bin/ranlib。和BUG记录、算法分析等,安装软件的起居、婚丧、祭祀,巡幸等活动亦多载入,已编成的十二朝实录,篇幅不等,若十种之间相差颇为悬殊。5)目前看起来还可以,不知道会不会报那个什么6.5的错误。《天实录》,全称《天河历朝实录》,系天河历朝的官修。目前看起来编译是对的,主流编译器就有这个 好处。6)后面不知道为什么好慢,不知道啥原因。给出了解释,这个应该是权限的问题。
2025-07-15 00:15:00
1023
原创 sed -i 批量删除特定行
本文展示了使用sed命令清理测试日志文件的过程。通过7条sed命令删除了包含特定字符串(如"srun"、"include"、"error"等)和空行的内容,将文件从46KB缩小到9KB。清理后的0710-clean.txt仅保留pluto、polly和GCC/ICC/Clang编译器的测试结果,包括jacobi-1d-imper程序在不同编译器下的运行时间数据。对比原始0710.txt文件可见,该方法有效去除了队列信息、pragma警告等冗余内容,
2025-07-15 00:15:00
239
原创 GCC、ICC、clang、Pluto、LLVM polly性能对比
编译测试对比结果显示:GCC、ICC和Clang三大编译器各具优势。GCC兼容性最佳但优化稍弱;ICC在Intel平台数值计算中效率突出;Clang综合表现优异,在现代代码中效率领先。测试中不同文件的最优编译器不同,如jacobi-1d-imper.c在GCC下最快,而heat-1d.c则是Clang最优。Clang-O3polly优化效果不稳定,仅在部分循环代码中可能提升效率。建议根据具体项目需求选择编译器:科学计算优先ICC,跨平台开发选GCC/Clang,需结合代码类型实测验证。
2025-07-15 00:15:00
612
原创 pluto,Polybench测试及分析
大部分情况下pluto优化后的代码会有性能提升,有些特别复杂,就没有提升。打开代码,Pluto应该是把scop和endscop之间的代码进行了转换。把下面的几个宏定义代码贴进#include <polybench.h>中。把seidel-2d.c上面的部分替换成。7)其他也可以类似处理。
2025-07-14 00:15:00
645
原创 数值计算相关代码推荐美国University of South Carolina大学John Burkardt教授
allocatable_array是一个程序,它演示了C函数如何声明指向数组的指针,将其传递给函数,然后函数可以分配它并用数据填充它,然后通过参数列表将分配和初始化的数组返回给调用函数。asa172是OFlaherty和MacKenzie开发的一个库,它生成给定范围内的所有多维索引,模拟任意数量的嵌套循环的行为。这是应用统计算法172的一个版本;8字曲线,一个评估时间方程的程序,一个计算24小时统一日和太阳实际位置之间差异的公式,基于Brian Tung的C程序创建可以用gnuplot绘制的数据文件。
2025-07-14 00:15:00
656
原创 pluto,例子测试结果
本文对比了gcc、clang和icc三种编译器在多个基准测试程序中的编译运行表现。结果显示,icc在计算密集型任务(如矩阵乘法)中表现最优,matmul.c耗时仅3.41秒(gcc 18.96秒,clang 27.07秒)。各编译器在不同场景各有优势:gcc和clang在部分文件编译失败(如缺少sqrt引用或头文件),而icc能成功编译但会产生#pragma警告。clang性能通常介于gcc和icc之间,如在fdtd-1d.c中耗时9.80秒(gcc 10.27秒,icc 10.25秒)。总体而言,icc对
2025-07-13 00:15:00
796
原创 pluto example PCA, 报错信息
摘要:编译命令正常执行(gcc -DMEDIUM_DATASET等参数),但运行时出现语法错误提示,要求输入PCA分析参数(文件名、行列数、分析选项)。随后修改参数仍报错,显示main函数返回值类型默认为int的警告,最终导致段错误(Segmentation fault)。虽然问题可能修复,但用户选择放弃继续调试。整个过程涉及编译错误、运行时参数错误和内存访问异常等问题。
2025-07-13 00:15:00
408
原创 llvm polly , polybench全部测试
本文展示了使用不同编译器优化选项(gcc-O3、clang-O3、clang-O3omp2threads、clang-O3vector)对31个测试案例的性能测试结果。测试涵盖线性代数、数据挖掘和模板计算等多个领域。结果显示,向量化优化(clang-O3vector)在约半数案例中性能提升显著(如covariance从20.912s降至0.700s),但在其余案例中效果不明显甚至出现性能下降(如heat-3d从5.378s增至9.635s)。部分案例(如nussinov)因MAX_SIZE未定义导致编译失败
2025-07-12 00:15:00
450
原创 LLVM Polly,输出中间过程
Polly的分析和转换过程与过程管理器管道的许多其他过程一起运行。在Polly之前运行的一些传递对其工作至关重要,例如循环的规范化。因此,Polly无法直接从clang的-O0输出中优化代码。这个也可以生成汇编代码。
2025-07-12 00:15:00
129
原创 llvm, polly, 向量化测试,GEMM非常明显
本文展示了使用LLVM Polly进行代码优化的实验结果。测试了不同优化策略(OpenMP并行化和向量化)在Jacobi-2d、GEMM和correlation等算法上的性能表现。结果显示:1) 向量化对GEMM算法效果显著,执行时间从3.265s提升至1.211s;2) 在correlation算法中,向量化后性能提升近10倍(20.509s→2.272s),但需注意链接数学库(-lm)以避免sqrt函数未定义错误;3) 与gcc常规优化相比,Polly的向量化展现出更优异的性能(17.786s→2.27
2025-07-11 00:15:00
304
原创 原创:多面体编译,polybench-c-4.2批量测试脚本
本文介绍了使用PolyBench-C 4.2进行批量性能测试的方法。通过自定义安装的LLVM工具链(包括Clang和Polly优化器),对31个基准测试程序(涵盖线性代数、数值计算等)进行四种编译优化对比:gcc-O3、clang-O3、clang-O3+OpenMP双线程、clang-O3+向量化。测试发现floyd-warshall在向量化优化时耗时异常(近5分钟),其余优化方式表现正常(gcc-O3耗时42.8秒,clang-O3耗时33.3秒)。实验验证了该测试框架的可行性,同时揭示了特定算法在向量
2025-07-11 00:15:00
782
原创 LLVM Polly亲自测试3及疑问
本文测试了多个算法在不同数据集上的性能表现:Nussinov和ADI效果一般,FD-TD-2D表现较好,Heat-3D在JB模式下反而变慢,Jacobi-1d/2d中Polly表现不佳但Clang优于GCC。测试发现部分算法性能存在反常现象,需要进一步分析中间结果和汇编代码以排查问题,特别是要确认是否意外引入了OpenMP并行化。
2025-07-10 00:15:00
309
原创 LLVM polly 生成 OpenMP代码,太困了,明天搞,要猝死了
本文展示了使用Polly与Clang编译器对PolyBench测试集的并行优化效果。实验结果表明:heat-3d程序的OpenMP并行化接近完美,2线程时执行时间从10.669s降至5.440s;而nussinov程序未受益于并行化,2线程(14.721s)与单线程(14.961s)性能相近;jacobi-2d程序在2线程下获得一定加速(5.534s→3.835s)。测试使用Clang -O3优化,通过-mllvm-polly参数启用Polly并行化,并指定线程数。这些结果揭示了不同算法对自动并行化的响应差
2025-07-10 00:15:00
802
原创 LLVM, polly, pollybench测试2
Polly是基于LLVM的多面体模型优化框架,其流程分为三部分:LLVM IR转多面体模型、多面体模型优化、再转回LLVM IR。与基于AST的传统方法不同,Polly通过语义标准检测静态控制部分(SCoP)。实验显示,在correlation和covariance测试中,Polly优化后的执行时间分别从约30秒降至6秒和1秒,效果显著;deriche测试也从3秒降至1.7秒。然而在floyd-warshall测试中,Polly版本未能完成编译。结果表明,Polly对特定计算模式能带来显著性能提升,但适用性
2025-07-09 00:15:00
543
原创 Intel i5-1235U规格说明
摘要:英特尔i5-1235U处理器采用Intel7光刻工艺,配备10核心(2性能核+8能效核)和12线程设计。性能核最高睿频4.40GHz,能效核3.30GHz,搭载12MB智能缓存。基础功耗15W,最大睿频功耗55W,兼顾性能与能效。该处理器适用于轻薄本等移动设备,提供高效的多任务处理能力。(100字)
2025-07-09 00:15:00
199
原创 llvm polly,亲自测试
摘要:本文记录了在LLVM项目中安装和使用Polly优化器的过程。首先通过git克隆LLVM项目,进行cmake配置和编译。成功安装clang后,测试编译GEMM程序时遇到缺少polybench.h头文件和链接错误的问题。通过find命令定位头文件位置,并参考README中的gcc编译指令解决了问题。最后使用包含 utilities 路径的编译命令成功完成了测试程序的编译。整个过程中涉及了LLVM项目结构查看、编译错误排查等操作。
2025-07-08 00:15:00
662
原创 LLVM,polly,最新测试
本文对比了GCC、Clang和Clang+Polly编译器在PolyBench测试中的性能表现。测试结果显示,对于GEMM矩阵乘法,Clang+Polly在EXTRALARGE数据集上表现最优(5.839s vs GCC 14.763s)。GEMVER和GEMM等算法中Polly优化效果显著,部分案例提速50%以上。但在SYMM、SYR2K等算法中,Polly优化效果不佳,甚至出现性能下降。TRMM算法中Polly表现突出(3.783s vs GCC 7.962s)。实验表明Polly优化效果具有算法依赖性
2025-07-08 00:15:00
756
原创 ubuntu安装Pluto Compiler,多面体编译器-1
8)继续./configure --with-clang-prefix=/home/a/src/llvm-project/build/make[2]: 进入目录“/home/a/src/a2.pluto-all/pluto/candl”make[2]: 离开目录“/home/a/src/a2.pluto-all/pluto/candl”make[1]: 离开目录“/home/a/src/a2.pluto-all/pluto”make: *** [Makefile:392:all] 错误 2。
2025-07-07 00:15:00
1331
原创 pluto compiler, pet安装报错
编译LLVM相关项目时出现文件缺失问题。在配置路径为/home/a/src/llvm-project/build的情况下,编译过程中报错找不到DeclNodes.inc等文件。经查找发现这些文件实际存在于./build/tools/clang/include目录下,但未正确安装到include目录。通过手动拷贝解决了文件缺失问题。同时考虑是否可以使用LLVM Polly作为替代方案。该问题可能与LLVM的安装配置有关。
2025-07-07 00:15:00
687
原创 LLVM polly持续更新
摘要:用户尝试安装Pluto时遇到依赖问题,但确认有人成功安装。介绍了LLVM基础设施下的Polly程序,它利用多面体模型进行循环优化,支持OpenMP并行和SIMD优化。Polly仍在更新(如2017年的高性能矩阵乘法改进),但存在一定局限性。用户查看了Polly的GitHub项目,认可其数学建模方法,但也指出其实际效果可能不如预期。最后用户对自身技术能力表示肯定。
2025-07-06 00:28:25
214
原创 ubuntu命令行窗口改变颜色,terminal
本文记录了Ubuntu系统文件夹颜色显示问题的解决过程。用户发现文件夹显示不清,尝试在配置文件首选项中修改为亮色主题仍未解决。通过反复调试,最终发现需要取消勾选"使用系统主题颜色"选项,问题得以解决。作者对Ubuntu官方默认主题的颜色设计表达了不满,认为其不合理。整个排查过程体现了用户面对系统显示问题的解决思路和调试方法。
2025-07-06 00:15:00
185
原创 texi2pdf not found :( Documentation can not be built
1)上面的问题就是缺少这个可执行文件。查了一下应该是texlive里面的。2)查了一下说要源码安装,倒啊。5)安装完成后好像可以了。目前看起来是可以安装。安装完成 后没有屌用。
2025-07-06 00:15:00
95
原创 ubuntu安装运动规划的轨迹优化软件trajopt的失败案例
TrajOpt是一个用于机器人运动规划的轨迹优化框架,采用顺序凸优化方法求解非凸问题。源码位于GitHub(joschu/trajopt)。安装过程中常见问题包括:1)缺少pkg-config工具,可通过sudo apt install pkg-config解决;2)缺失Eigen库,需安装libeigen3-dev;3)Boost组件缺失问题会自动解决;4)可能还需配置OpenRAVE的CMake文件。这些依赖问题需逐步安装和排查才能成功编译。
2025-07-05 00:15:00
492
原创 ubuntu上源码安装LLVM,太大了
文件系统 1K的块 已用 可用 已用% 挂载点。本身在虚拟机里安装LLVM就要死了,ninja编译了好久,大概运行了一天吧。4)还剩下6GB的空间,怪不得Install就直接爆了,汗。1)源码编译安装后,准备Intall一下,硬盘爆了。VMware虚拟机的空间要开大一点。预留了40G,还是不够。3)bin里面大大了。
2025-07-05 00:15:00
254
原创 ubuntu 安装LLVM,程序
摘要:本文介绍了在Linux系统中安装LLVM/Clang工具链的步骤。首先通过wget下载安装脚本,赋予执行权限后以root身份运行,指定版本号(如19)进行安装。安装完成后,工具链文件默认位于/usr/bin目录,可通过ls命令查看clang和llvm相关文件。操作需管理员权限,流程简洁高效。
2025-07-04 00:15:00
113
原创 世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
在编译LLVM项目时遇到多个问题:1)最初缺少Ninja构建工具,通过sudo apt install ninja-build安装;2)C/C++编译器未设置,需指定-DCMAKE_C_COMPILER等参数;3)项目名称拼写错误(poly应为polly);4)最终使用-GNinja和8线程并行编译(ninja -j8)显著提升速度。整个过程涉及CMake配置、编译器设置和构建工具选择,在国家超算中心8线程编译比虚拟机2线程效率更高。
2025-07-04 00:15:00
477
原创 世界最新:ubuntu上cmake, Ninja源码编译llvm
摘要:本文介绍了使用CMake和Ninja构建LLVM项目的具体步骤。首先通过CMake命令配置项目,指定Release版本、安装路径、启用多个子项目(如clang、lldb等),并使用gcc/g++作为编译器。然后展示了构建目录中的文件结构,包括关键的build.ninja文件和相关编译产物。最后说明Ninja与Makefile类似,但编译过程较慢,电脑资源消耗较大。整个流程提供了完整的构建命令和目录结构参考,帮助开发者快速搭建LLVM开发环境。
2025-07-04 00:15:00
368
原创 20250702,ubuntu 安装中文输入法
本文介绍了在Linux系统中安装和设置中文输入法的步骤,包括进入系统设置、选择语言管理、下载安装包、安装ibus-pinyin输入法等操作。虽然按照流程完成了安装配置,但最终仍然无法使用中文输入。整个过程涉及系统权限验证和多步设置,但问题仍未解决。
2025-07-03 00:15:00
133
原创 安装VMware及Linux系统
解决Windows WSL无法使用问题,选择安装Vmware虚拟机替代方案。通过网上资源下载Vmware并获取验证码完成安装。最初尝试Ubuntu Server版但因无图形界面弃用,最终安装Ubuntu 22.04 Desktop版成功运行。目前系统运作正常,解决了WSL的兼容性问题。
2025-07-02 00:15:00
220
进制转换,十进制,十六进制之间的正确转换工具
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关注的人