gpt4 book ai didi

r - GPU 上的 foreach doparallel

转载 作者:行者123 更新时间:2023-12-03 05:21:37 24 4
gpt4 key购买 nike

我有这段代码用于并行写入我的结果。我在 R 中使用 foreachdoParallel 库。

    output_location='/home/Desktop/pp/'
library(foreach)
library(doParallel)
library(data.table)

no_cores <- detectCores()
registerDoParallel(makeCluster(no_cores))
a=Sys.time()

foreach(i=1:100,.packages = c('foreach','doParallel')
,.options.multicore=mcoptions)%dopar%
{result<- my_functon(arg1,arg2)
write(result,file=paste(output_location,"out",toString(i),".csv"))
gc()
}

现在它在 CPU 中使用 4 个核心,因此使用此代码编写所需的时间非常少。但我希望使用 GPU 进行 foreach-doparallel。是否有任何方法可以在 GPU 上处理 foreach doParallel 循环。 gputools,gpuR 是一些支持 R 的 GPU 包。但它们主要用于数学计算,如 gpuMatMult()、gpuMatrix() 等。我正在寻找在 GPU 上运行循环。任何帮助或指导都会很棒。

最佳答案

使用 foreach 或类似工具进行并行化是可行的,因为您有多个 CPU(或多核 CPU),可以同时处理多个任务。 GPU 也有多个核心,但这些核心已经用于并行处理单个任务。因此,如果您想进一步并行化,您将需要多个 GPU

但是,请记住,仅对于某些类型的应用程序,GPU 比 CPU 更快。大矩阵的矩阵运算就是一个很好的例子!参见性能部分here最近对一个特定示例的比较。因此,您可能需要考虑 GPU 是否是适合您的工具。

此外:文件 IO 将始终通过 CPU。

关于r - GPU 上的 foreach doparallel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com