問題タブ [cilk-plus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - GCC 5 と cilk-plus でこのコンパイル エラーが発生するのはなぜですか?
何らかの理由で、cilk_spawn は x86 組み込み関数では機能しません。同じ関数の本体で 2 つを結合しようとするたびにエラーが発生します。(cilk_for は正常に動作することに注意してください)。SIMD 命令をすべて削除すると、コンパイルして正常に実行されます。
ここにgcc出力があります:
それは GCC 4.9 であったことに気付きましたが、エラー メッセージは GCC 5 でも同じです。
c++ - cilk reduce はどのように行われますか (スレッド vs smid)
私はそのようなものを持っています:
cilkを使って並列化したい。私は次のコードを書きました:
しかし、問題は、プライマリ ループで cilk_for を使用することもできますが、reduce 操作が既にスレッドを生成している場合、cilk_for はスレッドのオーバーヘッドを増加させ、全体の速度を低下させないのでしょうか? また、コンパイラをさらに支援するために、 destおよびsrc args にrestrictを追加する必要がありますか? または、この場合は暗黙的ですか?
(ps: という理由で、今はコードを試すことができません
内部コンパイラ エラー: c-family/array-notation-common.c:244 の find_rank 内
の上
私も解決しようとしています。)
c++ - Cilk 配列表記と STL ベクトルの使用
C++ の Cilk Plus 拡張機能 (gcc 上) を使用した並列プログラミングについて学んでいます。私が読んだ中で最も単純なリファクタリングの 1 つは、Cilk 配列表記を使用することです。つまり、順序に依存しないベクトル操作を実行することです。
すなわち:c[:] = a[:] + b[:]
それよりも:for (unsigned i = 0; i < a.size(); ++i) c[i] = a[i] + b[i];
std::vector
配列ではなくオブジェクトを多用する大きなコードを配置しています。この概念を で使用することは可能std::vector
ですか?
a
、b
、およびc
が等しい長さであることを考慮して、std::vector<double>
これらを試してみましたが成功しませんでした。
1.
2.
両方とも戻る
ポインターまたはレコードで配列表記を使用するために必要な開始インデックスおよび長さフィールド
アプローチ #2 が長さ情報なしでベクトルへのポインターを作成することは理解していますが、回避策はありますか?
編集:
効率的なソリューションが優先されます。たとえば、配列を定義しstd::copy
てベクターから配列に値をコピーし、Cilk 配列表記を使用して加算を実行し、値をベクターにコピーして戻すことができます。これはおそらく、元の要素ごとの追加を行うよりもコストがかかります。
c++ - Mac OS X 上の Cilk Plus へのインストール
Mac OS X に CilkPlus をインストールする方法は?
Mac で g++ のバージョンを確認すると、次のように表示されました。
Intel Cilk Plus SDK ビルド 4421 をWeb サイトからダウンロードしました。
しかし、私は進む方法がわかりません。
c++ - Mac OS X (El Capitan) に Cilk Plus をインストール中にエラーが発生しました
Mac OS X に CilkPlus をインストールしているときに問題が発生しました。インストール ページに従って、次のコマンドを次の順序で実行しました。
それで、
しかし、それはエラーで終了しました。エラーログ エラーログ 3 . 誰かが私が間違っている場所を教えてくれれば素晴らしいことです。CilkPlus コードをコンパイルして実行しようとしています。
visual-studio-2015 - Visual Studio 2015 に Cilk を含める
Visual Studio 2015 に並列プログラミング用の Cilk を含めるにはどうすればよいですか? Visual Studio 2010 のみの既定のインストールがあるためです。
c++ - gcc-5.2 cilk と intel gfx ハードウェアへのオフロード
gcc-5.2 で cilk plus を使用してグラフィックス ハードウェアにオフロードできますか
コンパイラは、次のテスト コードに対して上記の警告を出します。
でコンパイル