Macbook m1 ve python kitaplıkları [kapalı]

Dec 02 2020

Yeni macbook m1, Veri Bilimi için uygun mu?

Panda, numpy, sklearn vb. Gibi Data Science python kitaplıkları macbook m1 (Apple Silicon) yongasında çalışıyor mu ve önceki nesil intel tabanlı macbook'lara kıyasla ne kadar hızlı?

Yanıtlar

23 jakub Dec 02 2020 at 00:43

Bu GitHub deposunda Apple M1 yongası ve Python'daki veri bilimi hakkında birçok yararlı bilgi bulunur. https://github.com/neurolabusc/AppleSiliconForNeuroimaging. Aşağıda temsili alıntıları ekledim.

TL; DR

Bir geliştirici değilseniz, bilim adamlarını kısa vadede bir Apple Silikon bilgisayar satın almaktan kesinlikle vazgeçiririm. Üretken çalışma, temel araçların taşınmasını gerektirecektir. Uzun vadede, bu mimarinin bilim üzerinde derin bir etkisi olabilir. Özellikle Apple, CPU'larının olağanüstü güç verimliliğinden yararlanan (AWS Graviton ile rekabet eden) ve bilgi işlem görevleri için Metal dilinden ve GPU'lardan (NVidia'nın Tesla ürünleri ve CUDA diliyle rekabet eden) yararlanan sunucular geliştirirse.

Apple Silicon'ın karşılaştığı sınırlamalar

Bilim adamlarının bağımlı olduğu altyapı henüz bu mimari için mevcut değil. Kısa vadeli sınırlamalardan bazıları şunlardır:

  • Popüler R, Julia ve Python dillerini kullanan bilim adamları, açık kaynaklı bir Fortran derleyicisine ihtiyaç duyar. Python Apple Silicon'da mevcutken, Numpy ve Scipy gibi araçlar Fortran derlemesini gerektirir. Çözümlerden biri, miniconda gibi bir Python dağıtımı kurmak ve Intel paketlerini eklemek için pip yükleyicisini çalıştırmaktır (bu depoda bulunan komut dosyaları numpy, pandas ve seaborn gerektirir). Bu kitaplıklardan biri çevrilirken ilk içe aktarıldığında bir gecikme olur. Daha sonra, çevrilen Python kitaplıkları iyi çalışıyor gibi görünüyor.
  • Apple'ın C Clang derleyicisi hızlı yerel kod üretirken, birçok bilimsel aracın gcc, golang ve gFortran derleyicileri hazır olana kadar beklemesi gerekecektir.
  • VirtualBox, VMware Fusion, Boot Camp ve Parallels gibi araçlar henüz Apple Silicon'ı desteklemiyor. Birçok kullanıcı, macOS bilgisayarlarında Windows ve Linux programlarını kullanmak için bu araçlara güvenir.
  • Docker, Apple Silicon'ı desteklemez. Bu kaplar, birçok nörogörüntüleme aracında popülerdir.
  • Birçok homebrew bileşeni Apple Silicon'ı desteklemez. Kullanıcıların çevrilmiş bileşenleri yüklemesi veya kaynaktan desteklenen modülleri oluşturması gerekecektir.
  • MATLAB, SPM dahil birçok bilimsel araç tarafından kullanılır. Matlab çeviride çalışırken, henüz yerel olarak kullanılamıyor (ve mex dosyalarının yeniden derlenmesi gerekecek).
  • FSL ve AFNI bu mimariyi henüz yerel olarak desteklemiyor. Kod çeviride çalışabilirken, bazı yerel araçlar oluşturmak derleyicilerin ve kitaplıkların güncellenmesini beklemelidir. Bu muhtemelen aylar gerektirecektir.
  • Mevcut nesil M1, yalnızca dört yüksek performanslı çekirdeğe sahiptir. Çoğu nörogörüntüleme ardışık düzeni, yalnızca tek bir çekirdek (M1'in üstün olduğu) ve paralel görevleri gerektiren sıralı görevleri birleştirir. Bu paralel görevler, daha fazla çekirdekli bir CPU'dan yararlanabilir (aşağıdaki pigz ve niimath testlerinde gösterildiği gibi). Bu seri ve paralel kod karışımının, ekstra çekirdekler için azalan getiri sağlayan Amdahls yasasıyla karşı karşıya olduğunu unutmayın.
  • Mevcut nesil M1, maksimum 16 Gb RAM'e sahiptir. Nörogörüntüleme veri kümelerinin genellikle büyük bellek talepleri vardır (özellikle çok bantlı hızlandırılmış işlevsel, dinlenme durumu ve difüzyon veri kümeleri).