自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(876)
  • 收藏
  • 关注

原创 尝试本地部署 Stable Diffusion

设置一下 .bashrc 把conda 的安装路径放到环境变量 PATH 里。环境:WSL2-Ubuntu22.04。conda 开始下载依赖。

2025-11-14 22:48:47 235

原创 git rebase 合并分支,保持 git history 记录线性、干净、清晰

git merge 确实可能导致 Git 历史变得复杂。需要解决冲突多次(如果冲突较多)重写历史,不适合已推送的分支。

2025-11-11 17:20:12 196

原创 Eigen/Dense: No such file or directory 处理方法

安装后,会在你的系统目录创建一个名为 eigen3 的文件夹。使用 locate 找到它,然后创建软链接。

2025-11-03 12:10:18 117

原创 (done) CFD 学习 (5) 阅读简单求解器理解非结构网格 + 更复杂的 FVM

TODO: here。

2025-11-03 10:48:35 133

原创 (done) CFD 学习 (4) 阅读简单代码库理解有限体积法

总结一下,该程序的目的是计算二维平面上的激波管问题。程序输入是 2-D结构化网格上每个点的 “速度、压力、密度”,程序输出是经过一定时间后每个点的 “压力、密度”。程序核心求解函数是 FLUXSOLVER 函数,该函数被循环调用: while(cur_time < end_time) { FLUXSOLVER(…2.计算网格这一个时间步在 x 方向的通量和在 y 方向的通量。并对网格的边界做特殊处理。1.计算网格每个点,在 x 方向上通量上的梯度和 y 方向上通量上的梯度。

2025-11-03 10:34:39 233

原创 (done) CFD 学习 (3) CGNS文件格式

CGNS代表CFD通用符号系统。该标准由美国国家航空航天局(NASA)与波音公司于1994年共同创立,旨在规范CFD数据(尤其是计算网格/网架)的交换格式。如今,该格式的功能已不仅限于网格交换——用户还能通过CGNS文件读取和写入求解结果、边界条件、网格连接信息等多项内容。1999年,由政府部门、工业界及学术界代表共同组成的CGNS指导委员会正式成立,致力于维护、改进和推广CGNS标准。

2025-10-30 17:04:01 212

原创 (done) CFD 学习 (2) 什么是网格?结构网格和非结构网格的差别?

在计算流体力学中,网格 是将一个连续的流体计算区域(例如,管道内部、飞机机翼周围的空间)离散化成大量微小、简单的子区域(如四边形、六面体、三角形、四面体)的过程后,所形成的这些子区域的集合。一个三维的“渔网”:您用这张网罩住您要研究的物体(如飞机),网的节点就是您用来进行计算和数据存储的点。相机像素:一个高分辨率的图像由数百万个像素组成。同样,一个精细的网格由数百万个网格单元组成,它们共同“描绘”出流场的细节(速度、压力、温度等)。在实际工程中,为了平衡效率和适应性,常常使用混合网格。

2025-10-30 15:33:33 819

原创 (done) CFD 学习 (1) 什么是 CFD ?

TODO: here。

2025-10-30 14:45:29 812

原创 对比并行 memset/memcpy 和手动并行设置0/拷贝的速度

3.多线程有很多风险。比如如果fork一个程序,但是这个程序在用户不知道的情况下在标准库里其实有多个线程,那这个时候只有调用线程会被 fork,这个时候两个进程可观测行为就不一样了。之前测过 memset/memcpy 和手动并行设置0/拷贝的速度,结果发现 memset/memcpy 速度更慢。根据结果可见,多数情况下,memset/memcpy 比 openMP 手动设置0/拷贝更慢。由此可见,多线程memset/memcpy 通常比 多线程朴素设置0/拷贝 速度更快。1.因为memset是单线程。

2025-10-28 14:05:23 300

原创 (undone) 尝试用 mingw 在 Linux 电脑上编译 windows 平台上的软件

参考 url: https://blog.youkuaiyun.com/PHILICS7/article/details/135509851。

2025-10-28 10:48:09 94

原创 特别注意:#pragma omp parallel 和 #pragma omp for 和 #pragma omp parallel for

特别注意:使用 #pragma omp parallel 后,内部只能使用 #pragma omp for,不要使用 #pragma omp parallel for,否则会在内部再次创建新线程,拖慢速度。

2025-10-26 17:50:45 96

原创 (done) 自学 MPI (14) Exercise 3

url: https://hpc-tutorials.llnl.gov/mpi/exercise_3/TODO: here

2025-10-24 11:30:13 195

原创 (done) 自学 MPI (13) 简单介绍 MPI-2 和 MPI-3

MPI-1规范有意回避了若干“棘手”问题。出于权宜之计,这些议题被延后至1998年发布的MPI-2规范中解决。MPI-2作为对MPI-1的重大修订,新增了多项功能并进行了修正完善。

2025-10-24 11:28:38 257

原创 (done) 自学 MPI (12) Virtual Topologies 虚拟拓扑

url: https://hpc-tutorials.llnl.gov/mpi/virtual_topologies/TODO: here

2025-10-23 16:30:05 343

原创 (done) 自学 MPI (11) 群组与通信器管理例程

与群组类似,通信器在系统内存中也表示为一个对象,并且程序员只能通过"句柄"来访问。例如,包含所有任务的通信器的句柄是 MPI_COMM_WORLD。在 MPI 中,群组在系统内存中表示为一个对象,程序员只能通过一个"句柄"来访问它。6.通信完成后,使用 MPI_Comm_free 和 MPI_Group_free 释放新通信器及群组资源(此步骤为可选操作)同一进程可以隶属于多个群组/通信器,且在每个群组/通信器中都拥有独立的唯一排名。3.使用 MPI_Comm_create 为新群组创建对应的新通信器。

2025-10-23 16:11:23 831

原创 (done) 自学 MPI (10) Derived Data Types 派生数据类型

MPI还提供相关功能,允许用户基于MPI基本数据类型的序列来定义自己的数据结构。这类用户自定义结构被称为派生数据类型。基本数据类型在内存中是连续存储的。派生数据类型则能让您以便捷的方式指定非连续数据,并使其能够像连续数据一样进行处理。创建一个表示数组某一行的数据类型,并将不同的行分发给所有进程。MPI 定义了如下 原始数据类型。

2025-10-23 15:34:24 373

原创 (done) 自学 MPI (9) Collective Communication Routines

TODO: here。

2025-10-23 14:08:54 338

原创 (done) 自学 MPI (8) Exercise 2

【代码】(done) 自学 MPI (8) Exercise 2。

2025-10-23 11:43:56 138

原创 (done) 自学 MPI (7) MPI 消息传递例程 (阻塞 和 非阻塞)

对于各个库函数/例程的介绍这里就不赘述,建议看三个参考 url 自行理解。这里只研究样例代码。

2025-10-23 10:33:21 106

原创 (done) 自学 MPI (6) 点对点通信例程 - 基本概念

MPI点对点操作通常涉及两个(且仅有两个)不同MPI任务之间的消息传递。一个任务执行发送操作,另一个任务则执行匹配的接收操作。MPI还提供了若干与收发操作相关的辅助例程,例如用于等待消息抵达的等待例程,或用于探查消息是否已到达的探测例程。注:这个把 circle_count 发送给主进程的过程需要 “点对点消息传递调用”。2.随机生成大量点,理论上,圆内点数量 / 方形内点数量 = PI / 4。任何类型的发送例程都可以与任何类型的接收例程配对使用。1.圆的面积 / 方形面积 = PI / 4。

2025-10-23 10:19:18 154

原创 (done) 自学 MPI (5) Exercise 1

TODO: here。

2025-10-22 23:53:23 137

原创 (done) 自学 MPI (4) Environment Management Routines

TODO: here。

2025-10-22 23:19:05 110

原创 (done) 自学 MPI (3) Getting Started

url: https://hpc-tutorials.llnl.gov/mpi/getting_started/TODO: here

2025-10-22 17:11:57 130

原创 (done) 自学 MPI (2) LLNL MPI Implementations and Compilers

TODO: here。

2025-10-22 16:17:19 77

原创 (done) 自学 MPI (1) What is MPI ?

TODO: here。

2025-10-22 16:05:06 285

原创 CUDA 中把关键变量放入寄存器的方式

float4 * 是一个指针,指向一块内存,GPU 更倾向于把它放在 L1/2 cache里。而 float4 是一个变量,GPU 更有可能把它放入寄存器。把关键变量放进寄存器有时能提高性能。

2025-10-16 11:12:50 134

原创 nsys CUDA 性能分析工具 profile

【代码】nsys CUDA 性能分析工具 profile。

2025-10-16 10:34:43 162

原创 CUDA 调试器 sanitizer,检测数据竞争,竞争条件 race condition

试了几次,只能检测到第二种数据竞争,不知道为什么。

2025-10-15 15:55:21 250

原创 CUDA API 获取显卡/GPU 参数,如线程块,WARP 大小,线程块支持数量,SM 数量等

【代码】CUDA API 获取显卡/GPU 参数,如线程块,WARP 大小,线程块支持数量,SM 数量等。

2025-10-13 19:06:12 105

原创 CUDA 中的 float3 数据类型

在CUDA编程中,float3 是一个内置的三维向量数据类型,主要用于表示和处理三维空间中的坐标、向量、颜色等需要三个浮点数分量的数据。

2025-10-13 14:32:08 199

原创 性能优化中一个重要概念:算术强度 arithmetic intensity

如下图,即 浮点运算 和 内存访问的比值。

2025-10-12 15:21:08 267

原创 (done) 矩阵分块计算和分块转置

1.分块后要保证整体可乘(分后的小矩阵看作单个元素,包含这些小矩阵的大矩阵得是课程的,即 A x B,A 的列数要等于 B 的行数)2.分块后,每个小矩阵之间都得是可乘的。满足这两者,基本就能做计算。

2025-10-12 14:52:42 181

原创 (done) 并行计算 CS149 Lecture10 (DNN评估与优化)

TODO: here。

2025-10-12 13:10:54 539

原创 (skip) 并行计算 CS149 Lecture9 (使用 Spark 进行分布式并行计算)

这堂课的核心是 GPU 计算。分布式我们可以在 MIT6.824 学。CS149 没有分布式相关实验练习,学了也白学。

2025-10-11 20:44:27 131

原创 CUDA 线程块和网格的维度,从1维到3维

【代码】CUDA 线程块和网格的维度,从1维到3维。

2025-10-10 19:31:19 227

原创 调试 CUDA 代码

CUDA 代码分为 host 代码和 device 代码。nvcc 为 device 代码生成调试信息的选项:-G。nvcc 为 host 代码生成调试信息的选项:-g。device 代码在 GPU 上运行。host 代码在 CPU 上运行。调试器:cuda-gdb。

2025-10-10 19:12:00 326

原创 ubuntu22.04 安装 nvcc12.2

ubuntu22.04 默认的 nvcc 版本是11,gcc/g++ 默认版本也是 11。需要设置一下才能安装 12 版本。

2025-10-09 11:38:23 421

原创 vscode 很烦人的终端小分屏,显示历史记录,怎么关闭?

使用 ctrl + P,找到 settings(UI),disable 跟 sticky scroll 相关的选项即可。这个终端总是在最上端分出一个 “小屏”,用一根黑线隔开,显示以前的命令。这玩意儿名字叫 “sticky scroll”。

2025-10-09 10:48:22 227

原创 在 ubuntu22.04 上安装 fish

【代码】在 ubuntu22.04 上安装 fish。

2025-10-09 10:24:38 406

原创 vscode 指定连接其它版本的 linux

vscode 安装好 WSL 插件后。先断开 remote-ssh。

2025-10-09 10:07:11 241

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除