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

随时听讲座
每天看新闻
 
   
成功案例
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式
北京 软件设计原理与实践

 
全部课程 >软件设计  
多核计算与程序设计   
钧老师
曾任北京神州龙芯集成电路设计有限公司技术顾问、科电公司技术总监。
报名课程   978 次浏览  149 次
地点时间:北京 上海 深圳 根据报名开班
课程费用: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程序的问题分析
    • 代码实现与验证
     
    978 次浏览  149 次
    其他人还看了课程
    软件(详细)设计师  834 次浏览
    设计模式及最佳实践  2910 次浏览
    软件设计原理与实践  1067 次浏览
    面向对象的设计模式  927 次浏览
    软件详细设计、建模与编档  1854 次浏览
    程序性能提升与优化 培训方案  1647 次浏览
    定制内训


    咨询服务:架构评估与优化
    咨询目标
    对现有的架构进行评估,发现问题,并优化
    咨询范围 业务架构,应用架构,数据架构,技术架构
    咨询方式 对现有架构进行建模,然后诊断问题,对问题进行集成分析,设计优化方案,指导团队实施优化,最终效果评估。
    成功案例 中国移动广西分公司,中国电信
    详情咨询:010-62670969, zhgx@uml.net.cn

    最新活动计划
    [北京]需求分析最佳实践 10-11
    [北京]HTML5与前端框架高级实战 10-18
    [北京]人工智能机器和深度学习 10-22
    [北京]配置管理与持续集成实践 10-26
    [北京]Oracle数据库性能优化实践 10-29
    [北京]产品经理与产品管理 11-1
    [上海]程序性能提升与优化 11-2
    [上海]产品需求分析与管理 11-4
    [深圳]深度学习&Tensorflow框架 10-25
    [深圳]嵌入式软件架构高级实践 11-3
    [深圳]数据仓库多维建模方法与应用 11-24
     
     
     

     
    每天2个文档/视频
    扫描微信二维码订阅
    订阅技术月刊
    获得每月300个技术资源
     
    希望我们的资料可以帮助你学习,也欢迎投稿&提建议给我
    频道编辑:sky
    邮       件:sky@uml.net.cn

    关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号