当前位置:主页 > 计算机电子书 > 网络与数据通信 > 科学计算下载
科学计算与企业级应用的并行优化

科学计算与企业级应用的并行优化 PDF 高清完整版

  • 更新:2023-08-03
  • 大小:94 MB
  • 类别:科学计算
  • 作者:刘文志
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

这本书系统、深入地讲解了科学计算及企业级应用的并行优化方法与最佳实践。对于对并行计算与优化有兴趣的读者来说,这本书是一本不可多得的宝藏。作者对并行计算的各个方面,包括并行算法、软件工具、性能调优等进行了全面而深入的讲解,帮助读者理解和掌握并行计算的核心概念与技巧。通过阅读本书,读者不仅可以了解到科学计算与企业级应用中并行优化的重要性,还能够学习到许多实用的优化方法和最佳实践。这本书是一本知识丰富、实用性强的指南,值得读者下载了解一下。

科学计算与企业级应用的并行优化

科学计算与企业级应用的并行优化 电子书封面

内容节选

【科学计算与企业级应用的并行优化】
1、并行:指令并行、数据并行和线程并行;
2、一级缓存单核心独享,二级缓存多核心共享;
3、一个内核访问数据时,另一个内核进行计算,提高了设备的利用率;
4、CUDA编程中warp对齐;
5、全局存储器合并访问;
6、减少全局存储器的操作,使用局部存储器代替;
7、常量存储器/纹理存储器:const __restrist__指针;
8、减少非合并访问的影响,存储方式的优化:__constant__、const __restrist__关键字;
9、AVX向量指令集:__m256、__m128前缀;
10、线程同步:__syncthreads()
11、NEON指令集;
12、合理安排指令顺序,更好地使用预取技术;
13、CUDA:__shared__、__global__、__constant__、...
14、动态负载均衡,OpenMP;
15、存储器合并访问;
16、<<<、>>>是什么操作?:cuda核函数运行参数;
17、反汇编看优化代码;
18、Caffe卷积软件;

内容介绍

《科学计算与企业级应用的并行优化》系统、深入讲解了科学计算及企业级应用的并行优化方法与最佳实践。第1章介绍了常见的并行编程基于的多核/众核向量处理器架构。第2章介绍了如何在X86、ARM和GPU上优化常见的线性代数运算。第3章介绍了如何在X86和GPU处理器上优化偏微分方程的求解。第4章介绍了如何在X86处理器和GPU上优化常见的分子动力学算法。第5章详细介绍了如何在X86、ARM和GPU上优化常见的机器学习算法。

目录

  • 前言
  • 第1章 多核向量处理器架构 1
  • 第2章 常见线性代数算法优化 44
  • 第3章 优化偏微分方程的数值解法 82
  • 第4章 优化分子动力学算法 97
  • 第5章 机器学习算法 127

资源下载

资源下载地址1:https://pan.baidu.com/s/1MKQ_sm1WrCA7EZP0yzJ1fg

相关资源

网友留言

网友NO.20580
景翰翮

硬件的性能最终由程序代码实现。代码中的各个部分(如访存、计算)如何在硬件上执行,在硬件上执行时,其具体行为如何;这些问题的答案都影响了代码的最终性能。目前看来只有OpenCL才有可能在主流的多核向量处理器(CPU、MIC、GPU、FPGA等)上都得到支持(即一份代码可以在这些平台上运行),故本章只介绍OpenCL程序如何映射到CPU和GPU上执行。 处理器和程序是两个相互独立、而又相互联系的事物。在计算机编程的发展史上,有些看起来相互矛盾的几个现象一直在共同发展,即: 1)程序要独立于硬件,不能过分依赖硬件。为了更好地达到这一目标,有解释型编程语言、运行时编译(Just In Time,JIT)等技术支持,如CUDA的JIT驱动能够编译PTX为可执行代码,Python和Bash会解释执行代码,Java虚拟机和C#的CRT则上升到另外一个层面。 2)依据硬件的特性设计程序。为了发挥硬件的性能,许多软件开发人员不得不依据硬件的特性来设计程序,比如X86处理器是否支持popcount(用来计算二进制表示的数据中1的数量)就可能导致完全不同的算法设计;在基于GPU的异构并行计算平台上,PCI-E的带宽在很大程度上影响了算法的设计策略。 3)依据程序来设计硬件。为了让程序在自家的处理器上运行得更快,硬件生产商会依据一些典型的应用的计算特点来设计处理器,让处理器在这些典型的应用上性能非常好。这类典型的应用有Stencil、矩阵乘等。 从某种程度上说,这些现象是相互矛盾的,一方面要求独立于硬件,另一方面又要求依赖硬件;从另外一方面来说,这些现象又是相互融合的,软件开发人员依据硬件设计程序和硬件生产商依据典型应用程序来设计硬件都是为了让应用的计算性能更优;而不同的编程语言希望独立于硬件则是为了让使用该语言编写的应用能够运行在更多的平台上。 本章将介绍目前市场上的主流多核向量处理器(如AMD GPU、NVIDIA GPU、Intel MIC、ARM A15 CPU和Intel Haswell)的硬件组织架构,以及OpenCL程序如何映射到这些硬件上执行。为简单起见,本章只介绍和性能优化相关的部分。