- 博客(256)
- 资源 (42)
- 收藏
- 关注
原创 多维c++ vector, vector<pair<int,int>>, vector<vector<pair<int,int>>>示例
这篇文章演示了C++中vector容器的嵌套使用。示例代码展示了如何创建和管理pair类型的vector,包括元素的添加、删除和遍历操作。重点演示了使用for(auto currentVector:vec2)语法遍历二维vector的方法,以及如何输出各个pair元素的first和second值。代码还涉及vector的size获取、pop_back操作和emplace_back方法的使用。通过这个示例,可以学习vector容器的基本操作和嵌套结构的数据访问方式。
2025-10-29 23:46:46
217
原创 openMP数据的线程分配策略,调度机制
本文演示了OpenMP并行循环的默认静态调度方式。代码示例使用3个线程处理11次循环迭代时,线程0处理0-3,线程1处理4-7,线程2处理8-10;当使用4个线程时,线程0处理0-2,线程1处理3-5,线程2处理6-8,线程3处理9-10。结果表明OpenMP默认采用均分策略,当不能整除时,前几个线程会多处理一个迭代任务。这种分配方式逻辑清晰,避免了复杂的调度机制。
2025-10-19 00:33:47
164
原创 omp_get_thread_num为0,真是奇怪了。
文章摘要:OpenMP并行代码示例中,#pragma omp parallel块内打印各线程号,块外打印主线程号0。添加return语句后并行块正常执行,显示所有线程号。分析表明,非并行区域默认仅主线程(0)执行,符合预期。该现象验证了OpenMP的并行机制:并行块内多线程工作,串行段单线程执行。
2025-10-18 19:51:47
203
原创 eigen, VecXd 报:task 0: Segmentation fault
摘要:调试过程中发现数组大小和索引错误。初始代码VecXd bb(3)定义3元素数组,但错误访问bb(3)。修改后正确使用bb(0)-bb(2)赋值,最终计算得范数3。主要问题在于数组越界访问,需要注意C++数组索引从0开始,有效范围是0到size-1。调试过程体现了编程中常见的数组边界错误排查。
2025-10-18 11:31:23
164
原创 scrcpy——Android投屏神器实测
5)运行.\scrcpy.exe,这玩意 真牛逼。比那些要各种账号的效果好多了。1)下载,SHIT还要VPN。3)手机打开USB调试。看起来确实可以连上。
2025-10-17 12:06:38
519
原创 Android Studio 撕开安卓手机投屏
摘要:尝试多种屏幕镜像软件失败后(包括scrcpy等),通过Android Studio成功实现设备投屏。具体步骤为:新建项目→搜索DeviceMirroring进行设置→开启USB调试→通过RunningDevices连接。最终测试效果显示投屏功能可用,但画面清晰度欠佳。该方案为传统镜像工具失效时的替代方案,适合开发者操作但存在画质损失问题。(98字)
2025-10-17 10:28:26
201
原创 天河超算上非root用户源码编译LLVM遇到的问题
摘要:在LLVM/Bolt构建过程中出现错误,cmake试图删除/usr/bin/ar等重要系统工具。经查发现CMAKE_AR和CMAKE_RANLIB变量被错误设置为系统路径(/usr/bin/ar和/usr/bin/ranlib),导致构建脚本尝试删除这些关键文件。问题出现在执行cmake --build命令时,表现为静态库libbolt_rt_hugify.a构建失败。该问题可能与Spack环境下的CMake 3.23.1配置有关,需进一步检查工具链设置并修正路径指向。虚拟机环境可能因sudo权限暂未
2025-10-08 18:36:19
560
原创 豆包的大模型真蠢!!!
这段文字记录了用户反复修改图片处理指令的过程,但始终得不到理想结果。用户要求将"block"改为"线程块"、提高清晰度,同时保持图像结构、文字大小和箭头不变。尽管多次细化要求(共修改5次指令),AI仍然无法准确执行,导致用户感到沮丧。整个过程反映了当前AI在精确理解复杂图像编辑指令方面的局限性,以及人机交互中存在的沟通障碍问题。
2025-09-28 17:50:48
132
原创 世上最全最深刻的PyAutoGUI中locateOnScreen算法分析
本文摘要: PyScreeze库提供了基于图像识别的屏幕操作功能,主要包括locateOnScreen、locateCenterOnScreen等核心函数。其实现原理分为Pillow和OpenCV两种方式:Pillow版本通过逐像素比对实现,而OpenCV版本则利用cv2.matchTemplate进行模板匹配,后者支持置信度参数。当图像未找到时,可选择抛出ImageNotFoundException或返回None。该库支持灰度处理、区域限定等参数,并通过文件对象管理优化资源使用。OpenCV实现方式性能更
2025-08-30 21:57:44
1140
原创 将多个任务分到1内存条好,还是分到多内存条好?
本文讨论了服务器内存配置的优化策略,指出AI应用推高了内存需求,使价格占比降低。建议优先考虑内存通道数量而非容量,16通道优于12通道。同时指出V100SXM显卡因需要专用底板导致二手价格低廉。在采购计算节点时,建议根据CPU型号选择内存通道配置,而非单纯比较总容量。
2025-08-01 00:15:00
163
原创 AI4S的专家讨论,感觉不乐观
AI4S在科学计算领域面临诸多挑战:1)目前尚未形成主流应用场景,性能功耗比要求限制了架构发展;2)现有研究存在为发论文而编造数据的现象,尤其在复杂流体计算领域AI方法难以应对高雷诺数问题;3)农业水利等专业计算需处理多变量稀疏矩阵,更依赖传统CPU计算;4)AI4S本质是利用HPC样本进行结果拟合,存在精度和泛化性局限,难以替代HPC主导领域(如流体模拟);5)更适用于设计类"大概齐"计算场景(如新材料设计)或固定模式的重复性任务,而难以解决高维度科学计算问题(如任意Ax=b求解)。当
2025-08-01 00:15:00
302
原创 微信聊天记录:秦汉两千年以来缺乏价值观的多样化,导致内卷严重
摘要: 文章探讨了人类太空移民的必要性(如应对大灭绝)与可行性(火星可行,太阳系外受物理限制),同时反思科研工作者的精神压力与中国传统管理中的“香蕉激励”模式。作者指出,功名利禄是主流价值追求,但个人需学会内求与平衡,否则在无止境的竞争中难以获得真正的舒适。
2025-07-31 10:10:24
183
原创 宇航学报:国防科大等7家优势单位全球首次提出太空超算概念
国防科大等7家单位联合在《宇航学报》发表全球首篇太空超算研究论文,系统性提出太空超算概念,将其定位为支撑太空殖民的关键信息基础设施。研究解构了体系架构、兆瓦级发电等11项核心技术挑战,提出P级验证系统5年建成、30年产业化的发展路径。该技术可支持深空探测实时计算、林火秒级预警等应用,将成为牵引下一代信息技术发展的新动力。团队由国防科大、国家超算天津中心等国内顶尖机构组成,填补了这一新兴领域的理论空白。
2025-07-31 09:40:53
1413
原创 pluto, main函数分析
该代码位于/home/a/src/a1.pluto/pluto/tool/main.cpp,引用了多个库文件,包括数学支持、Pluto框架相关以及OSL、CLAN和PET等外部库。项目包含简单和复杂两种构建方式,涉及循环优化和程序转换功能。主要处理程序分析、优化和转换任务,可能用于高性能计算领域的代码优化工作。
2025-07-22 20:22:12
227
原创 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
512
原创 pluto makefile, and polycc , source code analysis
摘要:本文介绍了Ubuntu下打印当前屏幕的快捷键(Alt+PrintScreen),并分析了polycc编译脚本的工作原理。polycc是一个shell脚本,通过Makefile生成,调用pluto工具进行代码转换和优化(如并行化、循环展开等)。脚本包含参数处理、文件操作和错误处理逻辑,最终生成优化后的代码文件。实际编译命令示例展示了pluto工具的使用方式,该工具位于pluto/tool目录下,包含多个源代码和对象文件。
2025-07-19 00:00:00
430
原创 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
532
原创 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
294
原创 pluto, git submodule init, in ubuntu within VMvare
1)2)3)fatal:'polylib'4)5)
2025-07-17 00:15:00
353
原创 天知道:Ubuntu 22.04 desktop中文输入法:step by step
该文记录了在Ubuntu系统上安装中文输入法的过程:从设置语言区域、下载中文包,到安装ibus拼音输入法。作者吐槽了下载速度,并强调保留英文路径以便编程。尽管多次尝试设置和重启,最终仍未成功安装中文输入法,表达了安装过程的烦躁与无奈。文中穿插技术操作步骤和个人感受,展现了解决Linux系统问题的典型困扰。
2025-07-17 00:15:00
235
原创 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
919
原创 突然的自我:vmvare ubuntu ping不通怎么办?
摘要:遇到无法Ping通百度等网站的问题时,用户冲动删除了VMware中的Ubuntu虚拟机并重新安装。该操作忽略了时间因素可能带来的影响,反映出用户在技术故障处理时容易采取极端手段。建议遇到网络问题时先排查DNS、防火墙等常规设置,避免直接重装系统这种耗时且未必能解决问题的方案。
2025-07-16 00:15:00
169
原创 天河超算源码安装LLVM,天实录
这个cmake -E rm时出错了,感觉是删除文件时出错,确实没有权限删除 /usr/bin/ar,/usr/bin/ranlib。和BUG记录、算法分析等,安装软件的起居、婚丧、祭祀,巡幸等活动亦多载入,已编成的十二朝实录,篇幅不等,若十种之间相差颇为悬殊。5)目前看起来还可以,不知道会不会报那个什么6.5的错误。《天实录》,全称《天河历朝实录》,系天河历朝的官修。目前看起来编译是对的,主流编译器就有这个 好处。6)后面不知道为什么好慢,不知道啥原因。给出了解释,这个应该是权限的问题。
2025-07-15 00:15:00
1064
原创 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
314
原创 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
742
原创 pluto,Polybench测试及分析
大部分情况下pluto优化后的代码会有性能提升,有些特别复杂,就没有提升。打开代码,Pluto应该是把scop和endscop之间的代码进行了转换。把下面的几个宏定义代码贴进#include <polybench.h>中。把seidel-2d.c上面的部分替换成。7)其他也可以类似处理。
2025-07-14 00:15:00
693
原创 数值计算相关代码推荐美国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
687
原创 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
822
原创 pluto example PCA, 报错信息
摘要:编译命令正常执行(gcc -DMEDIUM_DATASET等参数),但运行时出现语法错误提示,要求输入PCA分析参数(文件名、行列数、分析选项)。随后修改参数仍报错,显示main函数返回值类型默认为int的警告,最终导致段错误(Segmentation fault)。虽然问题可能修复,但用户选择放弃继续调试。整个过程涉及编译错误、运行时参数错误和内存访问异常等问题。
2025-07-13 00:15:00
437
原创 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
484
原创 LLVM Polly,输出中间过程
Polly的分析和转换过程与过程管理器管道的许多其他过程一起运行。在Polly之前运行的一些传递对其工作至关重要,例如循环的规范化。因此,Polly无法直接从clang的-O0输出中优化代码。这个也可以生成汇编代码。
2025-07-12 00:15:00
174
原创 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
322
原创 原创:多面体编译,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
840
原创 LLVM Polly亲自测试3及疑问
本文测试了多个算法在不同数据集上的性能表现:Nussinov和ADI效果一般,FD-TD-2D表现较好,Heat-3D在JB模式下反而变慢,Jacobi-1d/2d中Polly表现不佳但Clang优于GCC。测试发现部分算法性能存在反常现象,需要进一步分析中间结果和汇编代码以排查问题,特别是要确认是否意外引入了OpenMP并行化。
2025-07-10 00:15:00
326
原创 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
837
原创 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
586
进制转换,十进制,十六进制之间的正确转换工具
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关注的人
RSS订阅