• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            jianlinzhang

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              16 隨筆 :: 2 文章 :: 17 評論 :: 0 Trackbacks
            包含 <omp.h>

            OpenMP的指令有以下一些:
                   parallel,用在一個代碼段之前,表示這段代碼將被多個線程并行執行
                   for,用于for循環之前,將循環分配到多個線程中并行執行,必須保證每次循環之間無相關性。
                   parallel for, parallel 和 for語句的結合,也是用在一個for循環之前,表示for循環的代碼將被多個線程并行執行。
                   sections,用在可能會被并行執行的代碼段之前
                   parallel sections,parallel和sections兩個語句的結合
                   critical,用在一段代碼臨界區之前
                   single,用在一段只被單個線程執行的代碼段之前,表示后面的代碼段將被單線程執行。
                   flush
            barrier,用于并行區內代碼的線程同步,所有線程執行到barrier時要停止,直到所有線程都執行到barrier時才繼續往下執行。
            atomic,用于指定一塊內存區域被制動更新
            master,用于指定一段代碼塊由主線程執行
            ordered, 用于指定并行區域的循環按順序執行
            threadprivate, 用于指定一個變量是線程私有的。
            OpenMP除上述指令外,還有一些庫函數,下面列出幾個常用的庫函數:
                   omp_get_num_procs, 返回運行本線程的多處理機的處理器個數。
                   omp_get_num_threads, 返回當前并行區域中的活動線程個數。
                   omp_get_thread_num, 返回線程號
                   omp_set_num_threads, 設置并行執行代碼時的線程個數
            omp_init_lock, 初始化一個簡單鎖
            omp_set_lock, 上鎖操作
            omp_unset_lock, 解鎖操作,要和omp_set_lock函數配對使用。
            omp_destroy_lock, omp_init_lock函數的配對操作函數,關閉一個鎖
             
            OpenMP的子句有以下一些
            private, 指定每個線程都有它自己的變量私有副本。
            firstprivate指定每個線程都有它自己的變量私有副本,并且變量要被繼承主線程中的初值。
            lastprivate主要是用來指定將線程中的私有變量的值在并行處理結束后復制回主線程中的對應變量。
            reduce用來指定一個或多個變量是私有的,并且在并行處理結束后這些變量要執行指定的運算。
            nowait忽略指定中暗含的等待
            num_threads指定線程的個數
            schedule指定如何調度for循環迭代
            shared指定一個或多個變量為多個線程間的共享變量
            ordered用來指定for循環的執行要按順序執行
            copyprivate用于single指令中的指定變量為多個線程的共享變量
            copyin用來指定一個threadprivate的變量的值要用主線程的值進行初始化。
            default用來指定并行處理區域內的變量的使用方式,缺省是shared



















            文章出處:
            http://blog.csdn.net/drzhouweiming/archive/2006/08/28/1131537.aspx
            http://blog.csdn.net/drzhouweiming/archive/2006/09/04/1175848.aspx
            posted on 2009-05-14 09:11 張建林 閱讀(867) 評論(0)  編輯 收藏 引用
            久久精品国产精品亚洲毛片| 亚洲精品NV久久久久久久久久 | 免费观看久久精彩视频| 久久国产精品一区二区| 精品一久久香蕉国产线看播放| 精品无码久久久久久久动漫| 日本高清无卡码一区二区久久| 亚洲中文久久精品无码ww16| 久久国产精品久久久| 亚洲国产视频久久| 久久99毛片免费观看不卡 | 久久亚洲sm情趣捆绑调教| 亚洲AV日韩AV天堂久久| 久久精品国产亚洲av瑜伽| 77777亚洲午夜久久多喷| 国产一区二区精品久久岳 | 99久久国产热无码精品免费久久久久| 国产精品久久久久乳精品爆| 中文字幕日本人妻久久久免费 | 日韩精品久久无码中文字幕| 精品久久久久久无码国产| 中文字幕无码精品亚洲资源网久久 | 久久91精品综合国产首页| 久久精品国产亚洲av日韩| 亚洲精品WWW久久久久久| 国产999精品久久久久久| 99久久精品国产麻豆| 一本一道久久综合狠狠老| 久久亚洲sm情趣捆绑调教| 亚洲国产香蕉人人爽成AV片久久| 日韩精品国产自在久久现线拍| 久久精品国产亚洲AV麻豆网站| 久久久无码精品亚洲日韩京东传媒 | 欧美国产成人久久精品| 久久国产精品一区| 精品久久久久久久久久中文字幕| 青青青青久久精品国产 | 国产V综合V亚洲欧美久久| 午夜久久久久久禁播电影| 中文字幕久久波多野结衣av| 亚洲熟妇无码另类久久久|