Библиотеки Macbook m1 и python [закрыто]
Подходит ли новый macbook m1 для анализа данных?
Работают ли библиотеки Python для науки о данных, такие как pandas, numpy, sklearn и т. Д., На чипе macbook m1 (Apple Silicon) и насколько быстро по сравнению с MacBook на базе Intel предыдущего поколения?
Ответы
В этом репозитории 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 ГБ оперативной памяти. Наборы данных нейровизуализации часто требуют больших объемов памяти (особенно для наборов данных с многополосным ускоренным функционалом, в состоянии покоя и диффузии).