自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用 OpenMP 和 SIMD 技术对 Euler2D 优化

计算流体力学,即Computational Fluid Dynamics(简称CFD),广泛应用于车辆设计、航空航天、宇宙天文、气象环境、核工业、国防军事等领域。其中,Euler方法是在充满流体质点的空间内任取一控制微元所包含的流体作为研究对象,欧拉模型便是对每一相建立的单独守恒方程。该程序二维区域中每个微元运动计算过程相互独立,因此具有良好的天然并行性,非常适合进行多核并行改造,从而大幅提升程序运行效率。运行结果如下:加速比为 24.33,并行效率为 0.76,效果显著。2、使用 OpenMP 优化。

2023-09-26 23:17:57 147

原创 使用SIMD完成StellarSim的性能优化

StellerSim 是一个基于离散单元数值计算的物理演化程序,该算法最早从天体动力学星云演化计算中产生,被广泛用于游戏开发引擎中的物理演化、碰撞事件、特效生成等等模块。该程序采用C++语言,完整计算了一个粒子发生器引擎模块膨胀与坍缩效果,粒子发生器被广泛用于unity、 Unreal等著名游戏物理引擎软件。通过天气物理学领域的数值模拟科学计算软件,来熟悉对串行。使用64线程进行提交后,运行时间为 3.63 s,加速比为 136.9,效果显著。软件进行并行性能优化的基本方法与步骤。headers 目录。

2023-08-18 09:26:03 132 1

原创 通用矩阵乘法GEMM的实现 --- Cannon 版本

注:使用不同 NP 时,需修改 yhrun.sh 文件中的进程数。

2023-08-13 19:12:10 89 1

原创 通用矩阵乘法GEMM的实现 --- 重复非阻塞通信版本

注:使用不同 NP 时,需修改 yhrun.sh 文件中的进程数。

2023-08-13 15:05:46 82 1

原创 通用矩阵乘法GEMM的实现 --- 非阻塞通信版本

注:使用不同 NP 时,需修改 yhrun.sh 文件中的进程数。

2023-08-13 14:32:22 86 1

原创 通用矩阵乘法GEMM的实现 --- 阻塞通信版本

注:使用不同 NP 时,需修改 yhrun.sh 文件中的进程数。

2023-08-12 14:39:48 46 1

原创 通用矩阵乘法GEMM的实现 --- 串行版本

【代码】GEMM的串行实现。

2023-08-12 13:08:08 80 1

原创 使用OpenMP完成StellarSim的性能优化

StellerSim 是一个基于离散单元数值计算的物理演化程序,该算法最早从天体动力学星云演化计算中产生,被广泛用于游戏开发引擎中的物理演化、碰撞事件、特效生成等等模块。该程序采用C++语言,完整计算了一个粒子发生器引擎模块膨胀与坍缩效果,粒子发生器被广泛用于unity、 Unreal等著名游戏物理引擎软件。使用32线程进行提交后,运行时间为 17.9 s,加速比为 27.7,效果显著。使用单线程进行提交后,运行时间为 497 s。二、使用32线程运行。headers 目录。

2023-08-05 14:11:53 69 1

原创 对矩阵向量乘法进行SIMD优化

使用simd和循环展开技术,对矩阵向量乘法dgemv进行改写,以实现y=Ax计算的性能优化。使用SIMD优化后,代码如下。

2023-08-01 09:53:35 249 1

原创 使用OpenMP并行化实现矩阵乘法

使用 4 线程计算后,执行时间为 19.173928秒。执行时间为 63.432267秒。

2023-07-21 22:40:46 410 1

原创 四个版本的雅可比迭代

2、如果通信比较多,并且次序安排的有问题的话,存在可能死锁的可能性。2、通过MPI自行维护消息发送与接收的次序,避免死锁的可能性。1、优化性能,实现计算与通信的重叠。1、引入了虚拟进程,简化了代码。四、基于重复非阻塞消息通信版本。1、优化通信,提前初始化通信。二、基于捆绑消息发送接收版本。三、基于非阻塞消息通信版本。2、整个流程复杂度高。一、基于阻塞通信版本。

2023-07-17 14:26:23 192 1

原创 对 Jacobi 程序的循环优化

在迭代次数和误差不变的情况下,通过使用循环交换、循环不变量外提、循环展开三种技术对程序进行了优化,每一种都可以提高效率,降低运行时间,混合后,更能提升程序的效率,值得推广。Jacobi 程序是矩阵计算中常见的算法,程序中存在大量的循环语句,通过使用循环优化技术,可以降低程序的运行时间,以下进行详细介绍。5、使用循环交换、循环不变量外提、循环展开混合技术进行优化。1、对原始程序进行编译,并查看运行时间。3、 使用循环不变量外提进行优化。2、使用循环交换进行优化。4、使用循环展开进行优化。

2023-07-12 15:37:46 71 1

原创 GDB调试模式

GDB调试分为两种:实时调试、core文件调试。

2023-07-07 15:28:43 136 1

空空如也

空空如也

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

TA关注的人

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