求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
联想 服 业务需求分析与建模
电研华源 设计原理、建模与重
蓝拓扑 设计模式原理及应用
中达电通 设计模式原理与实践
通号院 UML+Rhaps
阿里巴巴 设计模式

 

多核计算与程序设计     3853 次浏览    1278 次 
 
主讲:钧老师,曾任北京神州龙芯集成电路设计有限公司技术顾问、科电公司技术总监。
时间地点: 北京 上海 深圳 根据报名开班
课程费用: 4500/人,详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册
 
本课程针对多核程序设计,讲解相关的多核编程基础知识、数据结构和查找算法、并行计算的编程模式、任务分解与调度模式、多核共享资源的竞争和同步管理。课程从多核程序的基础知识到实际应用,帮助开发者建立一个有效的程序开发体系框架。
 
培训目标:
  • 了解多核编程常见问题、锁竞争、加速比、负载均衡
  • 了解介绍多核编程的基础知识:多线程退出算法、读写锁、旋转锁、原子操作,
  • 了解基于OpenMP标准的并行程序设计基础等;
  • 理解多核编程的基础的数据结构与算法:数组、链表、哈希表、二叉树、AVL树、复合二叉树
  • 理解多线程并行遍历的基本方法。
  • 理解并行编程模式:分治模式、流水线模式、任务图分解与调度模式、动态任务调度模式等,
  • 了解并行搜索、并行排序、 并行数值计算包括并行矩阵乘法、并行前缀和计算的原理和应用。
  • 如何解决多核系统中的计算随CPU核数的扩展性,
  • 掌握分布式计算设计模式如线程分组竞争模式、条件同步模式、批量私有化处理模式、数据本地化模式等。
  • 了解适应多核的内存管理方案。
  • 了解并行计算的任务分解与调度原理和实现方法
培训对象:软件开发工程师
学员基础:具有多核编程的基本概念和初步经验
授课方式: 小班授课(12人之内)+ 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容:2天
多核计算概述
  • 多核编程会遇到那些问题
  • 多核编程与单核多线程编程的区别
  • 多核编程与多机分布式编程的区别
  • 加速比系数
  • 锁竞争问题及对加速比的影响
  • 负载平衡问题对加速比的影响
多线程编程基础
  • 多线程编程基本概念
  • 各种锁性能比较
  • 读写锁算法
  • 多线程退出算法
OpenMP程序设计
  • OpenMP基本概念
  • OpenMP编程模型
  • 线程创建与工作分摊
  • 数据处理
  • 任务调度
  • 线程间的同步
  • OpenMP库函数详解
  • OpenMP环境变量
  • OpenMP内部控制变量及相关流程
基础数据结构与算法
  • 数组
  • 链表
  • 哈希表
  • 普通树与二叉树
  • AVL搜索树
  • 复合二叉树
并行程序设计模式
  • 模式数据分解模式
  • 分治模式
  • 流水线模式
  • 任务并行模式
  • 任务调度模式
并行搜索
  • 并行顺序搜索
  • 串行Dijkstra最短路径搜索
  • 并行最短路径算法
并行排序
  • 冒泡排序
  • 快速排序
  • 并行归并排序
  • 基数排序
并行数值计算
  • 多核并行数值计算面临的问题
  • 求和及前缀求和
  • 矩阵相加
  • 矩阵相乘
  • 矩阵向量相乘
  • 并行随机数生成
共享资源分布式计算
  • 共享资源计算的负载均衡问题
  • 共享资源计算的算法设计思路与方法
  • 分布式计算设计模式
  • 线程分组竞争模式
  • 线程随机竞争模式
  • 数据本地化模式
  • 分布式数据结构设计
  • 分布式队列
  • 分布式查找
分布式内存管理
  • 多核内存管理的基本思想
  • 等尺寸内存管理
  • Freelist编码实现
  • Intel 开源项目TBB中的内存管理
  • 抢夺式内存管理算法
  • 伪共享问题的深入分析
任务分解与调度
  • 任务分解与调度的问题
  • 任务间负载均衡的影响因素
  • 任务图调度模型
  • 任务组调度算法
  • 任务图调度算法
  • 手工任务分解的原则和方法
  • 算法流程图
  • 数据结构与接口设计
  • 代码实现
  • 动态任务分解与调度
  • 非嵌套型动态任务调度
  • 嵌套型动态任务调度
  • 网络服务器软件中的任务调度
Lock-Free编程基础
  • 问题的引入和思考
  • Lock-Free编程的基本原理
  • Lock-Free的队列
  • Lock-Free程序的问题分析
  • 代码实现与验证
3853 次浏览   1278 次
其他人还看了课程
软件(详细)设计师  3809 次浏览
多核计算与程序设计  3854 次浏览
程序性能提升与优化 培训方案  4533 次浏览
设计模式及最佳实践  8015 次浏览
可复用、扩展的业务平台设计  4014 次浏览
软件设计原理与实践  3469 次浏览
定制内训




最新活动计划
MBSE(基于模型的系统工程)10-29[北京]
DoDAF规范、模型与实例 11-5[北京]
QT应用开发 11-21[北京]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]