問題タブ [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.
cuda - CUDA ライブラリを Cilk++ にリンクする方法
Intel の Cilk++ と Nvidia の CUDA を使用してハイブリッド プログラムを開発しようとしています。Cuda コード (libtest.so) から共有ライブラリを作成しました。そして、Cilk++ プログラムとリンクして、一部の作業を GPU にオフロードできるようにしたいと考えています。しかし、cilk++ プログラムをコンパイルすると、この cuda ライブラリとリンクできず、次のようなエラーが発生します。
ファイル: test.cu
ファイル: main.cilk
以前は Cilk ライブラリを CUDA コードにリンクしていましたが、今はその逆が必要です。CUDA を Cilk とリンクすることはできますか? もしそうなら、私は何が欠けていますか?
parallel-processing - Cilk_for が配列に間違ったデータを返す
マルチスレッドプログラミングは初めてです。最近、私は cilk_for を適用するプロジェクトを持っています。コードは次のとおりです。
上記のコードが実行された後、とんでもないことが起こります。配列のデータが正しく更新されていません。たとえば、1000 要素の配列がある場合、配列が正しく更新される可能性があります (1000 要素は AND 演算されます)。ただし、配列の一部が省略される可能性もあります (最初の要素から 300 番目の要素は AND 演算され、301 番目の要素から 505 番目の要素は AND 演算されず、506 番目の要素から 707 番目の要素は AND 演算されます、など)。 ...)。これらの省略された部分は、個々の実行ごとにランダムであるため、ここでの問題はキャッシュ ミスに関するものだと思います。私は正しいですか?教えてください、どんな助けでも大歓迎です。:)
multithreading - CodeBlocks で Intel (c) Cilk Plus を使用する方法
私は最近、Introduction to Algorithms (Cormen, Rivest 著)、第 3 版からマルチスレッド アルゴリズムを学んでいます。そして、この本の序文に触発されて、MIT が開発したものと同じものに Cilk Plus 拡張機能を使用するようになりました。ただし、記事をオンラインで取得して、CodeBlocks IDE と統合して利用することはできませんでした。同じリンカー設定を宣言するコマンドのセットはありますか?
フォルダの内容 C:\Programs(x86)\Intel\CilkTools
- bin : ia32、intel64 フォルダー (dll を含む) + その他の dll および exe が含まれます
- doc : html ページと jpg ドキュメント
- include : 4 つの .h ファイル (cilkscreen.h、cilkveiw.h、fake_mutex.h、および lock_guard.h) を含む CilkTools があります。
- opensrc : zip ファイルがあります (ZedGraph、オープン ソースのグラフ作成パッケージ)
- Visual Studio とサンプル ファイル
c++ - std::set での並列化での cilk_for エラー、operator-() がありません
cilk_for
オーバーセットの反復に使用しようとしていました。set に operator-(..) が定義されていないことがわかります。Cilk_for チュートリアルでは理由が説明されていますが、そのようなケースを処理する例は提供されていません。彼らは、次のものを提供する必要があると言いますが、値をどこにどのように配置するかわかりません:
リンクはこちら
cilk コンパイラがこれを処理するために、演算子 (..) をどこでどのように指定すればよいですか?
はvariable_type
ですset::iterator
。違いの種類はありますdifference_type (ptrdiff_t)
が、termination_type
彼らの例では何ですか?