タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

C++とmemory modelに関するUSAGI-WRPのブックマーク (1)

  • OpenMP 2.0とメモリモデルの闇 - yohhoyの日記

    OpenMPが提供するロック獲得/解放omp_set_lock/omp_unset_lock関数と、OpenMPメモリモデルおよびflush指示文に関するメモ。 一見問題がなさそうな下記コードは、OpenMP 2.0以前の仕様に従って厳密に解釈するとプログラマの期待通り動作する保証がない。この仕様上の欠陥はOpenMP 2.5にて修正されている。 #include <assert.h> #include <omp.h> int main() { int count = 0; omp_lock_t lockvar; omp_init_lock(&lockvar); #pragma omp parallel thread_num(10) { //... omp_set_lock(&lockvar); count++; omp_unset_lock(&lockvar); //... } asse

    OpenMP 2.0とメモリモデルの闇 - yohhoyの日記
  • 1