Azzera filtri
Azzera filtri

How to speed up large marix multiply?

1 visualizzazione (ultimi 30 giorni)
Jiuxuan Zhao
Jiuxuan Zhao il 24 Giu 2019
Commentato: Joss Knight il 3 Ago 2019
Now I have a large matix A and I need to do A*A', how to make this as fast as possible?
eg. A = zeros(40000,1000);
B = A*A';
  2 Commenti
KSSV
KSSV il 24 Giu 2019
Explore gpuArray option.
Jan
Jan il 24 Giu 2019
Do the matrices have a pattern or are they sparse? Why do you assume that there is anything better than A*A' ?

Accedi per commentare.

Risposte (1)

Matt J
Matt J il 24 Giu 2019
Modificato: Matt J il 24 Giu 2019
If you download mtimesx, you can avoid an explicit transpose,
mtimesx SPEED
B=mtimesx(A,A,'c');
  3 Commenti
Jan
Jan il 8 Lug 2019
@Joss: What does "internally supported" exactly mean? Does the JIT acceleration omit the explicit transposition?
Joss Knight
Joss Knight il 3 Ago 2019
It's not the JIT it's the interpreter. When it sees x'*y, x*y', x'*y' or the dot equivalents (.') it calls a special mtimes-transpose operation that includes the information about which arguments are transposed (or conjugate-transposed), rather than applying the transpose operations separately.

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by