在mlr和parallelMap中,是否可以并行化多个级别?例如mlr.tuneParams和mlr.benchmark

在mlr和parallelMap中,是否可以并行化多个级别?例如mlr.tuneParams和mlr.benchmark,r,mlr,R,Mlr,我正在运行一个多学习者(大约15个不同的学习者)的mlr基准测试,使用irace调优控件进行嵌套重采样。 我的问题是:有可能在parallelMap上运行两个并行化级别吗 如果我使用mlr.benchmark级别,速度越快的学习者会先结束,只有计算要求越高的学习者会继续运行,每个学习者只有一个线程。因此,最终运行4个或5个线程 如果我使用mlr.tuneParams级别,irace调优控件将生成6个线程,对所有线程进行求值,然后在所有线程完成后,它将创建6个其他线程。我知道这种方法本质上是循序渐

我正在运行一个多学习者(大约15个不同的学习者)的mlr基准测试,使用irace调优控件进行嵌套重采样。 我的问题是:有可能在parallelMap上运行两个并行化级别吗

如果我使用mlr.benchmark级别,速度越快的学习者会先结束,只有计算要求越高的学习者会继续运行,每个学习者只有一个线程。因此,最终运行4个或5个线程

如果我使用mlr.tuneParams级别,irace调优控件将生成6个线程,对所有线程进行求值,然后在所有线程完成后,它将创建6个其他线程。我知道这种方法本质上是循序渐进的

我的观点是,无论哪种方式,CPU核心都没有得到充分利用。 例如,如果一个CPU有12个内核,我可以同时运行两个学习器,每个学习器使用6个内核进行调优

现在我正在手动执行此操作:我创建多个R会话并分别运行它们


谢谢

当前无法使用
parallelMap
跨多个级别进行并行化。
parallelMap::parallelStart()
level
参数只接受一个

这是一个已知的限制,将来可能不会再改变。 在所有级别中,将使用
future
包并行化


如果在代码中嵌套了对
parallelMap()
的调用,而没有设置显式级别,那么管道中的第一个调用将被并行化

默认情况下,所有级别都应该并行化,而无需指定它们。您目前正在做什么来启用并行化?