These tables show how much memory is required for four matrices of the given size and type. (We need four matrices: A
, B
, C1
, and C2
.)
Matrix Size | Memory |
---|
1k by 1k | 0.03 GiB |
2k by 2k | 0.12 GiB |
3k by 3k | 0.27 GiB |
4k by 4k | 0.48 GiB |
5k by 5k | 0.75 GiB |
6k by 6k | 1.07 GiB |
7k by 7k | 1.46 GiB |
8k by 8k | 1.91 GiB |
9k by 9k | 2.41 GiB |
10k by 10k | 2.98 GiB |
11k by 11k | 3.61 GiB |
12k by 12k | 4.29 GiB |
13k by 13k | 5.04 GiB |
14k by 14k | 5.84 GiB |
15k by 15k | 6.71 GiB |
16k by 16k | 7.63 GiB |
17k by 17k | 8.61 GiB |
18k by 18k | 9.66 GiB |
19k by 19k | 10.76 GiB |
20k by 20k | 11.92 GiB |
30k by 30k | 26.82 GiB |
40k by 40k | 47.68 GiB |
50k by 50k | 74.51 GiB |
60k by 60k | 107.29 GiB |
70k by 70k | 146.03 GiB |
80k by 80k | 190.73 GiB |
90k by 90k | 241.4 GiB |
100k by 100k | 298.02 GiB |
Matrix Size | Memory |
---|
1k by 1k | 0.01 GiB |
2k by 2k | 0.06 GiB |
3k by 3k | 0.13 GiB |
4k by 4k | 0.24 GiB |
5k by 5k | 0.37 GiB |
6k by 6k | 0.54 GiB |
7k by 7k | 0.73 GiB |
8k by 8k | 0.95 GiB |
9k by 9k | 1.21 GiB |
10k by 10k | 1.49 GiB |
11k by 11k | 1.8 GiB |
12k by 12k | 2.15 GiB |
13k by 13k | 2.52 GiB |
14k by 14k | 2.92 GiB |
15k by 15k | 3.35 GiB |
16k by 16k | 3.81 GiB |
17k by 17k | 4.31 GiB |
18k by 18k | 4.83 GiB |
19k by 19k | 5.38 GiB |
20k by 20k | 5.96 GiB |
30k by 30k | 13.41 GiB |
40k by 40k | 23.84 GiB |
50k by 50k | 37.25 GiB |
60k by 60k | 53.64 GiB |
70k by 70k | 73.02 GiB |
80k by 80k | 95.37 GiB |
90k by 90k | 120.7 GiB |
100k by 100k | 149.01 GiB |
Matrix Size | Memory |
---|
1k by 1k | 0.03 GiB |
2k by 2k | 0.12 GiB |
3k by 3k | 0.27 GiB |
4k by 4k | 0.48 GiB |
5k by 5k | 0.75 GiB |
6k by 6k | 1.07 GiB |
7k by 7k | 1.46 GiB |
8k by 8k | 1.91 GiB |
9k by 9k | 2.41 GiB |
10k by 10k | 2.98 GiB |
11k by 11k | 3.61 GiB |
12k by 12k | 4.29 GiB |
13k by 13k | 5.04 GiB |
14k by 14k | 5.84 GiB |
15k by 15k | 6.71 GiB |
16k by 16k | 7.63 GiB |
17k by 17k | 8.61 GiB |
18k by 18k | 9.66 GiB |
19k by 19k | 10.76 GiB |
20k by 20k | 11.92 GiB |
30k by 30k | 26.82 GiB |
40k by 40k | 47.68 GiB |
50k by 50k | 74.51 GiB |
60k by 60k | 107.29 GiB |
70k by 70k | 146.03 GiB |
80k by 80k | 190.73 GiB |
90k by 90k | 241.4 GiB |
100k by 100k | 298.02 GiB |
Matrix Size | Memory |
---|
1k by 1k | 0.01 GiB |
2k by 2k | 0.06 GiB |
3k by 3k | 0.13 GiB |
4k by 4k | 0.24 GiB |
5k by 5k | 0.37 GiB |
6k by 6k | 0.54 GiB |
7k by 7k | 0.73 GiB |
8k by 8k | 0.95 GiB |
9k by 9k | 1.21 GiB |
10k by 10k | 1.49 GiB |
11k by 11k | 1.8 GiB |
12k by 12k | 2.15 GiB |
13k by 13k | 2.52 GiB |
14k by 14k | 2.92 GiB |
15k by 15k | 3.35 GiB |
16k by 16k | 3.81 GiB |
17k by 17k | 4.31 GiB |
18k by 18k | 4.83 GiB |
19k by 19k | 5.38 GiB |
20k by 20k | 5.96 GiB |
30k by 30k | 13.41 GiB |
40k by 40k | 23.84 GiB |
50k by 50k | 37.25 GiB |
60k by 60k | 53.64 GiB |
70k by 70k | 73.02 GiB |
80k by 80k | 95.37 GiB |
90k by 90k | 120.7 GiB |
100k by 100k | 149.01 GiB |
mem_req(s, ::Type{T}) where {T} = 4s^2*sizeof(T) / (1 << 30)
function print_table(::Type{T}, Ns = nothing) where {T}
println("| Matrix Size | Memory |")
println("| ----------- | ------ |")
if Ns isa Nothing
_Ns = sort(unique(vcat(collect(1:1:20), collect(20:10:100))))
else
_Ns = Ns
end
for N in _Ns
mem = mem_req(N * 1_000, T)
m = round(mem; digits = 2)
println("| $(N)k by $(N)k | $(m) GiB |")
end
return nothing
end
julia> print_table(Float64)
julia> print_table(Float32)
julia> print_table(Int64)
julia> print_table(Int32)