Speedup GPU vs CPU for matrix operations
<p>I am wondering how much GPU computing would help me speed up my simulations.</p>

<p>The critical part of my code is matrix multiplication. Basically the code looks like the following python code with matrices of order 1000 and long for loops.</p>

<pre><code>import numpy as np
m_size = 1000
sim_length = 50

a = np.random.rand(m_size, m_size)
b = np.random.rand(m_size, m_size)

for j in range(sim_length):
    result = np.dot(a,b)
</code></pre>

<p>Note: My matrices are dense, mostly random and for loops are compiled with cython.</p>

<p>My naive guess would be that I have two factors:</p>

<ul>
<li>More parallel threads (Currently of order 1 thread, GPUs of order 100 threads?) --> Speedup of order 100? [<a href="https://gamedev.stackexchange.com/a/17255">Source</a> is quite outdated, from 2011]</li>
<li>Lower processor frequency (Currently 3Ghz, GPUs typically 2 Ghz) --> Neglect</li>
</ul>

<p>I expect that this viewpoint is to naive, so what am I missing?</p>