2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Apple M2搭載 Mac miniでJuliaベンチマーク

Posted at

M2搭載Mac miniを入手したのでごく軽くベンチマークを取ってみました。比較対象を含め、以下の3つのマシンで計測を行いました。言語はJulia1.8です。

  1. Apple M2 Pro macOS13.2
  2. Intel Xeon W-2245 Ubuntu 22.04(ハイパースレッディングは無効に設定しています)
  3. Intel Core i5 12600K Windows 11 Home(ハイパースレッディング有効)

全ての測定で、Juliaに明示的に与えるスレッド数は1です。しかし、BLAS.get_num_threads()はマシン1〜3でそれぞれデフォルトの6、4、8となっています。

測定

ソース

#疎行列と(普通の)ベクトルの積
function bench_sparse(N ;n = 50)
    Ms = [sprand(N,N, 1/N) for i in 1:n]
    v = rand(N)
    
    @benchmark begin
        Y1 = deepcopy($v)
        Y2 = similar($v)
        for M in $Ms
            mul!(Y2, M, Y1)
            Y1, Y2 = Y2, Y1
        end
        Y1
    end
end

#密行列とベクトルの積
function bench_dense(N ;n = 50)
    Ms = [rand(N,N) for i in 1:n]
    v = rand(N)
    
    @benchmark begin
        Y1 = deepcopy($v)
        Y2 = similar($v)
        for M in $Ms
            mul!(Y2, M, Y1)
            Y1, Y2 = Y2, Y1
        end
        Y1
    end
end

#固有値分解
function bench_ed(N)
    rnd = rand(N,N)
    @benchmark eigen($rnd)
end

結果

疎行列
bench_sparse.svg.png

密行列
bench_dense.svg.png

固有値分解
bench_ed.svg.png

ひとこと

こんなに拮抗するとは思わなかった。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?