Re: [問題] OpenMP + STL一問
43
依照你的描述是希望有多個thread同時執行一個for迴圈
所以應該要寫#pragma omp parallel for private(it, newit)
不然語意是各個thread跑自己的for
※ 引述《DRLai (蘇打)》之銘言:
: #pragma omp parallel private(it, newit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: for( it = myArray.begin() ; it != myArray.end() ; ++it ) {
: // convert (*it) to new myclassB
: newit = convert( (*it) );
: if( myArray2.find( newit ) != myArray2.end() ) {
: // 如果轉換後可以在myArray2找到,則新增資料到myArray3
: newArray3.id = idCounter++;
: myArray3.insert( newArray3 );
: }
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.244.158
推
09/19 00:35, , 1F
09/19 00:35, 1F
→
09/19 06:58, , 2F
09/19 06:58, 2F
推
09/19 08:54, , 3F
09/19 08:54, 3F
→
09/19 10:23, , 4F
09/19 10:23, 4F
推
09/19 10:56, , 5F
09/19 10:56, 5F
→
09/19 10:56, , 6F
09/19 10:56, 6F
→
09/19 10:56, , 7F
09/19 10:56, 7F
→
09/19 10:56, , 8F
09/19 10:56, 8F
→
09/19 10:56, , 9F
09/19 10:56, 9F
我查了一下,openmp不支援用iterator的loop,index必須是int或long的標準型態
※ 編輯: kasase 來自: 140.112.244.158 (09/19 11:28)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):