openmp

    1

    2答えて

    私は別のスレッドが絶えずそれからデータを読み込むだけのためにいくつかの小さな共有配列を使用するOpenMP並列、とC++のプログラムを持っている場合は、偽の共有が、この場合に発生しますか。言い換えれば、メモリ書き込み操作にのみ関連する誤った共有であるか、またはメモリ読み取り操作でも起こり得る。

    0

    1答えて

    openmp parallel for(外側ループ用)を使用して2 n×n行列を掛けるコードを書きました。コンパイル時に配列サイズを指定しました。私は2000としてnを与えたいと思っています。しかし、2番目のバージョンとして、3つの行列に対して動的にスペースを割り当て、n(2000)のサイズを引数として同じコードを書いています。 n = 2000のときに両方のバージョンで得た2つの実行時間は大きく

    0

    1答えて

    私はOpenMPを使ってforループを、C++のメインから呼び出される関数の中で並列化したいと思っています。 私のコードは、シーケンシャルモードよりもはるかに遅くなります。forループは、OpenMPなしで約6.1秒(壁時計)(#pragma ...コマンドをコメントアウトするだけ)、OpenMPで11.8秒です。 私のマシンには8個のCPUと8183Mbの物理ストレージがあり、64ビットのWin

    0

    1答えて

    現在、python3スクリプトで使用するFortranサブルーチンをラップする際に問題が発生しています。この問題は、私がサブルーチンでOpenMPを使用しようとして以来起きています。例えば 、私は私のスクリプトにこのモジュールをインポートしようとすると、「test.f90は」並列化ループが含まれているFortranのサブルーチンであるf2py -c -m --fcompiler=gfortran

    0

    1答えて

    私のコードのどこかで並列領域にないcblas_drotを呼びたいと思います。それから、この呼び出しの実行時間は基本的にシングルスレッドモードと24スレッドで同じであると私は混乱します。関数呼び出しの前にmkl_set_num_threads()でスレッド数を設定しました。誰でも何が起こったのか考えていますか?どうもありがとう。 cpuは2 * Xeon E5 2620v3で、OSはUnbuntu

    2

    1答えて

    で実行されていない、私のコードがあるようですプログラムを実行すると、私は得た: Thread 0 works with idx 0 Thread 0 works with idx 1 Thread 0 works with idx 2 Thread 0 works with idx 3 Thread 0 works with idx 4 Thread 0 works with idx 5

    0

    1答えて

    OpenMPを使用して以下のアルゴリズムを並列化したいとします。 AとCは入力データ、Bは出力です。 Aはベクトルであり、要素A [i]は配列Cのi行目の要素数を示します。 並列化は可能ですか。 bno=0; for (j=0; j<A[0]; j++) B[bno++] = C[0][j]; for (i=1; i<L; i++) for (j=0; j<A[i]; j

    2

    1答えて

    中止され、私はそれがGCC使用してコンパイルされていますg++ -std=gnu++11 -g -Wall -fopenmp -o parallel_not_opt parallel_not_opt.cpp しかし、私はparallel_not_opt.exeを使用して、それを実行しようとすると、それは、一般的なWindowsのエラーを与えて中止しますparallel_not_opt.exeは動作

    0

    1答えて

    配列(double **)に対する縮小(合計)のためのOpenMPの使用に問題があります。コードは次のとおりです。 #include <stdlib.h> #include <iostream> #include <omp.h> using namespace std ; double my_function(const double * x) { return 1 ; } int

    1

    1答えて

    OpenMPを利用してタスクを並列化したいと考えています。 配列のすべての要素に同じ量を減算し、結果を別のベクトルに書き出す必要があります。両方の配列は、mallocで動的に割り当てられ、最初の配列はファイルの値で埋められます。各要素のタイプはuint64_tです。 shiftは私がvecのすべての要素から削除する固定値である #pragma omp parallel for for (uint