问题标签 [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 - betareg 不在 CentOS 上使用多线程
模型拟合在 CentOS 上单线程运行
我正在拟合 Beta 回归模型与betareg包betamix
中的函数的混合。我最初在 Mac OS X 上开发代码,但现在我在一个 HPC 集群上运行它(即大规模迁移),LSF 用于作业管理和 CentOS 在节点上。对于这两种情况,我都使用由以下 YAML 定义的 Conda 环境
betareg.yaml
在我的本地机器上,该betamix
步骤会自动扩展到所有可用内核。然而,在集群上,我通过 Snakemake 部署作业并提供了threads: 16
,监控显示所有作业都在单线程运行,尽管 Snakemake 日志清楚地显示每个作业正确分配了 16 个内核。
并行包?
比较sessionInfo()
这两种情况的输出表明没有parallel
加载到 HPC 上下文中。但是,显式添加library(parallel)
并没有什么不同。
相同的 BLAS 库版本
另一个想法是,也许 BLAS 库是不同的,但是,它们似乎也匹配(尽管显然是特定于平台的构建)。
osx-64 BLAS
linux-64 BLAS
如何让 CentOS 执行以使用所有分配的线程?
r - 在 R 中跨网站跟踪用户会话
我正在寻求使用 R 在会话中创建和跟踪用户会话和活动的帮助。在较高级别上,我有一列用户 ID 和一列时间戳。
对于每个用户 ID,我想计算时间戳之间的时间差,并使用它根据时间限制值分配会话号。(即用户的第一个时间戳获得的会话编号为 1。如果下一个时间戳小于 30 分钟后,会话编号将保持为 1,否则将递增为 2,依此类推。)
一旦为每个用户操作观察分配了会话编号,我就想对每个会话中的活动进行排序。每个会话的第一个观察的活动编号为 1,会话中的第二个观察的活动编号为 2,依此类推。当会话编号更改(或用户 ID 更改)时,活动编号将重置回 1。
我有以下重现,它可以满足我的需求,但是,此代码在我的完整数据集(140 万行)上非常慢。特别是,调用difftime
和 for 循环非常慢。我想知道是否有更好的方法来做到这一点并且对多种想法持开放态度。也许有一种方法可以在不使用 purrr 的 for 循环的情况下做到这一点,或者这对于并行库来说是一个很好的用例。很高兴听到有关如何简化此过程的任何建议。
r - R optimParallel 使用大量 RAM
在我的(大型)服务器(具有 255GB RAM 的 Windows)上,我的 optimparallel 脚本内存不足,然后与Error in serialize(data, node$con) : error writing to connection
. 虽然我会理解数据是否很大并且每个节点都会分配数据,但事实并非如此。
数据不大(大约 200 万行),需要加载 600MB RAM。使用稍小的数据集,该程序运行良好。我很感激任何帮助!
这是数据集:数据
这是我的脚本:
R 版本:4.1 optimParallel 版本:1.0-2
r - 调试 R 并行 mclapply
很难调试 mclapply 的错误代码,因为作业的所有值都会受到影响。
我准备了一个简单的例子。
如何调试这样的代码进行 1000 次迭代?如何找到导致错误的单个 i ?
r - 并行分叉法
我正在尝试在 R 中进行并行处理。我在某处读到分叉方法比并行处理的聚类方法更快,但分叉不适用于 Windows。但是我看到分叉用于learnr package
. 请参阅下面的链接,其中开发人员使用mcparallel( )
功能。它是否仅在操作系统基于 unix 时运行(例如,linux 和其他 docker 环境上的 shinyapps.io)。如果在 Windows 操作系统上运行,这部分代码什么都不做?我正在使用 Windows 操作系统,所以我想检查是否是这种情况。
https://github.com/rstudio/learnr/blob/769d2941d49411840fc598bbe3ef65f570842744/R/evaluators.R
r - R: Compare each element with all the other elements below in a list using foreach, parallel and doParallel
Aim:
I'm trying to compare each element in a list with all the other elements below it using Levenshtein distance from this package stringsim
to find text that is similar.
Obstacle:
The problem is that due to the time and space complexity, it will take much time to run. This is the complexity for a 5 element array, ending in 10 comparisons/iterations (4+3+2+1):
The calculator and theory can be found here link
Attempt:
I'll reproduce using a normal for loop.
You can see the result appears correctly of the 10 elements compared:
Request:
I was finally able to convert that ordinary loop to a parallelized one. Below is a sample running on this dataset stringr::fruit
I need assistance on optimizing the below loop, so I can run it on ~6k to ~7k rows, if there is one; As my attempt using the below code led my RStudio to crash.
My processor is the below
The result was the correct expected number of (3160 rows)
References:
parallel
https://nceas.github.io/oss-lessons/parallel-computing-in-r/parallel-computing-in-r.html
foreach
https://cran.r-project.org/web/packages/foreach/vignettes/foreach.html
Nested foreach
https://cran.r-project.org/web/packages/foreach/vignettes/nested.html
r - R中的并行编程问题
我正在尝试在 R 中使用foreach
和进行并行编程future.apply
。
下面是一个示例代码。
问题 1. - 由于任务数量很大,每个任务生成随机数和计算均值的速度非常快。所以为了尽量减少master和worker之间的通信开销,我希望一次给worker多个任务,让他们一起返回结果。
a)foreach
正在工作,但我怎样才能将任务分成 4 个块foreach
?
b) 为什么部分代码有错误future_lapply
,如何将任务分成 4 个块?(is.vector(X) 中的错误:缺少参数“X”,没有默认值)
………………………………………………………………………………………………………………………………………………
问题 2. - 下面的代码 - 我改变了n
和mean
。 foreach
正在工作但future_lapply
不工作。
r - Getting an error in using foreach in R - no applicable method for 'filter' applied to an object of class "list"
I am getting in using foreach
. Can someone please explain the reason.
r - 提高 foreach 循环输出列表的可读性
我在下面有一个 foreach 嵌套循环的简单示例。如何提高结果的可读性res
?
下面是另一个嵌套 for 循环的例子,它具有更易读的结果,列表的每个元素都可以很容易地识别,例如res_desired[["B"]][[3]]
r - 没有从 foreach 循环返回的 keras 模型
下面是一个简单的代码。
- 我正在尝试使用
foreach
循环并行化训练具有不同数量神经元的三个 ANN。 - 后来我试图预测使用
models[[1]]
但我收到错误。foreach 模型的输出是类keras_training_history