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