当前位置: 首页 > news >正文

Stanford CS149: Parallel Computing 学习笔记(施工中)

目录
  • 学习笔记
    • 三大核心理念
    • 并行化程序的过程
      • Decomposition
      • Assignment
      • Orchestration
      • mapping
    • GPU与CUDA
  • assignments
    • assignment1

学习笔记

三大核心理念

  1. 多核执行:发掘程序的并行性,将可以并行的部分交给不同的处理器核执行
  2. SIMD执行:通过向量化,让一个处理器核一条指令对一个向量执行相同的操作
  3. 硬件多线程:在一个处理器核中维护多个上下文,当一个线程停顿时(如cache miss),进行上下文切换执行其它线程,提高利用率

并行化程序的过程

Decomposition

发掘程序的并行性,将问题分解为可并行计算的多个小部分

Amdahl's law:设 \(S\)为程序中可以并行执行的部分,运行在\(p\)个处理器上,那么有加速比\(speedup \leq \frac{1}{(1-S)+\frac{S}{p}}\)

由此可见,设计的程序的可并行性是加速的决定性因素

ISPC 基本语法

Assignment

并行计算完成的时间,取决于最慢的那个线程

所以每个线程(或每个处理器核)执行的任务量越平均(即负载越平均),理论上花费的时间就越短

可以将任务按照粒度依次分配给每个进程,粒度越小进程的负载越平均,但是进程间通信的开销也会变大

Cilk 语法

Orchestration

通信是广义的,节点间存在通信,线程间存在通信,线程对内存的访问也是一种通信

共享地址空间系统(多线程共享内存):所有线程对同一个地址空间进行读写,缓存一致性由硬件自动维护,通过锁和屏障完成同步

消息传递系统(分布式系统):每个处理核或节点有独立的内存地址空间,需要通过显式发送和接受消息来通信

以下以消息传递系统为例,节点间的通信分为同步通信和异步通信

同步通信采用了阻塞发送/接收的方式达到同步,即一直阻塞知道消息发送/接收成功,编程简单,但是并发度低

异步通信采用非阻塞发送/接收,发送时将消息复制并暂存在缓冲区内,需要接收时再取走消息,高并发,但是编程复杂

算数强度:计算次数与通信次数的比例

按照通信的类型,可以分为固有通信人为通信,前者由算法固有的性质决定,后者由机器工作方式决定

通过改进算法(如使用分块技术)可以减少固有通信

mapping

并行任务被映射到对应的硬件上,可以由系统/程序员或者两者都有进行指定

GPU与CUDA

GPU的作用:给定一个场景的数学描述,经过模拟生成这个场景的图片,例如对每个像素计算一些输入,然后在每个像素上独立运行来计算一些颜色

在NVIDIA推出CUDA之前,操纵GPU进行科学计算需要将数据包装成图形渲染问题,这是相等低效且复杂的

GPU由很多个小的计算核心组成,所以可以很好地处理逻辑简单的并行计算

SM Processing Block组成如下

多个SMP组成了一个Stream Multi-processor(SM),一个SM内的SMP共享内存

在CPU上,由编译器在软件层面实现SIMD;GPU上则是在硬件层面,每个SMP对于它的一个wrap(多个连续的PC相同的Cuda进程)执行隐式SIMD

CUDA 语法

assignments

环境:

OS:Windows11 wsl2 6.6.87.2-microsoft-standard-WSL2 Ubuntu 24.04.3 LTS

CPU: Intel Core i7 13620H 8 cores, 10 logic processors, AVX2

GPU:NVIDIA GeForce RTX 4060 Laptop

assignment1

http://www.jsqmd.com/news/412984/

相关文章:

  • 突破瓶颈!提示工程架构师教你优化提示响应时间
  • 交叉编译python3.8版本
  • 工时日志在项目进度管理中扮演着怎样的角色?
  • 2026年知名的喷涂哪家专业工厂直供推荐 - 品牌宣传支持者
  • 北京宠物寄养学校哪家条件和服务比较好?北京宠物寄养宾馆酒店名单 - 品牌2025
  • 2026年通州狗狗训练哪家好?通州狗狗训练哪家条件和服务比较好 - 品牌2025
  • IBM-IT蓝图与实施规划
  • 微软偷偷放出一个量化利器,GitHub 狂揽3.7万Star!
  • 通州宠物寄养哪家好?2026年专业正规通州宠物寄养分享 - 品牌2025
  • 20年前,因冯巩一句话离开中国,洋人相声演员大山,如今怎样了?
  • 孙俪儿子帅到认不出!年仅14岁身高1米7,梦想打CBA职业联赛
  • 大部分人高估了自己出丑时被记住的概率
  • 通州宠物寄养寄养多少钱一天?哪家好?价格+通州宠物寄养寄养基地分享 - 品牌2025
  • 在OSPF中,哪些情况会导致邻居关系无法建立?‌
  • 通州、朝阳宠物训练哪家好?2026年通州、朝阳宠物训练基地分享 - 品牌2025
  • 基于Java+SpringBoot+SSM,SpringCloud智能垃圾分类助手系统(源码+LW+调试文档+讲解等)/智能垃圾分类软件/垃圾分类助手/智能分类系统/垃圾分类智能应用
  • 2026年通州狗狗训练哪家好?通州狗狗训练哪家比较专业正规 - 品牌2025
  • 2026年北京宠物寄养哪家好?春节北京宠物寄养专业正规基地名单 - 品牌2025
  • 巴菲特的竞争优势理论:护城河的重要性
  • 如何在基于MCU的边缘AI应用场景中实现高性能、低功耗推理!
  • 谷歌大面积封禁OpenClaw用户账号
  • 短期记忆在教育AI中的应用:个性化学习的关键
  • JSBridge在Electron Web中的应用:跨平台开发的通信解决方案
  • 【毕业设计】SpringBoot+Vue+MySQL 毕业就业信息管理系统平台源码+数据库+论文+部署文档
  • 【2025最新】基于SpringBoot+Vue的web影院订票系统管理系统源码+MyBatis+MySQL
  • SpringBoot+Vue 流浪动物救助网站平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • 流程工业MES生产执行与APC先进控制系统建设方案
  • 基于Java+SpringBoot+SpringBoot健康指导平台(源码+LW+调试文档+讲解等)/健康咨询服务平台/健康管理平台/健康资讯平台/健康指导服务/健康指导网站
  • 基于Java+SpringBoot+SpringBoot校园“财递通”快递代取系统(源码+LW+调试文档+讲解等)/校园快递代取服务/校园快递代取平台/校园快递助手/财递通系统/校园财递通服务
  • 2025年德国电气与电子产业出口额达2575亿欧元创历史新高