問題タブ [localityofreference]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
125 参照

matrix - キャッシュサイズを超えるメモリ内の行列について、理論的にキャッシュミスの数を数える方法は?

私は現在、行優先順でメインメモリに格納されている 64 ビット整数要素のnxn 行列 Mを検討しています。16KBのL1データキャッシュが 64B ブロックに分割されています (L2 または L3 はありません)。私のコードは、配列の各要素を一度に 1 つずつ出力することを目的としており、行列を行優先または列優先でトラバースします。

n = 16 (つまり、16 x 16 行列)の場合、行列 M が 16KB キャッシュに完全に収まるので、行優先順と列優先順の両方を使用して 0 キャッシュ ミスをカウントしました (キャッシュにジャンプする必要はありません)。要素を取得するためのメイン メモリ)。たとえば、 n = 256 (64 ビット整数の 256 x 256 行列)の場合、どのように対処すればよいでしょうか。つまり、M がキャッシュに完全に収まらないときは? 適合しないすべての int をミスとして数えますか、それとも空間的局所性を何らかの方法で活用できますか? キャッシュが最初は空であると仮定します。