問題タブ [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.

0 投票する
1 に答える
287 参照

cuda - CUDA ライブラリを Cilk++ にリンクする方法

Intel の Cilk++ と Nvidia の CUDA を使用してハイブリッド プログラムを開発しようとしています。Cuda コード (libtest.so) から共有ライブラリを作成しました。そして、Cilk++ プログラムとリンクして、一部の作業を GPU にオフロードできるようにしたいと考えています。しかし、cilk++ プログラムをコンパイルすると、この cuda ライブラリとリンクできず、次のようなエラーが発生します。

ファイル: test.cu

ファイル: main.cilk

以前は Cilk ライブラリを CUDA コードにリンクしていましたが、今はその逆が必要です。CUDA を Cilk とリンクすることはできますか? もしそうなら、私は何が欠けていますか?

0 投票する
1 に答える
150 参照

parallel-processing - Cilk_for が配列に間違ったデータを返す

マルチスレッドプログラミングは初めてです。最近、私は cilk_for を適用するプロジェクトを持っています。コードは次のとおりです。

上記のコードが実行された後、とんでもないことが起こります。配列のデータが正しく更新されていません。たとえば、1000 要素の配列がある場合、配列が正しく更新される可能性があります (1000 要素は AND 演算されます)。ただし、配列の一部が省略される可能性もあります (最初の要素から 300 番目の要素は AND 演算され、301 番目の要素から 505 番目の要素は AND 演算されず、506 番目の要素から 707 番目の要素は AND 演算されます、など)。 ...)。これらの省略された部分は、個々の実行ごとにランダムであるため、ここでの問題はキャッシュ ミスに関するものだと思います。私は正しいですか?教えてください、どんな助けでも大歓迎です。:)

0 投票する
1 に答える
407 参照

multithreading - CodeBlocks で Intel (c) Cilk Plus を使用する方法

私は最近、Introduction to Algorithms (Cormen, Rivest 著)、第 3 版からマルチスレッド アルゴリズムを学んでいます。そして、この本の序文に触発されて、MIT が開発したものと同じものに Cilk Plus 拡張機能を使用するようになりました。ただし、記事をオンラインで取得して、CodeBlocks IDE と統合して利用することはできませんでした。同じリンカー設定を宣言するコマンドのセットはありますか?

フォルダの内容 C:\Programs(x86)\Intel\CilkTools

  1. bin : ia32、intel64 フォルダー (dll を含む) + その他の dll および exe が含まれます
  2. doc : html ページと jpg ドキュメント
  3. include : 4 つの .h ファイル (cilkscreen.h、cilkveiw.h、fake_mutex.h、および lock_guard.h) を含む CilkTools があります。
  4. opensrc : zip ファイルがあります (ZedGraph、オープン ソースのグラフ作成パッケージ)
  5. Visual Studio とサンプル ファイル
0 投票する
1 に答える
223 参照

c++ - std::set での並列化での cilk_for エラー、operator-() がありません

cilk_forオーバーセットの反復に使用しようとしていました。set に operator-(..) が定義されていないことがわかります。Cilk_for チュートリアルでは理由が説明されていますが、そのようなケースを処理する例は提供されていません。彼らは、次のものを提供する必要があると言いますが、値をどこにどのように配置するかわかりません:

リンクはこちら

cilk コンパイラがこれを処理するために、演算子 (..) をどこでどのように指定すればよいですか?

variable_typeですset::iterator。違いの種類はありますdifference_type (ptrdiff_t)が、termination_type彼らの例では何ですか?