1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M1 Maxでnumpyが遅い問題の対処法

Last updated at Posted at 2022-08-04

2024/08/11 追記

上記の日時でまたnumpyをインストールしてみましたが、やはり通常のインストールだと遅いままでいした。


公式に説明や警告が無いので意外と認知されていないが、普通にnumpyをインストールすると動作が遅いバージョンがインストールされちゃいます
どれくらい遅いかというと下記の300*300の行列の特異値分解を100回行う処理の平均実行時間を計測すると...

import time
import numpy as np

np.random.seed(42)
a = np.random.uniform(size=(300, 300))
runtimes = 10

timecosts = []
for _ in range(runtimes):
    s_time = time.time()
    for i in range(100):
        a += 1
        np.linalg.svd(a)
    timecosts.append(time.time() - s_time)

print(f"mean of {runtimes} runs: {np.mean(timecosts):.5f}s")

普通のnumpy

mean of 10 runs: 5.69588s

早いnumpy

mean of 10 runs: 1.08510s

なんと五倍の差がある。

インストール方法

numpyインストール時にblasのビルドを指定するだけ。

conda install numpy 'blas=*=*accelerate*'

M1ユーザーは是非お試しあれ。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?