并行计算:原理、优势与挑战
1. 为何要学习并行计算
1.1 串行性能瓶颈与并行计算的崛起
随着处理器设计在小型化、时钟频率、功耗和散热等方面达到极限,串行性能的提升已趋于平缓。从 2005 年开始,CPU 核心数量从单核突然增加到多核,同时时钟频率和功耗趋于平稳,但理论性能却因核心数量的增加而稳步提升。这表明,要实现中央处理器(CPU)的最佳性能,只能通过并行计算。
现代消费级计算硬件配备了多个中央处理器(CPU)和/或图形处理器(GPU),能够同时处理多个指令集。这些小型系统的计算能力常常可与二十年前的超级计算机相媲美。为了充分利用计算资源,程序员需要了解编写并行应用程序的工具,并理解提升并行性的硬件特性。
1.2 并行硬件特性带来的复杂性
- 超线程技术(Hyperthreading) :由英特尔引入,通过两个指令队列将工作交错分配给硬件逻辑单元,使单个物理核心在操作系统(OS)中看起来像两个核心。
 - 向量处理器(Vector Processors) :大约在 2000 年开始出现在商用处理器中,能够同时执行多个指令。向量处理器的位宽(也称为向量单元)决定了同时执行的指令数量。例如,一个 256 位宽的向量单元可以一次执行四个 64 位(双精度)或八个 32 位(单精度)指令。
 
1.3 串行程序对硬件资源的利用率
以一台常见的配备超线程和 256 位宽向量单元的 16 核 CPU 为例,一个仅使用单个核心且未进行向量化的串行程序,仅利用了该处理器理论处理能力的 0
                      
                            
                        
                            
                            
                          
                          
                            
                  
                订阅专栏 解锁全文
                
            
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					1055
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            