Библиотеки Macbook m1 и python

Подходит ли новый macbook m1 для анализа данных?

Работают ли библиотеки Python для науки о данных, такие как pandas, numpy, sklearn и т. Д., На чипе macbook m1 (Apple Silicon) и насколько быстро по сравнению с MacBook на базе Intel предыдущего поколения?


person wizarpy_vm    schedule 01.12.2020    source источник


Ответы (1)


В этом репозитории GitHub есть много полезной информации о чипе Apple M1 и науке о данных в Python https://github.com/neurolabusc/AppleSiliconForNeuroimaging. Ниже я привел репрезентативные цитаты.

TL;DR

Если вы не разработчик, я настоятельно рекомендую ученым не покупать компьютер Apple Silicon в краткосрочной перспективе. Для продуктивной работы потребуется перенос основных инструментов. В более долгосрочной перспективе эта архитектура может оказать глубокое влияние на науку. В частности, если Apple разрабатывает серверы, которые используют замечательную энергоэффективность своих процессоров (конкурируя с AWS Graviton) и используют язык Metal и графические процессоры для вычислительных задач (конкурируя с продуктами NVidia Tesla и языком CUDA).

Ограничения, с которыми сталкивается Apple Silicon

Инфраструктура, на которую полагаются ученые, еще не доступна для этой архитектуры. Вот некоторые из краткосрочных ограничений:

  • Ученым, использующим популярные языки R, Julia и Python, требуется компилятор Fortran с открытым исходным кодом. Хотя Python доступен в Apple Silicon, такие инструменты, как Numpy и Scipy, требуют компиляции Fortran. Одним из решений является установка дистрибутива Python, такого как miniconda, и запуск его установщика pip для добавления пакетов Intel (скрипты, включенные в этот репозиторий, требуют numpy, pandas и seaborn). При первом импорте одной из этих библиотек во время их перевода возникает задержка. Впоследствии переведенные библиотеки Python, похоже, работают нормально.
  • Хотя компилятор Apple C Clang генерирует быстрый машинный код, многим научным инструментам придется подождать, пока не станут доступны компиляторы gcc, golang и gFortran.
  • Такие инструменты, как VirtualBox, VMware Fusion, Boot Camp и Parallels, еще не поддерживают Apple Silicon. Многие пользователи полагаются на эти инструменты при использовании программ Windows и Linux на своих компьютерах с macOS.
  • Docker не поддерживает Apple Silicon. Эти контейнеры популярны во многих инструментах нейровизуализации.
  • Многие домашние компоненты не поддерживают Apple Silicon. Пользователи должны будут установить переведенные компоненты или собрать поддерживаемые модули из исходного кода.
  • MATLAB используется многими научными инструментами, включая SPM. Хотя Matlab работает с переводом, он пока недоступен изначально (и файлы mex необходимо перекомпилировать).
  • FSL и AFNI пока не поддерживают эту архитектуру. Хотя код может работать при переводе, при создании некоторых собственных инструментов необходимо дождаться обновления компиляторов и библиотек. Скорее всего, на это потребуются месяцы.
  • Текущее поколение M1 имеет только четыре высокопроизводительных ядра. Большинство конвейеров нейровизуализации объединяют последовательные задачи, для которых требуется только одно ядро ​​(где M1 превосходит M1), а также параллельные задачи. Эти параллельные задачи могут использовать ЦП с большим количеством ядер (как показано в тестах pigz и niimath ниже). Имейте в виду, что эта смесь последовательного и параллельного кода подчиняется закону Амдала с уменьшающейся отдачей от дополнительных ядер.
  • Текущее поколение M1 имеет максимум 16 ГБ оперативной памяти. Наборы данных нейровизуализации часто требуют больших объемов памяти (особенно для наборов данных с многополосным ускоренным функционалом, в состоянии покоя и диффузии).
person jakub    schedule 01.12.2020