[R-br] Criação de função fortran em pacote (base)

Benilton Carvalho beniltoncarvalho em gmail.com
Sexta Fevereiro 24 11:29:02 BRST 2012


Eu ja' nao sei mais o contexto dessa mensagem... aparentemente o
thread ID foi perdido?

Enfim, sua chamada usa apenas 1 processador basicamente pelo seguinte motivo:

- vc ta' passando apenas 1 elemento (que eh o 1:1) para execucao... ou
seja, ele aloca os 4 cores, mas so' usa 1, pois o comprimento de 1:1
e' 1.

Uma vez dentro do mclapply, nao ha' distribuicao de tarefas... isso e'
importante vc lembrar em computacao paralela... Uma vez no no' de
execucao, voce nao faz distribuicao.

Ajudaria MUITO se houvesse um exemplo reproduzivel... entao vou fingir
que sei o que cada elemento representa, assim como imaginar que o q vc
queira fazer seja executar cada uma das linhas g1...g4 num nucleo
diferente:


## eu nao testei o codigo abaixo... afinal apenas fingi saber o q eram
os elementos
pars <- list(list(1:2601, m1), list(1:2601, 2), list(2602:5202, m3),
list(2602:5202, m4))
myf <- function(idx, sigma) mvrnorm(n=1, mat.cokri[[1]][idx], sigma)
mclapply(pars, function(lst) do.call(myf, lst))


b


Mais detalhes sobre a lista de discussão R-br