openmp

    0

    1答えて

    #pragma omp parallel for num_threads(6) for (int m = 0; m < k_num; m++) { Point(0, 0) = double(data3[j * 3]) - mean1[m].at<double>(0, 0); Point(0, 1) = double(data3[j * 3 + 1])

    0

    1答えて

    私は現在、大きなデータセットで動作し、最後に配列を生成するコードを持っています。これは、グローバルバッファに配列を追加する必要があり、これはすべてループ内で発生します。例えば。 for(i=0;i<10000;i++) { <1. do some processing, generate a 1M-sized array> <2. update this array into glob

    1

    1答えて

    メキシコからのご挨拶! 私は、再帰を含むいくつかのコードを並列化する作業に直面していましたが、いくつかの研究を行った後、ompのタスクを利用するのが最善の方法であることに気付きました。しかし、そのランタイムはシリアル対応のものよりかなり大きいようです。 私はこの質問がこのフォーラムで2,3回以上尋ねられていることを知っていますが、提案された解決策のどれも私のケースに合っていないようです。 以下、私

    1

    1答えて

    私はopenMPを使ってディスクからたくさんの行を含む大きなファイルを読みたいと思っています。それを行う1つの方法は、seekg()機能を使用するようです。しかし、頭痛の部分はseekg()のみで、ファイルインデックスを特定のバイトに移動することができます。 これは、各行のサイズがまったく同じ場合は問題ありません。しかし、私は、各行のサイズがまったく違うなら、それをどうやって行うのか分かりません。

    3

    1答えて

    私は、ループの各反復をOpenMPセクションにすることで、OpenMPの範囲ベースのforループを並列化しようとしています。私はこれをしたい: #pragma omp parallel sections { for (auto x : range) { #pragma omp section // LOTS OF CODE HERE } } しかし、これは動作し

    0

    1答えて

    私は、各スレッドがomp_get_thread_num()でアクセス可能なスレッドのID番号でアドレス指定されたメモリを管理するようにすることで、CPU上で動作するOpenMPコードを持っています。これはCPU上でうまく動作しますが、GPUでも動作しますか? A MWEは次のとおりです。 #include <iostream> #include <omp.h> int main(){

    3

    1答えて

    は、次のコードを確認してください: #include <stdio.h> #include <omp.h> #define ARRAY_SIZE (1024) float A[ARRAY_SIZE]; float B[ARRAY_SIZE]; float C[ARRAY_SIZE]; int main(void) { for (int i = 0; i < ARRAY_