当前位置:   article > 正文

并行:5 线程网格、线程块以及线程_论述线程、线程块、网格的概念、原理及作用;

论述线程、线程块、网格的概念、原理及作用;

5.1 简介

  • 英为它的硬件调度方式选择了一种比较有趣的模型,即SPMD,属SIMD的一种变体。
    • 这种调度方式的选择是基于英伟达自身底层硬件的实现。
  • 并行编程的核心是线程,一个线程就是程序中的一个单一的执行流,就像一件衣服上的一块棉,一块块棉交织
    在一起织成了衣服,同样,一个个线程组合在一起就形成了并行程序。
  • CUDA的编程模型将线程组合在一起形成了线程束、线程块以及线程网格。
  • 本章,一起来了解这些概念。

5.2 线程

线程是并行程序的基本构建块。

  • 做过多核程序设计的C程序员而言,
  • 这个概念并不陌生。
  • 即使一个程序员从来没有在代码中发起过一个线程,起码也执行过一个线程,因为任何序列化的代码都是以单线程的方式执行的。

随着双、四、十六甚至更多的处理器的出现,

  • 我们将更多的注意力放到了程序员如何充分利用这些硬件上。
  • 在过去的很多年里,程序员的程序都是单线程的,因为当时CPU也是单核的。
  • 当然,你可利用更多的硬件设备或者成千上万的商用服务器来取代少数的实力强劲的机器,从而通过集群式计算机和超级计算机的方式来尝试进行一个更高层次的并行编程。
  • 但这些仅限于一些大学和大型机构使用

实现多线程并行很难,但实现一次执行一个任务却简单

  • 每隔几年,串行处理速度就提升一倍,因此没需要去进行困难的并行编程。
    • 串行编程语言C++就在这样一个时代应运而生。
  • 十年前,这种情况发生了变化。
  • 现在,要想提高程序的速度,就必须考虑并行

5.2.1 问题分解

here!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/261504
推荐阅读
相关标签
  

闽ICP备14008679号