这篇文章是对 CUDA 的超级简单介绍,CUDA 是 NVIDIA 流行的并行计算平台和编程模型。我之前在2013年写过一篇文章《CUDA简单介绍》,多年来一直很受欢迎。但 CUDA 编程变得更加容易,GPU 也变得更快,所以是时候进行更新(甚…
2023 年的 AI 产业可以用风起云涌来形容。ChatGPT 的横空出世让生成式 AI 技术一夜之间红遍全球,很多从未了解过人工智能的普通人也开始对大模型产生了浓厚的兴趣。媒体、调研机构纷纷推出长篇专题,论证 ChatGPT、StableDiffusion、Midjourney 等文本和图…
原论文:MapReduce: Simplified Data Processing on Large Clusters (OSDI’04) 1. Map and Reduce
Map:处理键值对,生成一组中间键值对Reduce:合并与同一中间键相关的所有中间值process overview:分割输入数据&#x…
MPI_Sendrecv函数原型
int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag,void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status);其中各个参数的含义如下&…
在前面的文章中,对点对点通信API进行了介绍,本文将对MPI组通信相关API进行介绍
一对多
Broadcast
将一个进程的数据广播到所有其他进程中,函数原型:
int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root…
MPI简介以及阻塞非阻塞代码示例
函数原型:
MPI_Send
int MPI_Send(void *buf, int count, MPI_Datatype datatype,
int dest, int tag, MPI_Comm comm)buf:指向发送缓冲区的指针;count:发出的消息的数量(例如,整数…
背景: 正做并行设计的时候,报错: terminate called after throwing an instance of ‘std::bad_alloc’ 查看代码,发现是在做并行计算任务id(字符串)获取之后,对id做一次按照\t的分割,并将结…