Olá Benilton,
tentando passar um exemplo reproduzivel, o experimento em questão executa um script para a obtenção dos valores preditos utilizando os dados do pivo, por meio do pacote geoComp.
Nesse script, foram relatados problemas quanto ao tempo de processamento.
A função responsável por tais "problemas" foi a função volta.cokri.
Dentro dessa função identifiquei que o elevado tempo de processamento se deve à chamada a função eigen.
Na eigen, constatei o processamento de grandes matrizes com valores exponenciais.
Como minha pesquisa tem foco no processamento paralelo, estou realizando experimentos observando formas de se decompor tais matrizes de forma a realizar uma execução paralela.
Em uma das execuções, crio as matrizes m1,m2,m3 e m4, como segue
m1 <- mat.cokri[[2]][1:2601,1:2601]
m2 <- mat.cokri[[2]][2602:5202,1:2601]
m3 <- mat.cokri[[2]][1:2601,2602:5202]
m4 <- mat.cokri[[2]][2602:5202,2602:5202]
sendo essas sub-matrizes da mat.cokri[[2]] que é uma matriz (5202 x 5202).
O que tinha em mente seria a execução paralela de tais matrizes por meio da função mclapply. Nesse experimento, fiz o seguinte:
mclapply(1:4, function(i) {
g1 <- mvrnorm(n=1, mat.cokri[[1]][1:2601],m1)
g2 <- mvrnorm(n=1, mat.cokri[[1]][1:2601],m2)
g3 <- mvrnorm(n=1, mat.cokri[[1]][2602:5202],m3)
g4 <- mvrnorm(n=1, mat.cokri[[1]][2602:5202],m4)
},mc.cores=4
)
Esse seria o procedimento correto? Claro, este sendo um exemplo hipotético, visto que a execução real faz um loop com 1000 iterações.
Carlos Beleti.