問題タブ [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 投票する
2 に答える
4659 参照

parallel-processing - Cilk または Cilk++ または OpenMP

Linux でマルチスレッド アプリケーションを作成しています。シナリオは次のとおりです。

クラスの x インスタンスがあり、BloomFiltery GB のデータ (使用可能なメモリよりも大きい) があるとします。各ブルーム フィルター インスタンスで、この y GB のデータのメンバーシップをテストする必要があります。さらに、すべてのプロセスまたはスレッド間でデータを共有できるようにデータを読み取るだけなので、並列プログラミングがタスクの高速化に役立つことは明らかです。

現在、Cilk、Cilk ++、または OpenMP のどれを使用するか (どちらが優れているか) について混乱しています。また、マルチスレッドとマルチプロセッシングのどちらを使用するかについて混乱しています

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

gcc - cilkのgccブランチをビルドできません

次のコマンドでsvnからダウンロードしたブランチからcilkブランチを構築しようとしています。 svn co http://gcc.gnu.org/svn/gcc/branches/cilkplus-4_7-branch/

インストールに使用しているチュートリアルは次のとおりです:これ

ステップ5の9行目で、次のエラーが発生します。

ar: elem-function-common.o: No such file or directory

エラー自体はかなり説明的ですが、make -j3のコマンドのログにそのようなファイル「elem-function-common.o」の作成を見つけることができませんでした(ステップ5の9行目)。誰かがこれで私を助けることができますか?

0 投票する
2 に答える
572 参照

gcc - gcc-4.7でcilkplusをコンパイルする際のエラー

次のエラーが発生します

関連する行は次のとおりです。

Line 107cilk_forループの閉じ中括弧に対応します。

どんな助けでも大歓迎です!

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

thrust - cilk::reducer_list_append と同等の推力

n 個の間隔またはドメインのリストがあります。各間隔を並行して k 個の部分に分割し、新しいリスト (順序なし) を作成したいと思います。ただし、ほとんどのサブディビジョンは特定の基準を満たしていないため、新しいリストに追加する必要はありません。

cilk::reducer_list_append は、push_back を使用してリストを形成する並列リダクションの考え方を拡張します。このようにして、有効なサブインターバルのみを並行して収集できます。

タスクを達成するための推進方法は何ですか? 1つの方法は、大きなnxkリストを作成してから、並列フィルターとストリーム圧縮を使用することだと思いますか? しかし、 nxk は実際には非常に大きくなる可能性があるため、リダクションリストの追加操作があることを本当に望んでいます。

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

c - 並列プログラミングの奇妙なケース

時々実行され、時にはセグメンテーション違反が発生する並列プログラムがあります。実行可能ファイルは、3 つのスレッドで強制的に実行すると正常に実行されます (基本的には、単一のシリアル スレッドでも実行されます) が、他のスレッド値で強制的に実行すると、セグメンテーション エラーが発生します。シナリオは次のとおりです。

main.cメイン関数内から:

bf_dup_eleminatebloom-filter.cファイルからの関数:

bf_dup_eleminate_readbloom-filter.cファイルから:

このエラーはintel inspector次の場所から報告されました。

コールスタックは次のとおりです。

同様gdbに、同じ場所でエラーを報告します。それは次のとおりです。

gdb次のエラーがあることがわかりました

0x0000000000406fc4 in bf_dup_eleminate_read (bf=<error reading variable: Cannot access memory at address 0x7ffff7edba58>, fp=<error reading variable: Cannot access memory at address 0x7ffff7edba50>, j=<error reading variable: Cannot access memory at address 0x7ffff7edba4c>) at bloom-filter.c:536

Line 536int bf_dup_eleminate_read ( const bloom_filter *bf, FILE *fp, int j )

追加の詳細:

今、私のブルームフィルターは次のように定義された構造です

そのためのメモリは次のように割り当てられます。

のコピーは 1 つだけありbloom_filter、各スレッドは同じものにアクセスすることになっています (読み取りのみを変更していないため)。

過去4日間ここで立ち往生していて、抜け道が思いつかないので、誰か助けてください。最悪の部分は、3 つのスレッドで実行されていることです!!!

注: cilk_for は、cilk でスレッドを生成するための単なるキーワードです。

0 投票する
5 に答える
240326 参照

c++ - libstdc++.so.6: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

cilk++ プログラムで Cilkscreen コマンドを実行したいのですが、このエラーが発生しました

/usr/local/cilk/bin/../lib32/pinbin: 共有ライブラリのロード中にエラーが発生しました: libstdc++.so.6: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

助けてください

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

multithreading - LLVM でのマルチスレッド

多くのスレッド/タスク (数十万) を処理する LLVM コードを生成する必要があります。これらのスレッドは、Intel TBB のタスク、golang gorutines などのように軽量である必要があります。もちろん、前述の Intel TBB などの外部 C++ ライブラリを使用して実装することもできます (LLVM と互換性がある場合)。

LLVM でのスレッド化に関する情報を長い間探していましたが、あまり見つかりませんでした。LLVM のドキュメントにはいくつかの API 呼び出しが記載されていますが、私が探しているものではないと思います。

したがって、いくつか質問があります。

  1. Intel の TBB や Cilk などのテクノロジを LLVM と併用することはできますか?
  2. この状況では、どのスレッド ライブラリを使用すればよいですか?
0 投票する
2 に答える
252 参照

c++ - このforeachマクロの実装に問題はありますか

Intel Cilk Plus拡張機能には、このキーワードcilk_for(または実際には_Cilk_for)があります。これはのキーワードに似ていますが、より制限があり、その反復は並行して実行されます。内部でcilk_forを使用するBOOST_FOREACHの精神で便利なマクロを作成しました。次の実装で問題が発生しますか?

あなたはそれを次のように使うでしょう:

編集

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

c++ - pthreadでのCilk++の採用

私はしばらくの間この質問をしました。Cilk++に関するMITオープンコースウェアの講義を見ました。
スレッドを使用するためのインターフェースは単純明快であり、ツールは便利であるように見えました。講師は、pthreadやOpenMPの代わりにCilk++を使用することの長所を説明しました。一般的な書店のブラウジングを通して、私は一度Cilk++に関する本に出くわしました。

しかし、現在Intelが所有しているCilk ++についてMITが言うすべての良いことにもかかわらず、それはほとんど採用されていないようです。

これの証拠は、それがどんなに小さくても歪んでいても、出版された本の欠如と、SOに関するフォロワーまたはタグ付きの質問の数です。(執筆時点)

Amazon検索では
1.Cilk++2の結果
2.pthreads166の結果3.OpenMP278の結果が得られ
ます

SOタグ
1.Cilk11フォロワー2.OpenMP242
フォロワー
3.pthreads258フォロワー

Cilk ++の採用が遅い/少ない理由として考えられるものは何ですか?

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

linux - Linux システム上の cilk++

Windows システムではうまく動作するが、Linux システムではうまく動作しない cilk++ プログラムに問題がありました。

Windows システムでは、スレッド数を増やすと実行時間が減少しますが、Linux システムでは、スレッド数を増やすと実行時間が増加します。

Linux ubuntu 2.6.35-22-generic x86_64 GNU/Linux を使用しました

問題の原因がわかりません。誰か助けてください。