単純なループの場合は parallel for に頼らず自前で各スレッドのループ範囲を決めれば break できる。
フラグを使うのはスレッド間の同期に必要なので、break できたとしても無くせないと思われ。
#include <stdio.h>
#include <omp.h>
#define FIN 100
#define TARGET 70
int main(){
int i, found=0, cnt=0;
#pragma omp parallel reduction(+:cnt)
{
int t, n, is, ie;
t = omp_get_num_threads();
n = (FIN + t - 1) / t;
is = n * omp_get_thread_num();
ie = (is + n < FIN) ? is + n : FIN;
printf("%d: %d-%d\n", omp_get_thread_num(), is, ie);
for(i = is; !found && i < ie; i++){
printf("%d: %d\n", omp_get_thread_num(), i);
cnt++;
if (i == TARGET){
found = 1;
#pragma omp flush(found)
printf("%d: found\n", omp_get_thread_num());
}
}
printf("%d: %d loops\n", omp_get_thread_num(), cnt);
}
printf("total %d loops\n",cnt);
return 0;
}
ニュース
- 「日本製品を見かけなくなった」日本のGDPが「世界6位」転落へ インド・イギリスに抜かれ…復活のカギは「代わりのきかない技術」 [煮卵★]
- 日本のGDP、世界6位転落へ…薬物もやらない勤勉な日本人が貧しくなる屈辱は“完全な政策ミス”か? ★3 [ぐれ★]
- 【速報】ちゃんみなさん運転の乗用車が電動キックボードやトラックに接触する事故 東京・渋谷区の交差点 けが人なし [Anonymous★]
- 「日本製品を見かけなくなった」日本のGDPが「世界6位」転落へ インド・イギリスに抜かれ…復活のカギは「代わりのきかない技術」★2 [煮卵★]
- パトカーに置かれた謎の封筒 差出人は“月光仮面” 中には現金240円「交通遺児のために使ってください」 [Anonymous★]
- 佳子さまの前を横切る女性、一瞬の隙だったが… “警備の甘さ”に「SP何やってんの?」波紋広がる [少考さん★]
- ジャップ「アメリカ人はソーリーと言ったら負けだから日本人と違って謝らない!w」 [779857986]
- PHP脆弱性 政府サイトの一部や県警のサイトも公開停止 再開時期は未定 [459590647]
- 片腕、ガチで女からモテないww [347751896]
- 【悲報】マイナンバーカード総合サイトが停止。再開時期未定 [256556981]
- 高市早苗「いい加減うんざり」理解得られぬ国民に愚痴をこぼす🥺 [518915984]
- 月光仮面「わずかですが、交通遺児のために使ってください」240円寄付 [455679766]