C++并行應用開發包,Thrust v1.6.0 發布

fmms 12年前發布 | 7K 次閱讀 C/C++

Thrust 是一個開源的 C++ 庫用于開發高性能并行應用程序,以 C++ 標準模板庫為藍本實現,Thrust 帶來一系列并行計算領域的抽象層。

C++并行應用開發包,Thrust v1.6.0 發布

下面示例代碼用來并行結算 100 個隨機數的和:

#include 

   


#include 

    


#include 

     


#include 

      


#include 

       


#include 

        

          #include 

         

           int main(void)
{
  // generate random data serially
  thrust::host_vector

          

            h_vec(100);
  std:generate(h_vec.begin(), h_vec.end(), rand);

  // transfer to device and compute sum
  thrust::device_vector

           

             d_vec = h_vec;
  int x = thrust::reduce(d_vec.begin(), d_vec.end(), 0, thrust::plus

            

             ());
  return 0;
}

            

           

          

         

        

       

      

     

    

   


Thrust v1.6.0 發布,該版本允許開發者擴展和定制 Thrust 算法,甚至是重新開發整個全新的并行處理后端。同時 1.6 版本還增加對基于 TBB (Threading Building Blocks) 庫的后端系統,可更好的將 Thrust 算法已現有的已依賴 TBB 運行的應用進行集成,用于智能的任務調度。

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!