[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