1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        openMP多核編程框架

        聯(lián)合創(chuàng)作 · 2023-09-29 14:01

        OpenMP是由OpenMP Architecture Review Board牽頭提出的,并已被廣泛接受的,用于共享內(nèi)存并行系統(tǒng)的多線程程序設(shè)計(jì)的一套編譯指令 (Compiler Directive)。OpenMP支持的編程語(yǔ)言包括C語(yǔ)言、C++和Fortran;而支持OpenMP的編譯器包括Sun Compiler,GNU Compiler和Intel Compiler等。OpenMP提供了對(duì)并行算法的高層的抽象描述,程序員通過(guò)在源代碼中加入專用的pragma來(lái)指明自己的意圖,由此編譯器可以自動(dòng)將程序進(jìn)行并行化,并在必要之處加入同步互斥以及通信。當(dāng)選擇忽略這些pragma,或者編譯器不支持OpenMP 時(shí),程序又可退化為通常的程序(一般為串行),代碼仍然可以正常運(yùn)作,只是不能利用多線程來(lái)加速程序執(zhí)行。

        OpenMP提供的這種對(duì)于并行描述的高層抽象降低了并行編程的難度和復(fù)雜度,這樣程序員可以把更多的精力投入到并行算法本 身,而非其具體實(shí)現(xiàn)細(xì)節(jié)。對(duì)基于數(shù)據(jù)分集的多線程程序設(shè)計(jì),OpenMP是一個(gè)很好的選擇。同時(shí),使用OpenMP也提供了更強(qiáng)的靈活性,可以較容易的適 應(yīng)不同的并行系統(tǒng)配置。線程粒度和負(fù)載平衡等是傳統(tǒng)多線程程序設(shè)計(jì)中的難題,但在OpenMP中,OpenMP庫(kù)從程序員手中接管了部分這兩方面的工作。

        但是,作為高層抽象,OpenMP并不適合需要復(fù)雜的線程間同步和互斥的場(chǎng)合。

        OpenMP的另一個(gè)缺點(diǎn)是不能在非共享內(nèi)存系統(tǒng)(如計(jì)算機(jī)集群)上使用。在這樣的系統(tǒng)上,MPI使用較多。

        瀏覽 27
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本操逼视频免费看 | 伊人大香蕉在线视频 | 日本免费一区二区三区四区 | 欧美精品人妻一区二区免费视频 | 91人妻无码专区A片奶水牛牛 | 女人成人网站 | 特级西西444www精品视频 | 国产美女高潮视频A片一区 | 色噜噜狠狠一区二区三区Av蜜芽 | 国产免费福利小视频 |