并行计算
文章平均质量分 74
A-Egoist
这个作者很懒,什么都没留下…
展开
-
CUDA 内存模型
CUDA 内存模型CUDA 可编程内存类型:寄存器(Registers)共享内存(Shared Memory)本地内存(Local Memory)常量内存(Constant Memory)纹理内存(Texture Memory)全局内存(Global Memory)上述各种内存都有自己的作用域,生命周期和缓存行为。一个核函数中的每个线程都有自己私有的本地内存。一个线程块有自己的共享内存,对同一线程块内所有线程可见,其内容持续线程块的整个生命周期。所有线程都可以访问全局内存。所有线程都能访原创 2021-12-28 16:39:11 · 905 阅读 · 0 评论 -
CUDA 执行模型
CUDA 执行模型CUDA 执行模型能够提供有助于在指令吞吐量和内存访问方面编写高效代码的见解。1 GPU 架构概述GPU 架构是围绕一个流式多处理器(SM)的拓展阵列搭建的,通过复制这种结构来实现 GPU 的硬件并行。如图所示,其中包含了 Fermi SM 关键组件:CUDA CoresShared Memory / L1 CacheRegister File加载/存储单元(Load / Store Units)特殊功能单元(Special Function Units)线程束调度器原创 2021-12-28 16:37:00 · 381 阅读 · 0 评论 -
CUDA 编程模型
CUDA 编程模型这部分将重点介绍 CUDA 编程模型的两个主要的抽象概念:内存层次结构和线程层次结构,它们能够控制大规模并行 GPU。1 内存管理一个异构环境,通常有多个 CPU 多个 GPU,每个 CPU 和 GPU 的内存都由一条 PCI-Express 总线分隔开。所以要区分以下内容:主机:CPU及其内存(主机内存)设备:GPU及其内存(设备内存)为了规范化,在之后的代码中,主机内存中的变量名以 h_ 为前缀,设备内存中的变量名以 d_ 为前缀一个典型的 CUDA 程序包括由并原创 2021-12-28 16:33:50 · 541 阅读 · 0 评论 -
基于 CUDA 的异构并行计算
基于 CUDA 的异构并行计算CUDA (Compute Unified Device Architecture,统一计算设备架构) 是 NVIDIA 提出的并行计算架构,结合了 CPU 和 GPU 的优点,主要用来处理密集型及并行计算。CPU 和 GPU 是两个独立的处理器,通过单个计算节点中的 PCI-Express 总线相连,GPU 用来提高计算密集型应用程序中并行程序段的执行速度,CPU 则负责管理设备端的资源。1 并行计算在 [1.4](#1.4 如何编写并行程序) 中介绍了应用程序的两种并原创 2021-12-28 16:21:24 · 269 阅读 · 0 评论 -
并行处理及分布式系统
并行计算基础本篇博客记录了我在学习并行计算过程中的收获,包含以下部分的内容:为什么要并行计算并行硬件和并行软件MPI编程Pthreads编程OpenMP编程并行程序开发CUDA编程基础。1 为什么要并行计算1.1 为什么需要不断提升性能随着计算能力的增加,我们所面临的计算问题和需求也在增加随着技术的进步,我们从未想过的技术得到了解决,比如:人类基因解码、更准确的医疗成像、更快速准确的网络搜索…更复杂的问题仍有待解决,比如:气候模拟、蛋白质折叠、药物发现、能源研究、数据原创 2021-12-24 17:45:36 · 4802 阅读 · 3 评论 -
CUDA 编程——Matrix Multiplication
计算矩阵 A\mathbf{A}A 乘矩阵 B\mathbf{B}B 的结果,其中A∈R1000×800\mathbf{A}\in\mathbb{R}^{1000\times800}A∈R1000×800,B∈R800×1200\mathbf{B}\in\mathbb{R}^{800\times1200}B∈R800×1200。在下面的代码中:verify_result 函数用于验证使用 GPU 计算得到的结果是否与 CPU 计算得到的结果相同。MatrixMulCPU函数表示在 CPU 上计算。原创 2021-12-05 09:37:28 · 847 阅读 · 0 评论 -
CUDA 编程入门
CUDA编程入门更好的阅读体验CUDA 概述CUDA 是 NVIDIA 推出的用于其发布的 GPU 的并行计算架构,使用 CUDA 可以利用 GPU 的并行计算引擎更加高效的完成复杂的计算难题。在目前主流的使用冯·诺依曼体系结构的计算机中,GPU 属于一个外置的设备,因此即便在利用 GPU 进行并行计算的时候也无法脱离 CPU,需要与 CPU 协同工作。因此当我们在说 GPU 并行计算时,其实指的是基于 CPU+GPU 的异构计算架构。在异构计算架构中,CPU 和 GPU 通过 PCI-E 总线连接原创 2021-11-20 19:56:31 · 5187 阅读 · 0 评论 -
CUDA 编程——Vector Addition
1 准备工作1)安装 xshell2)远程连接服务器,打开 jupyter 服务3)网页进入对应的 jupyter 服务2 Launcher 的介绍3 查看 GPU 设备信息1)点击 Text File2)在其中输入对应的代码3)重命名文件,后缀名改为 .cu4)在 Terminal 中输入以下指令编译代码nvcc filename.cu -o filename.out5)在 Terminal 中输入一下指令运行可执行文件./filename.out4 向量加法的实现1)点原创 2021-11-18 20:34:37 · 1037 阅读 · 0 评论 -
CUDA 查看 GPU 设备信息
CUDA 查看 GPU 设备信息#include <stdio.h>#include <time.h>#include <math.h>#include "cuda_runtime.h"#include "device_launch_parameters.h"int main(){ cudaDeviceProp deviceProp; cudaGetDeviceProperties(&deviceProp, 0); pri原创 2021-11-18 20:20:17 · 2235 阅读 · 0 评论