Perpustakaan Macbook m1 dan python [ditutup]

Dec 02 2020

Apakah macbook m1 baru cocok untuk Ilmu Data?

Apakah pustaka python Data Science seperti pandas, numpy, sklearn dll berfungsi pada chip macbook m1 (Apple Silicon) dan seberapa cepat dibandingkan dengan macbook berbasis intel generasi sebelumnya?

Jawaban

23 jakub Dec 02 2020 at 00:43

Repositori GitHub ini memiliki banyak informasi berguna tentang chip M1 Apple dan ilmu data dengan Python https://github.com/neurolabusc/AppleSiliconForNeuroimaging. Saya telah menyertakan kutipan perwakilan di bawah ini.

TL; DR

Kecuali Anda seorang pengembang, saya akan sangat tidak menyarankan para ilmuwan untuk membeli komputer Apple Silicon dalam jangka pendek. Pekerjaan yang produktif akan membutuhkan alat inti untuk dipindahkan. Dalam jangka panjang, arsitektur ini dapat berdampak besar pada sains. Khususnya jika Apple mengembangkan server yang mengeksploitasi efisiensi daya luar biasa dari CPU mereka (bersaing dengan AWS Graviton) dan memanfaatkan bahasa Metal dan GPU untuk tugas komputasi (bersaing dengan produk Tesla NVidia dan bahasa CUDA).

Keterbatasan yang dihadapi Apple Silicon

Ilmu infrastruktur bergantung pada belum tersedia untuk arsitektur ini. Berikut beberapa batasan jangka pendek:

  • Ilmuwan yang menggunakan bahasa R, Julia dan Python yang populer membutuhkan kompiler Fortran open source. Meskipun Python tersedia di Apple Silicon, alat seperti Numpy dan Scipy memerlukan kompilasi Fortran. Salah satu solusinya adalah menginstal distribusi Python seperti miniconda dan menjalankan penginstal pipnya untuk menambahkan paket Intel (skrip yang disertakan dalam repositori ini memerlukan numpy, pandas, dan seaborn). Ada penundaan ketika seseorang mengimpor salah satu dari perpustakaan ini saat diterjemahkan. Selanjutnya, pustaka Python yang diterjemahkan tampaknya berjalan dengan baik.
  • Meskipun kompiler C Clang Apple menghasilkan kode asli yang cepat, banyak alat ilmiah perlu menunggu hingga kompiler gcc, golang, dan gFortran tersedia.
  • Alat seperti VirtualBox, VMware Fusion, Boot Camp dan Parallels belum mendukung Apple Silicon. Banyak pengguna mengandalkan alat ini untuk menggunakan program Windows dan Linux di komputer macOS mereka.
  • Docker tidak mendukung Apple Silicon. Wadah ini populer dengan banyak alat neuroimaging.
  • Banyak komponen homebrew tidak mendukung Apple Silicon. Pengguna harus menginstal komponen yang diterjemahkan atau membangun modul yang didukung dari sumber.
  • MATLAB digunakan oleh banyak alat ilmiah, termasuk SPM. Sementara Matlab bekerja dalam terjemahan, itu belum tersedia secara asli (dan file mex perlu dikompilasi ulang).
  • FSL dan AFNI belum mendukung arsitektur ini secara native. Meskipun kode dapat berfungsi dalam terjemahan, membuat beberapa alat asli harus menunggu kompiler dan pustaka diperbarui. Ini mungkin membutuhkan waktu berbulan-bulan.
  • M1 generasi saat ini hanya memiliki empat core berperforma tinggi. Sebagian besar pipeline neuroimaging menggabungkan tugas berurutan yang hanya membutuhkan satu inti (di mana M1 unggul) serta tugas paralel. Tugas paralel tersebut dapat mengeksploitasi CPU dengan lebih banyak inti (seperti yang ditunjukkan dalam tes pigz dan niimath di bawah). Ingatlah bahwa campuran kode serial dan paralel ini menghadapi hukum Amdahl, dengan pengembalian yang semakin berkurang untuk inti ekstra.
  • M1 generasi saat ini memiliki RAM maksimal 16 Gb. Set data neuroimaging sering kali memiliki kebutuhan memori yang besar (terutama set data fungsional yang dipercepat multi-band, status istirahat, dan difusi).