R'nin sadece tek bir CPU kullandığını okudum. R'nin istatistiksel algoritmaları çalıştırmak için tüm mevcut çekirdekleri kullanmasına nasıl izin verebilirim?R bilgisayarın tüm çekirdeklerini nasıl kullanır?
cevap
Evet, yeni başlayanlar için, CRAN'da High Performance Computing Görev Görünümü'ne bakın. Bu, tek bir makinede paralel bilgi işlemin desteklenmesinde kullanılabilecek paketlerin ayrıntılarını listeler. R versiyonu 2.14.0 kaynaktan
, mevcut kar ve çok çekirdekli paketleri hafifçe modifiye versiyonları içeren paralel paket vasıtasıyla paralel işlem için dahili destek bulunmaktadır. paralel paketinde okuyacağınız bir skeç vardır. Şu bağlantıyı kullanarak görüntüleyebilirsiniz:
vignette(package="parallel", topic = "parallel")
lineer cebir hesaplamalar için çok kanallı BLAS kullanımı yoluyla örneğin, çoklu çekirdek yararlanmaya başka yolları da vardır.
Bunlardan herhangi biri, "istatistik hesaplamaları" nı hızlandıracak olursa olsun, bu "istatistik hesaplamalarının" ne olduğuna bağlı olacaktır. Birden fazla iş parçacığı veya işçinin yumurtlanması, bunları ayarlamak, yönetmek ve sonuçları toplamak için genel bir maliyet gerektirir. Bazı işlemler birden fazla çekirdek/iş parçacığı kullanmanın bir yararını (bazı büyük, biraz küçük) görür, diğerleri bu ekstra yük yüzünden yavaşlar. Eğer aynı şey birkaç * tekrarlamalar (do edersek Kısacası
, n çekirdek yerine sadece 1.kullanarak bir n kere hesaplama zamanında azalma almak için beklemeyin ya da aynı kod için birkaç * farklı parametre), en kolay yolu çalıştırmak için R - OS'nin çeşitli kopyalarını çalıştıracaktır.
Karşıdaki durumda, gerçek paralel uzantıların nasıl kullanılacağını öğrenin.
Bu yanıt için, az sayıda çekirdek sayısı azalır veya eşittir.
- 1. Tüm kullanıcılar FosUserBundle'ı nasıl kullanır?
- 2. Scikit-öğrenen modellerin tüm çekirdeklerini kullanmak için Python'u etkinleştirin
- 3. Bilgisayarın saatine bir sayı ekleme
- 4. Bilgisayarın UTC ofsetini Python'da alma
- 5. Bilgisayarın benzersiz bir tanımlayıcısı nasıl edinilir?
- 6. WMI kullanarak Windows Bilgisayarın SID'sini nasıl alabilirim?
- 7. Bilgisayarın toplam RAM miktarı nasıl bilinir?
- 8. Ana bilgisayarın ulaşılabilir olup olmadığını nasıl belirleyebilirim?
- 9. R: Burada tüm etkileşimler
- 10. R: tüm uyarıları temizleme
- 11. NewCachedThreadPool konuları nasıl kullanır?
- 12. HttpClient Kerberos'u nasıl kullanır?
- 13. R, diğer tüm öğeleri nasıl listeleyebilir?
- 14. R grafiğinde tüm sütunlar nasıl gösterilir?
- 15. Bir listedeki tüm matrisleri R
- 16. Django Fikstürleri ManyToManyFields'ı nasıl kullanır?
- 17. Akka mesaj versiyonlarını nasıl kullanır?
- 18. Hazırda Bekletme JDBC'yi nasıl kullanır?
- 19. OpenCV - Renk profillerini nasıl kullanır?
- 20. Emacs, .bashrc dosyasını nasıl kullanır?
- 21. Tüm öğelerin listeden eksik olduğu satırları silme R-R
- 22. Ana bilgisayarın varsayılan ağ bağdaştırıcısının yayın adresini nasıl alırsınız? C#
- 23. nasıl R
- 24. Birçok bellek nesnesinin OpenCL çekirdeklerini bilgilendirmenin doğru yolu?
- 25. Tüm yorumlar bir .r dosyasından kaldırılıyor mu?
- 26. R ggplot tüm yönleriyle şimdiye kadar
- 27. Tüm olası R satırı kombinasyonlarını üretin mi?
- 28. R dplyr - tüm sütunları birbirinden bağımsız
- 29. R: Tüm sütunları bir ID sütunuyla daraltma
- 30. Tüm boşluklar nasıl kaldırılır ve \ n \ r bir String içinde?
Notu görmek için vignette (package = "parallel", topic = "parallel") 'yapmak zorunda kalabilirsiniz. Benim için, eğer 'topic =' eklemezsem sadece skeçleri listeler. –
@XuWang Evet, gerçekten. Bu kodla nasıl listelendiğini söyleyebilirim - konu adını hatırlayamadım ve ofisimde henüz 2.14.0'a geçmedim. Sadece tembel olmak. Ancak yukarıdakileri düzenler. Teşekkürler. –
Endişeye gerek yok. Birçok detaylı cevaptan yola çıkarak, tembelliğin tam tersidir! –