自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (undone) 阅读《工程中的有限元方法(曾攀)》笔记

当然,对于不均匀物体来说(比如木头包着铁块),铁块的重力和木头的重力也不同。这对于CAE仿真来说很重要。比如假如我们模拟一个锤子的掉落(一根长木头,一端有重铁块)。不同部位重力不同才能精确模拟锤子的掉落。分布力:如重力、电磁力。对于均匀连续介质,这种力会均匀分布在物体的每个点上。比如1kg的铁方块,对于其中0.1kg的小方块来说,它的重力就是 1kg * 9.8 / 10 = 98N。

2026-01-06 15:34:27 88

原创 很好用的笔记工具 ---- 腾讯 ima

如题。

2026-01-06 11:36:18 84

原创 (undone) 阅读教材 《计算流体力学大串讲》笔记 (1-3章)

url: https://book.qq.com/book-read/55814726/13TODO: here

2026-01-05 14:22:21 395

原创 (done) CFD学习 (6) 什么是形函数?

简单来说,真实世界的函数我们很难得到公式,因此通常用简单函数去拟合真实世界的函数,用于拟合真实函数的简单函数就是形函数/基函数:

2026-01-02 09:21:50 164

原创 vmware 设置共享文件夹

url: https://www.bilibili.com/video/BV1HwuczVEG4/?vd_source=7a1a0bc74158c6993c7355c5490fc600

2025-12-26 16:01:46 85

原创 尝试本地部署 Stable Diffusion

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

2025-11-14 22:48:47 272

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

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

2025-11-11 17:20:12 211

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

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

2025-11-03 12:10:18 135

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

TODO: here。

2025-11-03 10:48:35 143

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

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

2025-11-03 10:34:39 252

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

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

2025-10-30 17:04:01 376

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

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

2025-10-30 15:33:33 976

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

TODO: here。

2025-10-30 14:45:29 1102

原创 对比并行 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 322

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

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

2025-10-28 10:48:09 101

原创 特别注意:#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 105

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

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

2025-10-24 11:30:13 203

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

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

2025-10-24 11:28:38 265

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

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

2025-10-23 16:30:05 361

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

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

2025-10-23 16:11:23 841

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

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

2025-10-23 15:34:24 394

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

TODO: here。

2025-10-23 14:08:54 344

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

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

2025-10-23 11:43:56 142

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

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

2025-10-23 10:33:21 111

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

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

2025-10-23 10:19:18 166

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

TODO: here。

2025-10-22 23:53:23 148

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

TODO: here。

2025-10-22 23:19:05 116

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

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

2025-10-22 17:11:57 139

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

TODO: here。

2025-10-22 16:17:19 80

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

TODO: here。

2025-10-22 16:05:06 290

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

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

2025-10-16 11:12:50 144

原创 nsys CUDA 性能分析工具 profile

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

2025-10-16 10:34:43 179

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

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

2025-10-15 15:55:21 270

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

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

2025-10-13 19:06:12 121

原创 CUDA 中的 float3 数据类型

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

2025-10-13 14:32:08 222

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

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

2025-10-12 15:21:08 280

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

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

2025-10-12 14:52:42 229

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

TODO: here。

2025-10-12 13:10:54 597

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

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

2025-10-11 20:44:27 139

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

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

2025-10-10 19:31:19 234

空空如也

空空如也

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

TA关注的人

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