Thư viện Macbook m1 và python [đã đóng]
Macbook m1 mới có phù hợp với Khoa học dữ liệu không?
Các thư viện python trong Khoa học dữ liệu như pandas, numpy, sklearn, v.v. có hoạt động trên chip macbook m1 (Apple Silicon) không và tốc độ như thế nào so với macbook dựa trên intel thế hệ trước?
Trả lời
Kho lưu trữ GitHub này có rất nhiều thông tin hữu ích về chip Apple M1 và khoa học dữ liệu bằng Python https://github.com/neurolabusc/AppleSiliconForNeuroimaging. Tôi đã bao gồm báo giá đại diện bên dưới.
TL; DR
Trừ khi bạn là một nhà phát triển, tôi thực sự không khuyến khích các nhà khoa học mua một chiếc máy tính Apple Silicon trong thời gian ngắn. Công việc hiệu quả sẽ yêu cầu chuyển giao các công cụ cốt lõi. Về lâu dài, kiến trúc này có thể có tác động sâu sắc đến khoa học. Đặc biệt nếu Apple phát triển các máy chủ khai thác hiệu quả năng lượng đáng kể của CPU của họ (cạnh tranh với AWS Graviton) và tận dụng ngôn ngữ Metal và GPU cho các tác vụ tính toán (cạnh tranh với các sản phẩm Tesla của NVidia và ngôn ngữ CUDA).
Những hạn chế mà Apple Silicon phải đối mặt
Các nhà khoa học phụ thuộc vào cơ sở hạ tầng vẫn chưa có sẵn cho kiến trúc này. Dưới đây là một số hạn chế ngắn hạn:
- Các nhà khoa học sử dụng các ngôn ngữ R, Julia và Python phổ biến yêu cầu trình biên dịch Fortran mã nguồn mở. Trong khi Python có sẵn trên Apple Silicon, các công cụ như Numpy và Scipy yêu cầu biên dịch Fortran. Một giải pháp là cài đặt một bản phân phối Python như miniconda và chạy trình cài đặt pip của nó để thêm các gói Intel (các tập lệnh có trong kho lưu trữ này yêu cầu numpy, pandas và seaborn). Có độ trễ khi lần đầu tiên nhập một trong các thư viện này trong khi chúng được dịch. Sau đó, các thư viện Python đã dịch có vẻ chạy tốt.
- Trong khi trình biên dịch C Clang của Apple tạo mã gốc nhanh, nhiều công cụ khoa học sẽ cần phải đợi cho đến khi có các trình biên dịch gcc, golang và gFortran.
- Các công cụ như VirtualBox, VMware Fusion, Boot Camp và Parallels chưa hỗ trợ Apple Silicon. Nhiều người dùng dựa vào các công cụ này để sử dụng các chương trình Windows và Linux trên máy tính macOS của họ.
- Docker không hỗ trợ Apple Silicon. Các thùng chứa này phổ biến với nhiều công cụ hình ảnh thần kinh.
- Nhiều thành phần homebrew không hỗ trợ Apple Silicon. Người dùng sẽ phải cài đặt các thành phần đã dịch hoặc xây dựng các mô-đun được hỗ trợ từ nguồn.
- MATLAB được sử dụng bởi nhiều công cụ khoa học, bao gồm cả SPM. Mặc dù Matlab hoạt động trong bản dịch, nhưng nó vẫn chưa có sẵn nguyên bản (và các tệp mex sẽ cần được biên dịch lại).
- FSL và AFNI chưa hỗ trợ kiến trúc này. Mặc dù mã có thể hoạt động trong quá trình dịch, nhưng việc tạo một số công cụ gốc phải đợi các trình biên dịch và thư viện được cập nhật. Điều này có thể sẽ cần hàng tháng.
- Thế hệ M1 hiện tại chỉ có bốn lõi hiệu suất cao. Hầu hết các đường ống hình ảnh thần kinh kết hợp các tác vụ tuần tự chỉ yêu cầu một lõi duy nhất (trong đó M1 vượt trội) cũng như các tác vụ song song. Các tác vụ song song đó có thể khai thác một CPU có nhiều lõi hơn (như được hiển thị trong các bài kiểm tra pigz và niimath bên dưới). Hãy nhớ rằng hỗn hợp mã nối tiếp và song song này phải đối mặt với luật Amdahls, với lợi nhuận giảm dần cho các lõi bổ sung.
- Thế hệ hiện tại M1 có RAM tối đa 16 Gb. Bộ dữ liệu hình ảnh thần kinh thường có nhu cầu bộ nhớ lớn (đặc biệt là bộ dữ liệu chức năng, trạng thái nghỉ và khuếch tán được tăng tốc đa băng tần).