Link Blog

HPC并行计算 | AI深度学习 | CFD高精度仿真

CFD常用库配置:Lapack & Blas

一、LAPACK — Linear Algebra PACKage下载与安装 LAPACK is written in Fortran 90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equa...

CFD常用库配置:FFTW & Hypre

一、FFTW Download下载与安装 FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as wel...

Inte工具包配置:Fortran&C++编译器

Intel Developer Toolkits 开发人员工具包:使用一流的编译器、性能库、框架、分析器和调试工具,在 CPU、GPU 和 FPGA 上构建、分析和优化高性能、跨架构的应用程序。Windows下安装配置较为简单,主要记录为Linux环境。 一、Intel® oneAPI Base Toolkit下载与安装 英特尔® oneAPI Base Toolkit (Base K...

计算流体力学03:差分方法

有限差分法:简单成熟,可构造高精度格式;但处理复杂网格不够灵活;适用于相对简单外形的高精度计算。 一、基本概念 差分的基本功能:计算导数 构建差分格式:Taylor展开法、多项式逼近法。 差分格式的精度: 差分格式的修正方程: 迎风型差分格式:利用(偏)上游信息构造差分格式。 二、复杂网格的处理 有限差分:变换到均匀网格处理。 有限体积:直接处理。 一维情况:Jacobi...

计算流体力学01:基本方程

计算流体力学是通过数值方法求解流体力学控制方程,得到流场的离散的定量描述,并以此预测流体运动规律的学科。 一、传统计算方法 1.有限差分法:简单成熟,可构造高精度格式;但处理复杂网格不够灵活;适用于相对简单外形的高精度计算。 2.有限体积法:守恒性好,可处理复杂网格;不易提高精度,二维以上复杂;适用于复杂外形的工程计算。 3.有限元法:基于变分原理,守恒性好;对于复杂方程处理困难;多...

Cuda环境配置01:WSL2+Linux

一、Windows下的Cuda环境配置 Nvidia官方页面通过选择,有不同系统、不同架构、不同版本的CUDA Toolkit可供离线和在线安装,所以版本内容的存档在https://developer.nvidia.com/cuda-toolkit-archive均可以找到,请注意一一对应。 Windows平台的安装比较简单,下载需要版本后,双击即可自动完成安装和系统环境配置。 通过在...

GPU优化01:GEMM矩阵乘法

一、为什么要做GEMM优化? 在高性能领域,对于矩阵乘(GEMM)的优化是一个非常重要的课题。GEMM可以非常广泛地应用于航空航天、流体力学等科学计算领域,这也是之前HPC的主要应用场景。后来深度学习开展地如火如荼,由于对高算力的需要,也成为HPC的主要应用场景之一。这些年涌现了一系列的深度学习模型。模型里面最耗时的东西,包括卷积、全连接层、attention,都可以转换成GEMM操作。所...

MPI与并行计算06:进阶

一、Jacobi代码改造 为了适应更多核数并行计算,并测试通信效果,将通信边界由只有横向分区改为横纵分区。 同时,还做了如下一些功能完善: 1.time计时器 2.Matplotlib显示渲染 3.每1000步汇总数据一次 4.支持串行运行 5.可设置n*n进程数 6.可设置网格精细度 完整Python代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 ...

MPI与并行计算05:主从模式

一、主从模式 上一章中,可以发现,各进程执行程序的速度是不确定的。用多个进程输出和打印结果,顺序是无法保证的。本文将介绍另一种并行程序的设计模式——主从模式。因此,我们可以在逻辑上规定一个主进程,用于将数据发送给各个进程,再收集各个进程所计算的结果。 在介绍主从模式时,矩阵相乘是一个既简单又具有典型性的一个例子。所以本文就以矩阵相乘这一典型的例子来做介绍。其中,A设置为100×100的矩...

MPI与并行计算04:对等模式

一、对等模式 本部分内容将分为两章介绍两种基本的并行程序设计模式,对等模式和主从模式。顾名思义,对等模式即在设计算法时将各进程的地位视为相等,主从模式则把各进程的地位视作不相等,有主进程和从进程之分。 在对等模式中,各个进程的功能基本相同,因此用SPMD(单程序多数据)程序可以更好的表达。在讲解对等模式时,常用Jacobi迭代作为范例。Jacobi迭代在数值计算上是比较常用的算法,本文只...