
Benilton, já estou conseguindo utilizar paralelização. Fiz um dos testes que está no help da função mclappy e percebí que a partir de 2 núcleos não faz mais tanta diferença, nesse caso. system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=1)) system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=2)) system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=3)) system.time(mclapply(1:32, function(x) sum(rnorm(1e7)), mc.cores=4)) user system elapsed 51.459 1.260 52.857 select: Chamada de sistema interrompida user system elapsed 26.234 0.720 27.590 select: Chamada de sistema interrompida select: Chamada de sistema interrompida user system elapsed 42.355 1.120 25.719 select: Chamada de sistema interrompida select: Chamada de sistema interrompida select: Chamada de sistema interrompida user system elapsed 59.735 1.460 22.140 O que significa esse aviso? select: Chamada de sistema interrompida Outra coisa é que não consegui utilizar mclapply com uma função de mais de um argumento, tipo f(x,y), apenas com funções f(x). Isso é devido a ela ser uma versão da lapply e portanto o que eu quero é impossível? Nesse caso, existiria uma versão da mapply para processamento paralelo? abraços Paulo Nogueira Starzynski 2011/7/6 Benilton Carvalho <beniltoncarvalho@gmail.com>
e se vc estiver usando o multicore sozinho
options(cores=2)
ou
mclapply(.... , mc.cores=2)
se vc estiver usando o pacote snow, vc passa as configuracoes apropriadas para o makeCluster().
b
2011/7/6 Gustavo Carvalho <gustavo.bio@gmail.com>:
Sim. Usando os pacotes foreach, doMC e multicore você pode escolher quantos núcleos quer usar na hora de registrar:
registerDoMC(cores = 2)
2011/7/6 jonas bodini alonso <jonasbal@ig.com.br>:
Queria aproveitar o assunto pra postar mais uma dúvida: Por acaso essas funções citadas anteriormente permitem escolher o número de núcleos a serem usados? Por exemplo, eu quero usar somente 2 em vez dos 4 existentes. Jonas
Em 6 de julho de 2011 13:02, Fernando Henrique Toledo <fernandohtoledo@gmail.com> escreveu:
Queria deixar minha impressão:
Também achava que paralelização "deveira" ser um pensamento imediato... Mas lendo e consultando outros colegas percebi que essa abordagem vai mostrar sua real vantagem em problemas muito complexos e que antes
disso tem
muitas outras coisas mais imediatas a se fazer para melhorar o desempenho de alguma tarefa! Sem falar que para paralelizar é preciso um conhecimento muito mais profundo do processo da tarefa!
abraços, FH
2011/7/6 Gustavo Carvalho <gustavo.bio@gmail.com>
https://listas.inf.ufpr.br/pipermail/r-br/2011-June/001618.html
2011/7/6 Gustavo Carvalho <gustavo.bio@gmail.com>:
Assim como paralelizar nem sempre é vantajoso uma vez que a comunicação entre os processos pode ser demorada, nem sempre usar
for
e while é lento. Essas funções da família *apply tem loops em suas definições. Tem um post do Benilton em que ele mostra as situações mais comuns e compara o tempo de execução delas. Dê uma procurada.
2011/7/6 Paulo Nogueira <paulons@gmail.com>: > Obrigado pelas respostas de todos. Essa lista é de um nível incrível! > > Junior Beleti, > não é que eu realmente precise de alto desempenho, mas como tenho > disponíveis 4 processadores pensei: "porque não usar todos eles?" > > Parte da resposta para a minha pergunta eu obtive indo atrás do > material > recomendado pelo pessoal nas mensagens anteriores: não é muito simples > esse > negócio de paralelização no R. Ao menos eu não achei simples. Pensava > que > fosse algo mais automático, como abilitar um opção e pronto. > > Por outro lado, me deparei com material sobre vetorização e alguns > testes de > performance mostrando o quanto é vantajoso substituir loopings por > outras > coisas no R. Como eu aprendi a programar em C tenho essa mania de usar > for e > while para resolver tudo e no R isso não é a melhor solução. > Estou indo nesse caminho também. > > abraços > Paulo Nogueira Starzynski > > 2011/7/6 Junior Beleti <beleti.junior@gmail.com> >> >> Olá Paulo Nogueira, >> >> como já foi mencionado, o pacote multicore possui funções de "alto >> nivel" para utilizar o paralelismo. >> >> A sua aplicação necessita de alto desempenho? >> >> É que estou trabalhando com processamento paralelo e talvez possa >> ajudar. >> >> Abraço >> >> -- >> Carlos Roberto Beleti Junior >> Mestrado em Ciência da Computação >> Departamento de Informática >> Universidade Estadual de Maringá >> _______________________________________________ >> R-br mailing list >> R-br@listas.c3sl.ufpr.br >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >> código mínimo reproduzível. > > > _______________________________________________ > R-br mailing list > R-br@listas.c3sl.ufpr.br > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça > código > mínimo reproduzível. >
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Successful people ask better questions, and as a result, they get better answers. (Tony Robbins) _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.