自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Euler2D项目性能优化

其中,Euler方法是在充满流体质点的空间内任取一控制微元所包含的流体作为研究对象,欧拉模型便是对每一相建立的单独守恒方程。可见热点函数riemann_solver_xdir,riemann_solver_ydir,calc_flux_ydir_internal,cons_2_prim,calc_flux_xdir_internal。该程序二维区域中每个微元运动计算过程相互独立,因此具有良好的天然并行性,非常适合进行多核并行改造,从而大幅提升程序运行效率。2.使用SIMD指令集优化。

2024-06-20 20:11:59 311

原创 CUDA加速Pytorch

PyTorch提供了大量与神经网络、任意张量代数、数据整理以及其他目的相关的操作。然而,你可能仍然需要更加定制化的操作。例如,你可能想使用一种你在论文中发现的新型激活函数,或者实现你在研究中开发的操作。将这样的自定义操作集成到PyTorch中最简单的方法是通过扩展Function和Module来用Python编写它,如此处所述。这样做可以让你享受到自动微分的全部功能(免去编写导数函数的麻烦),以及Python通常的表达能力。然而,有时你的操作最好是用C++实现。

2024-04-23 13:05:15 1881

原创 CUDA的矩阵乘优化

2.按照以下几种方式优化并行矩阵向量乘。1.按照以下几种方式优化并行矩阵乘。线程块tile+共享内存。

2024-04-19 13:12:54 324

原创 CUDA的归约及求和优化

(3) 对每种实现,重复实验2000次,统计平均时间用于最终性能评价(对于任意长度的多块扫描,尝试不同的线程块大小)。8种实现方式,完成PPT里所提及的思考题;(2) 利用thrust库实现并行扫描;消除bank conflict。单线程加载全局内存时做一次加法。单线程加载全局内存时做多次加法。消除bank conflict。单线程加载全局内存时做一次加法。单线程加载全局内存时做多次加法。shuffle指令优化。shuffle指令优化。

2024-04-14 13:36:16 504 1

原创 CUDA案例

CUDA案例

2024-03-31 03:33:36 287 1

原创 IPP移植实践

目标:IPP软件从X86平台移植到ARM平台

2024-03-20 16:01:57 303 2

原创 StellarSim项目性能优化

StellerSim 是一个基于离散单元数值计算的物理演化程序,该 算法最早从天体动力学星云演化计算中产生,被广泛用于游戏开 发引擎中的物理演化、碰撞事件、特效生成等等模块。

2024-03-12 20:48:50 232 1

原创 OpenMP并行化实现图像的滤波操作

图像的滤波操作是指对图像进行一系列的像素值处理,以实现图像增强、去噪、平滑等效果。常见的滤波操作包括均值滤波、高斯滤波、中值滤波等。在设计并行图像处理程序时,可以选择其中一种滤波操作进行示例。这里以均值滤波为例进行说明。均值滤波是典型的线性滤波算法,是指用当前像素点周围nxn个像素值的均值来代替当前像素值。使用该方法遍历处理图像内的每一个像素点,可完成整幅图像的均值滤波。我们对第5行第5列的像素点进行均值滤波时,首先需要考虑需要对周围多少个像素点去取平均值。

2024-02-27 15:40:53 420 1

原创 SIMD向量化案例

SIMD向量化案例

2024-02-22 14:29:32 532 1

原创 OpenMP多线程并行案例

循环结构体的知识点,包括for循环体并行化、变量规约属性与子句reduction、循环调度策略与子句schedule以及嵌套循环与子句collapse。实现线程亲核性,将线程绑定到特定的CPU核心上执行。考虑内存一致性,确保数据在并行计算过程中的正确性。OpenMP并行化以加速矩阵乘法的计算。

2024-02-20 09:58:15 301 1

原创 gemm算法优化

【代码】gemm算法优化。包含行列分块算法的程序实现和cannon算法的程序实现

2024-02-06 18:18:42 295 1

原创 蒙特卡洛方法来计算圆周率pi的近似值

蒙特卡洛算法是一种通过随机抽样来近似求解问题的方法。在计算圆周率pi的近似值时,可以使用蒙特卡洛算法来实现

2024-01-28 17:33:57 798 1

原创 MPI多进程并行案例

要求:1、使用两个进程2、进程0计算1+2+…+20,进程1计算21+22+…+1003、调用计时函数,分别输出两个进程的计算时间。4、输出两个进程的计算结果,要求结果加起来等于5050。

2024-01-27 20:25:55 1561

原创 Laplace方程求解程序的性能优化

对于大量的for循环,可采用的以下几种方式:循环合并,循环展开,循环交换,循环分布,循环不变量外提,循环分块,循环分裂

2024-01-23 15:04:56 356 1

原创 Darknet项目性能优化

那么算法本身诞生这么多年了,算法层面不可能让你捡漏,所以基于硬件优化是唯一选择,接下来我们使用循环分块的方式优化。运算指令选择:使用适当的运算指令,如乘法指令、加法指令等,以提高运算速度。可以根据平台的特性选择适合的优化指令。编译器优化:使用合适的编译器选项,如优化级别、循环展开选项等,以帮助编译器进行更好的代码优化。循环展开:通过展开内层循环,减少循环迭代次数,从而减少循环控制的开销,并提高指令级并行性。我们分别测试block_size为1024,512,256,128,64,16时的计算速度。

2024-01-21 16:48:55 569 2

原创 Shell脚本案例

3)如果给的目录存在,则下载文件;如果成功,则返回0给调用脚本,否则,返回52给调用脚本;2)如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本;2.写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线。1.写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符。1)第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置;

2024-01-15 21:17:55 342

原创 OpenLDAP常见运维管理操作

(4)测试服务端认证是否成功 ldapwhoami -x -D cn=admin,dc=ldap,dc=test,dc=com -W 在输入密码后显示dn:cn=admin,dc=ldap,dc=test,dc=com,则表示成功 ldapwhoami –x 输出anonymous,则表示成功。ldapsearch -x -LLL -D cn=readonly,dc=ldap,dc=test,dc=com -w 密码 -b dc=ldap,dc=test,dc=com。

2024-01-14 20:20:33 1899 1

空空如也

空空如也

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

TA关注的人

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