HPC高性能计算
文章平均质量分 95
CanCanCanedFish
生活在淡水的一只鱼,喜欢幻想,这一切都是在脑海中幻想的。
展开
-
高性能计算导论HPC课程设计 矩阵LU分解(5万×5万规模)
尝试解决超大矩阵(规模为五万乘五万)的LU分解问题是一项非常具有挑战性的任务,包括:数学算法、算法代码优化、硬件资源的利用等。在这个过程中锻炼了我分析和解决问题的能力,同时让我回顾和熟悉了OpenMP、MPI和NEON技术以及华为泰山服务器平台的使用方式,我也深刻地领悟到了通过结合OpenMP、MPI和NEON技术,能搞非常明显的提高计算性能。首先是计算时间的降低,即性能提升:使用并行计算技术可以显著提高LU分解的性能,特别是在处理大规模矩阵时。原创 2023-12-15 19:32:23 · 265 阅读 · 0 评论 -
高性能计算导论HPC实验三 CPU SIMD+GPU SIMD
CPU 指令处理数据的能力是衡量 CPU 性能的重要指标,为了提高 CPU 指令处理数据的能力,半导体厂商在 CPU 中推出了一些可以同时并行处理多个数据的指令 —— SIMD 指令,使得单一的计算可以处理多种不同的数据SIMD的全称是 Single Instruction Multiple Data,中文译为:“单指令多数据”,即一条指令处理多条数据。例如:一个普通加法指令,一次只能对两个数执行一个加法操作。而一个 SIMD 加法指令,一次可以对两个数组(向量)执行加法操作。如下图1-3所示。原创 2023-12-14 16:34:12 · 291 阅读 · 1 评论 -
高性能计算导论HPC实验二 MPI并行编程
安装完毕后,添加目录下的bin文件所在路径到电脑的环境变量中:右键“我的电脑”à选择“属性”à选择“高级系统设置”à“环境变量”——将bin文件路径复制到系统变量和环境变量的path目录下,如果已经存在,不需要复制,不存在的要新建并添加路径。项目à属性à链接器à常规à附加库目录à添加安装的mpich路径下的lib文件夹目录。Mpi程序在进行数据的收发时,在成功进行数据接受前,线程将不会进行其他的工作,此时线程的资源将会被部分浪费,在这种情况下,可以使用非阻塞通信来重叠计算和通信,从而使应用程序更高效。原创 2023-12-05 00:40:36 · 351 阅读 · 0 评论 -
高性能计算导论HPC实验一 OpenMP Programming Model
此时由于未手动设置可用线程数,程序由cpu默认线程数进行执行,本电脑为16线程则输出结果为x=16,而华为泰山服务器线程数为64则输出结果为x=64。以本代码为例,其使用方式是:reduction(+:sum),表示在每个线程进行并行执行运算任务的时候,在其中将全局变量sum进行拷贝,并在其中使用拷贝后的变量sum,这样每个线程在使用sum执行运算的时候就使用的的是不同的sum了,不会再产生数据冲突等问题,在运行结束后再将每个拷贝出来的sum加和到全局sum中,得到正确结果(本代码为模拟积分求出Π的值)。原创 2023-12-03 00:22:37 · 217 阅读 · 1 评论