openacc

    0

    1答えて

    私はGCC 6.xがまともなOpenACCサポートを持っていることを知っています。しかし、私はそれが私のコンピュータ上で正しく動作するかどうか確認したい。試しました #include <stdio.h> #include <openacc.h> int main(int argc, char *argv[]) { acc_device_t dev = acc_get_device

    1

    1答えて

    OpenACC並列コンピューティングモデル(C++)を使用するにはいくつかの助けが必要です。問題は次のようなものです: vairables W、hbias、vbiasの間に依存関係があります(各反復の更新が必要です)。propupおよびpropdown関数内での計算方法がわかりますが、使用できないコードではOpenACCを使用します。だから、各反復関数は、Wの元々の洞察力とバイアスを得るだろう。並

    0

    1答えて

    openaccを適用して、マルチコアおよびgpuアクセラレーションされたバイナリを開発しようとしています。私はFarberの本を読んで、そこから、そしてNVIDIAが提供するいくつかのオンラインコースを通して、正常にテストプログラムを走らせました。それから、私は従来のコードを並列化しようとしました。 私が書いているサブルーチンは、3つのネストされたループ内で使用される3次元配列に依存しています。こ

    1

    1答えて

    私はOpenACCに翻訳したシンプルなCUDAコードを持っています。私のカーネルはすべて期待どおりに並列化されていて、私のCUDAカーネルと似た性能を持っています。しかし、デバイスからホストへのメモリ転送は私のパフォーマンスを殺します。私のCUDAコードでは、固定メモリーを使用しており、パフォーマンスははるかに優れています。残念ながら、OpenACCでは、固定メモリをどのように利用するのか分かりま

    0

    1答えて

    OpenACCによって加速されるタスクがあります。私は、カーネル計算の中で動的なメモリ割り当てを行う必要があります。私は次のように簡単なデモを作成しました。このデモで #include <iostream> using namespace std; #pragma acc routine seq int *routine(int init) { int *ptr; #

    0

    1答えて

    私はforループを持っています。ターゲットハードウェアがNVIDIAの場合はOpenACCと並列化し、ターゲットハードウェアがAMDの場合はシリアルに実行します。でコンパイル #pragma acc loop \ device_type(tesla) parallel \ device_type(radeon) seq for (int z = 0; z < size_z;

    0

    1答えて

    OpenACCを使用してC++アプリケーションをGPUに移植しようとしています。 が期待するように、C++コードには多くのカプセル化と抽象化があります。メモリは で、ベクターのようなクラスに割り当てられています。このクラスは、アプリケーションの周りの他の多くのクラスで再利用されます。そして、私は正しく問題を解決しようとしています OpenACCプラグマをコードに挿入します。ここで私は は働いている

    1

    1答えて

    私の質問は、ホストとデバイス間の異なる非同期キューで複数のアレイを転送する影響についてです。 double *a, *b, *c, *d; そして、それぞれがNのサイズで割り当てられています は、我々は4つの配列を持っていると仮定します。我々は多くの非同期条項にを使用し、異なるキューにそれらを転送することができ #pragma acc enter data copyin(a[0:N], b[0

    0

    1答えて

    、一つは我々がprivate句、ないshared句を持ってOpenACCで #pragma omp parallel for shared(foo) private(bar) によりループで共有変数を使用することができます。一方、copy,copyin,copyoutなどのデータ句があります。 時には、独自のプライベートメモリを持ちますが、共通メモリにアクセスできるアクセラレータを使用すること

    2

    1答えて

    私はこれらの2つのディレクティブを使用することはできませんなぜトップループ、上のカーネル持っている:私はこれらの変数を更新する必要があり #pragma acc update device(hbias[0:n_hidden],W[0:n_hidden][0:n_visible]) #pragma acc update device(vbias[0:n_visible) をhbias、以下のコ