openMP多核编程框架
OpenMP是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套编译指令 (Compiler Directive)。OpenMP支持的编程语言包括C语言、C++和Fortran;而支持OpenMP的编译器包括Sun Compiler,GNU Compiler和Intel Compiler等。OpenMP提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP 时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。
OpenMP提供的这种对于并行描述的高层抽象降低了并行编程的难度和复杂度,这样程序员可以把更多的精力投入到并行算法本 身,而非其具体实现细节。对基于数据分集的多线程程序设计,OpenMP是一个很好的选择。同时,使用OpenMP也提供了更强的灵活性,可以较容易的适 应不同的并行系统配置。线程粒度和负载平衡等是传统多线程程序设计中的难题,但在OpenMP中,OpenMP库从程序员手中接管了部分这两方面的工作。
但是,作为高层抽象,OpenMP并不适合需要复杂的线程间同步和互斥的场合。
OpenMP的另一个缺点是不能在非共享内存系统(如计算机集群)上使用。在这样的系统上,MPI使用较多。
评论
openMP多核编程框架
OpenMP是由OpenMPArchitectureReviewBoard牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套编译指令(CompilerDirective)。Ope
openMP多核编程框架
0
Threading Building Blocks (TBB)多核编程框架
在多核的平台上开发并行化的程序,必须合理地利用系统的资源-如与内核数目相匹配的线程,内存的合理访问次序,最大化重用缓存。有时候用户使用(系统)低级的应用接口创建、管理线程,很难保证是否程序处于最佳状态
Threading Building Blocks (TBB)多核编程框架
0
Threading Building Blocks (TBB)多核编程框架
在多核的平台上开发并行化的程序,必须合理地利用系统的资源 - 如与内核数目相匹配的线程,内存的合理访
Threading Building Blocks (TBB)多核编程框架
0
libDMFGUI编程框架
libDMF(DistributedMultiplatformFramework)是一个基于组件的编程框架,使用XML作为资源库。提供了控制台和wxWidgets的实例,显示GUI和UI的独立性。
libDMFGUI编程框架
0