Bir grup csv dosyasını işlemeye ve veri çerçevelerini R, mclapply()
kullanarak paralel olarak döndürmeye çalışıyorum. 64 çekirdekli bir makinem var ve şu anda mclapply()
kullanarak şu anda kullanılan 1 çekirdeğe sahip olamıyorum. Aslında, şu anda mclapply()
yerine lapply()
çalıştırmak biraz daha hızlıdır. İşte bir örnek mclapply() daha fazla çekirdek mevcut kullanan olmadığını gösteriyor olmasıdır: bu işe yaraması için bazı hileBirden fazla çekirdek kullanmıyor mclapply
library(parallel)
test <- lapply(1:100,function(x) rnorm(10000))
system.time(x <- lapply(test,function(x) loess.smooth(x,x)))
system.time(x <- mclapply(test,function(x) loess.smooth(x,x), mc.cores=32))
user system elapsed
0.000 0.000 7.234
user system elapsed
0.000 0.000 8.612
var mı? Bu makinedeki R kaynağını derlemem gerekti (v3.0.1), forking'e izin vermeyi özlediğim bazı derleme bayrakları var mı? detectCores()
bana gerçekten oynamak için 64 çekirdek var olduğunu söylüyor ... Herhangi bir ipucu takdir!
Hangi İşletim Sistemini kullanıyorsunuz? Bu sizin durumunuzla alakalı görünmüyor, ancak Windows'daki 'mclapply', 'lapply' için sadece bir sarıcı olduğunu belirtmekte fayda var. – Frank
Linux. Redhat kesin olmalı. – reptilicus
Yukarıdaki örneğin, aslında yardımcı olacak olan mclapply() ile gerçekten hızlandığını doğrulayabiliyorsa. – reptilicus