cudaOpenMP项目展示了如何在cuda项目中运用openmp技术。
该项目位于cuda samples文件夹下的0_Simple/cudaOpenMP文件夹下。
在正式开始剖析代码之前,让我们先来了解一下openmp的背景知识。
OpenMP
根据百度百科,OpenMP是用于共享内存并行系统的多线程程序设计的一套指导性的编译处理方案。
简单来讲,我们可以把OpenMP理解为一个并行线程库,它跟linux下的pthread库很类似,但是相比后者而言,OpenMP具有更加简单的编程逻辑。
OpenMP目前支持两类语言:C/C++和Fortran,对于C/C++程序员来说,使用OpenMP非常容易,目前市面上流行的各种编译器:gcc、visual c++ cl以及clang均不同程度地实现了对OpenMP的支持,更多的信息可以从下面几个链接中获得:
OpenMP官网:
http://openmp.org
GCC OpenMP: