并行编程

2024/4/12 14:05:56

CUDA编程(九)并行矩阵乘法

CUDA编程(九) 矩阵乘法 在之前我们一直围绕着一个非常简单的求立方和的小程序学习CUDA,从编写到优化,学习了很多,包括CUDA GPU的架构,如何评估程序,并行优化,内存优化,…

并发编程之ForkJoin并行处理框架

文章目录前言何为ForkJoinJDK ForkJoin运用ForkJoin原理ForkJoin源码解析ForkJoinPool源码解析ForkJoinTask源码解析ForkJoinWorkerThread源码解析ForkJoinTask实现类ForkJoin实战结论前言 随着当代应用系统要求的QPS/TPS日益增加,很多的业务编程都需要用到多线程并…

CUDA编程(十)使用Kahan's Summation Formula提高精度

CUDA编程(十) 使用Kahan’s Summation Formula提高精度 上一次我们准备去并行一个矩阵乘法,然后我们在GPU上完成了这个程序,当然是非常单纯的把任务分配给各个线程,也没有经过优化。最终我们看到,执行效率…

CUDA编程(四)并行化我们的程序

CUDA编程(四) CUDA编程(四)并行化我们的程序 上一篇博客主要讲解了怎么去获取核函数执行的准确时间,以及如何去根据这个时间评估CUDA程序的表现,也就是推算所谓的内存带宽,博客的最后我们计算…

CUDA编程(七)共享内存与Thread的同步

CUDA编程(七) 共享内存与Thread的同步 在之前我们通过block,继续增大了线程的数量,结果还是比较令人满意的,但是也产生了一个新的问题,即,我们在CPU端的加和压力变得很大,所以我们…

CUDA编程(八)树状加法

CUDA编程(八) 树状加法 上一篇博客我们介绍了ShareMemory和Thread同步,最后利用这些知识完成了block内部线程结果的加和,减轻了CPU的负担,结果还是比较令人满意的,但是block的加和工作是使用一个thread0单…

MPI并行编程技术

MPI并行编程技术 MPI含义及环境搭建安装点对点通信阻塞型接口MPI_SendMPI_Recv 阻塞式示例tag雅可比迭代示例死锁 MPI含义及环境搭建安装 MPICH官网 Github地址 MPI历史版本下载地址 安装教程 MPI介绍 MPI课程 点对点通信 阻塞型接口 MPI_Send MPI_Recv 阻塞式示例 tag 雅…

性能优化-OpenMP基础教程(二)

本文主要介绍OpenMP并行编程的环境变量和实战、主要对比理解嵌套并行的效果。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 &…

AMD HIP并行编程语言及其矢量相加实例——一文带你快速入门

✍️写在前面:随着计算的应用场景变得日益复杂多样,为了跟上人工智能算法对算力的需求,GPU硬件架构快速走向多样化,GPU生产厂家众多,且在商业和市场等因素的影响下,GPU通用计算编程模型也日益多元化。因此&…

OpenMP

最近在看多核编程。简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编…

性能优化-OpenMP基础教程(三)

本文主要介绍OpenMP并行编程的环境变量和实战、主要对比理解嵌套并行的效果。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 &…

CUDA编程(六)进一步并行

CUDA编程(六) 进一步并行 在之前我们使用Thread完成了简单的并行加速,虽然我们的程序运行速度有了50甚至上百倍的提升,但是根据内存带宽来评估的话我们的程序还远远不够,在上一篇博客中给大家介绍了一个访存方面非常…

性能优化-OpenMP基础教程(一)

本文主要介绍OpenMP并行编程技术,编程模型、指令和函数的介绍、以及OpenMP实战的几个例子。希望给OpenMP并行编程者提供指导。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC&am…