問題タブ [rparallel]
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 - CentOS でマルチスレッドを使用していない betareg
CentOS でモデル フィッティングをシングル スレッドで実行
betaregパッケージのbetamix
関数を使用してベータ回帰モデルを組み合わせています。私はもともと Mac OS X でコードを開発しましたが、現在はジョブ管理用の LSF とノード上の CentOS を備えた HPC クラスターで実行しています (つまり、大規模に移行しています)。どちらの状況でも、次の YAML で定義された Conda 環境を使用します
betareg.yaml
私のローカル マシンでは、betamix
ステップは使用可能なすべてのコアに自動的にスケーリングされます。ただし、Snakemake を介してジョブをデプロイし、提供されたクラスターでは、threads: 16
Snakemake ログがジョブごとに 16 コアの正しい割り当てを明確に示しているにもかかわらず、すべてのジョブがシングルスレッドで実行されていることが監視によって示されます。
パラレルパッケージ?
sessionInfo()
両方の状況の出力を比較するとparallel
、HPC コンテキストに読み込まれていないことがわかりました。ただし、明示的に追加library(parallel)
しても違いはありませんでした。
同一の BLAS ライブラリ バージョン
もう 1 つの考えは、おそらく BLAS ライブラリが異なるということでしたが、これらも一致しているように見えます (明らかにプラットフォーム固有のビルドですが)。
osx-64 BLAS
linux-64 BLAS
割り当てられたすべてのスレッドを使用するように CentOS を実行するにはどうすればよいですか?
r - R で Web サイト全体のユーザー セッションを追跡する
R を使用してセッション内のユーザー セッションとアクティビティを作成および追跡するためのヘルプを探しています。大まかに言えば、ユーザー ID の列とタイムスタンプの列があります。
ユーザー ID ごとに、タイムスタンプ間の時間差を計算し、それを使用して時間制限値に基づいてセッション番号を割り当てたいと考えています。(つまり、ユーザーの最初のタイムスタンプはセッション番号 1 を取得します。次のタイムスタンプが 30 分以内の場合、セッション番号は 1 のままになり、それ以外の場合は 2 に増分されます。以下同様です。)
ユーザー アクションの観察ごとにセッション番号が割り当てられたら、各セッション内のアクティビティを順序付けたいと思います。各セッションの最初の観察の活動番号は 1、セッション内の 2 番目の観察の活動番号は 2 というようになります。セッション番号が変更される (またはユーザー ID が変更される) と、アクティビティ番号は 1 にリセットされます。
私が探していることを行う次の再現がありますが、このコードは完全なデータセット (140 万行) では非常に遅いです。特に、difftime
と for ループの呼び出しは非常に遅いです。これを行うためのより良い方法があるかどうか疑問に思っており、複数のアイデアを受け入れています。おそらく、purrr を使用して for ループを使用せずにこれを行う方法があるか、これは並列ライブラリの優れた使用例です。このプロセスを簡単にするための提案をお待ちしております。