ual é a maneira mais fácil de paralelizar uma função vetorizada em

Tenho uma lista muito grandeX e uma função vetorizadaf. Eu quero calcularf(X), mas isso levará muito tempo se eu fizer isso com um único núcleo. Eu tenho (acesso a) um servidor de 48 núcleos. Qual é a maneira mais fácil de paralelizar o cálculo def(X)? A seguirnã a resposta certa

library(foreach)
library(doMC)
registerDoMC()

foreach(x=X, .combine=c) %dopar% f(x)

O código acima irá paralelizar o cálculo def(X), mas o fará aplicandof separadamente para cada elemento deX. Isso ignora a natureza vetorizada def e provavelmente fará as coisasMais devaga como resultado, não mais rápido. Em vez de aplicarf elementwise paraX, Eu quero dividirX em pedaços de tamanho razoável e apliquef para aqueles

Então, devo apenas dividir manualmenteX em 48 sublistas de tamanho igual eentã Apliquef para cada um em paralelo, em seguida, reunir manualmente o resultado? Ou existe um pacote projetado para isso?

Caso alguém esteja se perguntando, meu caso de uso específico éAqu.

questionAnswers(5)

yourAnswerToTheQuestion