問題タブ [domc]
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.
r - R foreach : スレッド数が 1 に減少
サンプルコードを検討する
top を使用すると、起動時のスレッド数は 6 となります。各スレッドの作業量は相当なものです。しかし、スレッドの数はすぐに 5、4、3、2、次に 1 に減少します。それ以降、実行はシリアルになると思います。なぜだか分からない?
乾杯
r - Rの複雑な関数とplyrを使用したtryCatch
シミュレーションに使用している複雑で長い関数があります。これはエラーを生成する可能性があり、ほとんどの場合、分散がゼロの等しい値で終わるランダムベクトルに関係し、PCAまたはロジスティック回帰のいずれかに供給されます。
doMC
とを使用してクラスター上で実行していますplyr
。tryCatch
エラーの可能性が多く、それぞれの確率が小さいため、関数内のすべての小さなことをしたくありません。
tryCatch
すべての小さな行を実行するのではなく、実行ごとにtryCatchを実行するにはどうすればよいですか?コードは次のようなものです。
約1年後に編集:
パッケージforeach
により、これは以前よりも大幅に簡単になりますplyr
r - R マルチコア mcfork(): フォークできません: メモリを割り当てられません
私はタイトルエラーを取得しています:
mcapply で関数を実行しようとした後top
、51% であると表示されます
これは EC2 インスタンスにありますが、最新の R を持っています。
他に何がこのエラーを引き起こす可能性があるか知っている人はいますか?
ありがとう、
-N
r - R 重複のチェックは、mclapply を使用しても非常に遅い
一意の ID を持つ多数の車の繰り返し販売に関するデータがあります。車は何度でも売ることができます。
ただし、一部の ID に誤りがあるため、ID ごとに、複数の販売でサイズが同じとして記録されているかどうかを確認しています。そうでない場合は、ID が間違っていることがわかります。
私は次のコードでこれをやろうとしています:
しかし、私のクアッドコア i5 では、ひどく、ひどく、ひどく遅いです。
ボトルネックがどこにあるのか誰にもわかりますか? 私はR最適化の初心者です。
ありがとう、-N
r - パッケージ doMC は R バージョン 3.0.0 では使用できません install.packages の警告
doMC や doSMP などの一部のパッケージでは、警告が表示され、ライブラリ (doMC) を使用できません。以下に示すように、サブセレクトに問題がないため、ファイル/ディレクトリのアクセス許可の問題はありません。repo= http://cran.us.r-project.orgなども試しましたが、うまくいきませんでした。お知らせ下さい。
ps: 予想外の日本語の文字については、私には手がかりがありません。それは分離可能な問題だと思います。support.rstudio.org/help/discussions/problems/6009-japanese-characters-show-unexpectedly からまだ応答がありません
r - doMC と foreach で biglm を使用する方法
biglm を並列モードで実行することは可能ですか? doMC を使用してから foreach ループに biglm を埋め込もうとしましたが、すべてのコアが同じデータのチャンクを同時に処理しているようです。これを並列化するにはどうすればよいですか?
r - R は並列実行されなくなりました
(k)Ubuntu 12.04.2 および R 3.0.1 を実行しています
以前は並行して実行されていた一連のコードを作成しましたが、現在は並行して実行されていません。これでさえ、もはや並行して実行されません:
そして、それは間違いなくすべきです。私がそれを壊したと思うのは、R 3.0.1 アップデートまたは-dev, -devel
インストールした BLAS パッケージのいずれかです。(openBLASだと思います)
system(sprintf("taskset -p 0xffffffff %d", Sys.getpid()))
他の場所で提案されているように試してみたところ、次の結果が得られました。
また、次のコマンドで R を実行してみました。
ただし、これらの手順のいずれかを実行した後でも、ループを実行すると 1 つのコアしか使用されません。
並列処理を取り戻したい!どうすれば入手できますか?
r - foreach ワーカーがサブタスクを登録して他のワーカーに配布できるようにする
いくつかのタスクを並行して実行するためにいくつかの foreach ワーカーを含む R コードがあります。この目的のために foreach と doMC を使用しています。各 foreach ワーカーが新しいワーカーを募集し、並列化可能なコードの一部を配布できるようにしたいと考えています。
現在のコードは次のようになります。
次のような理想的なコードを探しています。
ここでdoSNOW と doMC を使用したマルチパラダイム並列処理の例を見ました(https://www.rmetrics.org/files/Meielisalp2009/Presentations/Lewis.pdf#page=17)。しかし、それが私が望んでいることをするかどうかはわかりません。
また、ネストされた foreachは、2 つのループをマージする必要があるため(こちらを参照)適用できないようですが、私の場合はこれは好ましくありません。2 番目のループは、コードの一部について最初のループを助けるだけです。間違っている場合は修正してください。
ありがとう。