J'ai installé la version R (64 bits) 2.11.1 sous Windows 7 et également les paquetages doSMP et revoIPC de "REvolution foreach Windows bundle" pour le traitement parallèle. J'ai alors téléchargé la bibliothèque doSMP dans R et ai reçu les messages suivants de RTraitement parallèle en R avec le paquet Windows 7 - doSMP
> library(doSMP)
Loading required package: revoIPC
Error: package 'revoIPC' is not installed for 'arch=x64'
Comment contourner ce problème? Il semble que doSMP fonctionne sur une distribution 32 bits de R mais pas sur la distribution 64 bits.
J'ai aussi testé le programme suivant
------------------------------------------------------
require(doSMP)
workers <- startWorkers(4) # My computer has 2 cores
registerDoSMP(workers)
# create a function to run in each itteration of the loop
check <-function(n) {
for(i in 1:1000)
{
sme <- matrix(rnorm(100), 10,10)
solve(sme)
}
}
times <- 10 # times to run the loop
# comparing the running time for each loop
system.time(x <- foreach(j=1:times) %dopar% check(j)) # 2.56 seconds (notice that the first run would be slower, because of R's lazy loading)
system.time(for(j in 1:times) x <- check(j)) # 4.82 seconds
# stop workers
---------------------------------------------------------------------------
et moi avons eu les messages suivants de R
> workers <- startWorkers(4) # My computer has 2 cores
Error: could not find function "startWorkers"
> registerDoSMP(workers)
Error: could not find function "registerDoSMP"
Un grand merci pour votre aide.
Tony
Merci Dirk. Peut-être que je vais essayer sur la plate-forme Linux avec doMC. Ai-je raison de dire que doSMP fonctionne uniquement pour R sur Windows 32 bits pour le moment? – Tony
Je suis assez satisfait du paquet de neige: http://cran.r-project.org/web/packages/snowfall/index.html –
Je viens de tester un programme parallèle à cpu = 8 en utilisant des chutes de neige, c'est assez rapide . Cheers- Tony – Tony