使用并行包将具有不同参数的函数调用发送到R中的不同处理器

公司

我试图在R中使用并行程序包将四个不同的函数调用发送到四个不同的处理器,但实际上对于如何分配不同的内核来执行不同的工作而迷失了。我已经阅读了R中的并行程序包doParallel,Rmpi和foreach的文档。我已经看到许多使用mclapply调用具有相同参数的不同函数的文章。我想用不同的参数调用相同的函数。

这是我想要完成的伪代码:

BEGIN parallel (core)
if(core == 1)
   foo(5, 4, 1/2, 3, "a")
if(core == 2)
   foo(5, 3, 1/3, 1, "b")
if(core == 3)
   foo(5, 4, 1/4, 1, "c")
if(core == 4)
   foo(5, 2, 1/5, 0, "d")
END parallel

这似乎是并行计算的理想应用,因为这四个单独的函数调用可以独立起作用以解决我正在研究的问题。我不知道如何在R中执行此操作。

香波

试试这个:

步骤0:设置集群和用户数据

library(parallel)
library(doParallel)
library(foreach)

cl <- makeCluster(4)          # Assuming 4 node cluster
registerDoParallel(cl) 

foo <- function(...) paste(...,collapse="-") # A dummy function:

(parDf <- data.frame(x1=5,x2=c(4,3,4,2),x3=1/(2:5),x4=3:0,x5=letters[1:4])) # Dummy parameters
parDf$x5 <- as.character(parDf$x5) 

步骤1:查找每个节点的进程ID:

nodeNames <- foreach(i = 1:length(cl), .combine=c) %dopar% {
  Sys.getpid()
}

步骤2:使用进程ID选择一组特定的参数:

foreach(i = 1:10, .combine=c) %dopar% {
  paste(Sys.getpid(),foo(parDf[which(Sys.getpid()==nodeNames),]))
}

希望这可以帮助!!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有不同参数的调用方法

来自分类Dev

R函数%in%-具有相同参数的不同结果

来自分类Dev

使用dplyr和NSE动态构造具有不同参数的函数调用

来自分类Dev

使用相同的指针指向具有不同参数的函数

来自分类Dev

ZFS将快照发送到具有不同布局的其他服务器

来自分类Dev

R-使用嵌套数据框运行具有不同参数集的函数

来自分类Dev

R-使用嵌套数据框运行具有不同参数集的函数

来自分类Dev

将多个参数发送到不同类型的化简器中

来自分类Dev

不同参数的调用函数

来自分类Dev

PHP mail()函数将具有或不具有损坏的附件发送到不同的邮件系统

来自分类Dev

如何在具有不同参数值的foreach循环内的控制器内部调用函数

来自分类Dev

从C ++ 17中的另一个构造函数调用具有不同参数类型的构造函数

来自分类Dev

如何使用多线程并行执行具有不同参数的方法?

来自分类Dev

如何将具有不同参数的函数用作函数参数

来自分类Dev

当局部定义具有不同参数的函数时,不能调用静态导入的重载函数?

来自分类Dev

在本地定义具有不同参数的函数时,不能调用静态导入的重载函数吗?

来自分类Dev

在不同控制器中具有不同参数名称的MVC路由

来自分类Dev

如何调用具有相同名称但不同参数的虚函数?

来自分类Dev

如何多次调用具有不同参数的函数成员?

来自分类Dev

CMAKE:重复调用具有不同参数的函数会得到相同的结果

来自分类Dev

C ++-17:将函数指针转换为具有不同参数指针类型的函数

来自分类Dev

遍历具有不同参数的方法调用

来自分类Dev

具有不同参数的动态调用命令

来自分类Dev

Mockito-verifyNoMoreInteractions-具有不同参数的多个调用

来自分类Dev

具有不同参数的 Java 方法调用

来自分类Dev

具有不同参数子类型的Julia函数

来自分类Dev

具有不同参数的回调函数

来自分类Dev

C ++继承重载具有不同参数的函数

来自分类Dev

创建具有不同参数的模板函数

Related 相关文章

  1. 1

    具有不同参数的调用方法

  2. 2

    R函数%in%-具有相同参数的不同结果

  3. 3

    使用dplyr和NSE动态构造具有不同参数的函数调用

  4. 4

    使用相同的指针指向具有不同参数的函数

  5. 5

    ZFS将快照发送到具有不同布局的其他服务器

  6. 6

    R-使用嵌套数据框运行具有不同参数集的函数

  7. 7

    R-使用嵌套数据框运行具有不同参数集的函数

  8. 8

    将多个参数发送到不同类型的化简器中

  9. 9

    不同参数的调用函数

  10. 10

    PHP mail()函数将具有或不具有损坏的附件发送到不同的邮件系统

  11. 11

    如何在具有不同参数值的foreach循环内的控制器内部调用函数

  12. 12

    从C ++ 17中的另一个构造函数调用具有不同参数类型的构造函数

  13. 13

    如何使用多线程并行执行具有不同参数的方法?

  14. 14

    如何将具有不同参数的函数用作函数参数

  15. 15

    当局部定义具有不同参数的函数时,不能调用静态导入的重载函数?

  16. 16

    在本地定义具有不同参数的函数时,不能调用静态导入的重载函数吗?

  17. 17

    在不同控制器中具有不同参数名称的MVC路由

  18. 18

    如何调用具有相同名称但不同参数的虚函数?

  19. 19

    如何多次调用具有不同参数的函数成员?

  20. 20

    CMAKE:重复调用具有不同参数的函数会得到相同的结果

  21. 21

    C ++-17:将函数指针转换为具有不同参数指针类型的函数

  22. 22

    遍历具有不同参数的方法调用

  23. 23

    具有不同参数的动态调用命令

  24. 24

    Mockito-verifyNoMoreInteractions-具有不同参数的多个调用

  25. 25

    具有不同参数的 Java 方法调用

  26. 26

    具有不同参数子类型的Julia函数

  27. 27

    具有不同参数的回调函数

  28. 28

    C ++继承重载具有不同参数的函数

  29. 29

    创建具有不同参数的模板函数

热门标签

归档