行列計算に普段はmatlabを使っているのですが、loopが避けられない計算を
C++で書き直して計算させようとしてるとこです。

行列が128*128の時はmatlabに比べて30倍ほど速いのですが、実際に扱い
たい行列1024*1024の時はmatlabと比べて2倍程度にしか速くなりません。

行列の計算自体はドット積です。

大きな行列でもどうしたら速くできますでしょうか?

CPUはインテルのクアドコア3.2GHz、メモリ8G、インテルコンパイラ、OpenMP、行列処理にBlitz++使ってます。