求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导  
 电话 English
成功案例   品质保证
 
成功案例
某核电企 软件设计重构与代码
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式
 

全部课程 >软件设计  
多核计算与程序设计   
3017 次浏览  36 次
钧老师
曾任北京神州龙芯集成电路设计有限公司技术顾问、科电公司技术总监。
 
地点时间:北京 上海 深圳 根据报名开班
课程费用: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程序的问题分析
    • 代码实现与验证
       
    3017 次浏览  36 次
    其他人还看了课程
    可复用、扩展的业务平台设计  3195 次浏览
    Framework设计与应用   2751 次浏览
    软件(详细)设计师  2847 次浏览
    软件详细设计实践  2770 次浏览
    设计模式及最佳实践  6058 次浏览
    软件设计模式最佳实践  11001 次浏览
    定制内训


    咨询服务:架构评估与优化
    咨询目标
    对现有的架构进行评估,发现问题,并优化
    咨询范围 业务架构,应用架构,数据架构,技术架构
    咨询方式 对现有架构进行建模,然后诊断问题,对问题进行集成分析,设计优化方案,指导团队实施优化,最终效果评估。
    成功案例 中国移动广西分公司,中国电信
    详情咨询:010-62670969, zhgx@uml.net.cn
    课程计划
    SysML和EA系统设计与建模 7-26[特惠]
    Python、数据分析与机器学习 8-23[特惠]
    软件架构设计方法、案例实践 8-23[特惠]
    嵌入式软件架构设计 8-22[线上]
    Linux内核编程及设备驱动 7-25[北京]