[R-br] Criação de função fortran em pacote (base)
Junior Beleti
beleti.junior em gmail.com
Segunda Fevereiro 27 20:51:29 BRT 2012
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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120227/67eeb8e7/attachment.html>
Mais detalhes sobre a lista de discussão R-br