1

うまくいけば、これは私が答えを見落とした単純な質問ですが、今朝の私の検索では、私は無益でした。

コンピューターに4つのコアがあり、複数のコアを介してRで異なるプログラム(ループ)を同時に実行したいと考えています。4つのRセッションを開くと、それらは自動的に異なるコアに配置されますか、それとも降雪でこれを行う方法を見つける必要がありますか?

以前はsnowfallを使用して同じプログラムを実行しましたが、以前は値が異なりました。しかし、降雪により、異なるコアで完全に異なるプログラムを実行できるようになりますか?各シミュレーションループを異なる関数(つまり、func1、func2、func3、func4)に設定してから、降雪によって各関数を異なるコアに割り当てることはできますか?

助けてくれてありがとう

4

2 に答える 2

4

さまざまなOSでどのように動作するかはわかりませんが、WindowsではOSがこれを処理します。したがって、必要な数のRセッションを開くことができ、それらはコア全体に分散されます(各プロセスは最大で1つのコアを使用します)。CPUよりも多くのRセッションを開くと、明らかに一部のRセッションはフルCPUを使用できなくなります。

したがって、ここで降雪を使用する必要はありません。

于 2012-09-27T14:49:07.617 に答える
3

この質問に答える最も簡単な方法は次のとおりです。

  1. それぞれ実行に1〜2分かかる4つの関数を作成します
  2. 使用するsnowfall
  3. CPUプロセッサの使用状況を確認します。

しかし、あなたの質問に答えるために、はい、それらはコア全体に分散されます。

parallelR2.15に付属のパッケージを使用する方が簡単な場合があります

于 2012-09-27T14:46:12.423 に答える