Çokluortam veya dağıtık sistemlerde çok sayıda dosya içeren bir kaynak kodu derleyen Linux'ta herhangi bir yazılım mevcut mudur. Gcc veya xserver gibi kütüphaneler, unicore/dual makinede derleme için çok zaman alır ve çoğu zaman yeniden derleme gerektiğinde sinir bozucu olur. Böyle bir kaynak kodunu derlemek için herhangi bir teknik var mıdır?Programları çok çekirdekli veya dağıtılmış sistem üzerinde derleme
cevap
Dağıtılmış bellek sistemlerinde, derleme işlerini diğer makinelere dağıtmak için distcc kullanabilirsiniz. Bu biraz kurulum gerektirir, ancak etrafınızdaki bazı ekstra makineleriniz varsa, yapınızı gerçekten hızlandırabilir.
Paylaşılan bellek çok çekirdekli sistemlerde, makatlarınızdaki bağımlılıkları temel alarak oluşturma işleri yapmaya çalışan make -j
'u kullanabilirsiniz. işlerin sayısında herhangi sınırı sahiptir
$ make -j
olurken, yoksa bir tamsayı parametresi ile çalıştırabilirsiniz:: Böyle çalıştırabilirsiniz eşzamanlı inşa işlerinin sayısını sınırlar
$ make -j8
. Burada, sınır 8 eşzamanlı iştir. Genellikle, bunun sisteminizdeki çekirdek sayısına yakın bir şey olmasını istersiniz.
AFAIK orada "işlerin sayısı" iki okul var. Biri n + 1 ve diğer 2n, n ise çekirdek sayısıdır. Her ikisinin de mantığı, her zaman bir kere tamamlandığında bekleyen bir iş parçacığıdır. Şahsen, ben bir jokey – Kimvais
üzerine -j5 veya -j8 koyup koymadığımı da fark etmedim. Multicores'de +1 veya 2n, ancak daha sonra performanstan çok fazla bir düşüş görmedim. Bu seçeneklerden çıkabildiğiniz tüm avantajları elde edemediğinizden şüpheliyim. B/c make çekirdekler veya prizler için yakınlık ayarlamaz, ancak bunu gerçekten denemedim (yapıp yapmadığımı kontrol etmedim bile yakınlık ayarlar, ama bahse girerim). – tgamblin
Bina genellikle IO bağlı. Üzerinde çalışılacak bir sürü küçük dosya, diske çok sayıda veriyi taşımak anlamına geliyor ... Artı çatallar, linux üzerinde ucuzdur, ancak * ölçeklendirmeye katkıda bulunan, bir şeye mal olurlar. Son olarak, özyinelemeli ve diğer zayıf makefile uygulamaları çok fazla * çalabilir *. – dmckee
GNU yapmak (Linux sistemlerinde yüklü standart marka) paralel komut yürütme destekler - Çok kullanılabilecek derleme sürecini hızlandırmak için http://www.gnu.org/software/make/manual/make.html#Parallel
- 1. Tensorflow için dağıtılmış derleme
- 2. Gevent çok çekirdekli kullanım
- 3. Solr çok çekirdekli NullPointerException
- 4. Python çok çekirdekli programlama
- 5. Çok çekirdekli J - Paralelleştirme
- 6. Windows Üzerinden Çok Çekirdekli Haskell
- 7. Düğüm Çocuk İşlemi Spawn Çok Çekirdekli İşlemci Üzerinde Çalışıyor mu?
- 8. Çok çekirdekli donanıma sahip sayıcı
- 9. Solr çok çekirdekli sonrası verileri
- 10. Derleme - uyumluluk
- 11. Çok çekirdekli bir sistemde kaç iş parçacığının etkin olduğunu bulmak için derleme yönergeleri
- 12. Çok çekirdekli makinelerde Hadoop ve harita küçültme
- 13. python DEAP genetik algoritma çok çekirdekli hız
- 14. ofxEtherdream Windows üzerinde derleme
- 15. Çok çekirdekli bir işlemcide iş parçacıklarının bağlam geçişi nasıl yapılır?
- 16. Cant programları C Ubuntu'da programlar
- 17. Yine başka bir "dosya veya derleme yüklenemedi ... veya bağımlılıklarından biri. Sistem belirtilen dosyayı bulamıyor"
- 18. C++ ile yazılmış yüksek performanslı sistem üzerinde çalışıyorum
- 19. Hadoop'ta dağıtılmış önbellek ömrü
- 20. 2 çekirdekli bir macbook pro üzerinde çoklu çekirdek nasıl çalıştırılır?
- 21. MAC üzerinde X265'i derleme
- 22. GWAS verilerini analiz etmek için çok çekirdekli R'yi kullanma
- 23. Kitap İsteği: Dağıtılmış algoritmalar
- 24. okuma: kabuk programları
- 25. WithOptional ile Varlık Framework Çekirdekli
- 26. Visual Studio 2015 uygulamasında yükleyiciler veya kurulum programları oluşturma araçları
- 27. Xcode4'te "Yardımcı Programları Gizle veya Göster" bölmesinin kısayolu nedir?
- 28. Elixir veya erlang programları bağımsız bir ikiliye derlenebilir mi?
- 29. Birden çok derleme bağımlılıkları sözdizimi
- 30. Elastik Harita üzerinde Pig ile Dağıtılmış Önbellek Kullanma
related: http: // stackoverflow. com/questions/414714/g-using-multiple-cores-colouring-ile-çoğul çekirdekler – miku