Closed christiealappatt closed 6 years ago
The following code also has problem with cache simulator. This kernel is totally off. Actual data traffic should be 9 LOADS (misses) and 4 ST (evicts), but the simulator predicts totally lower values 4 LOADS (misses) and 1 STORE (evict) with n = 1000000.
Run : kerncraft -p ECM -m ~/Emmy.yml -D n 1000000 -D s 4 LC_jil.c --cache-predictor=SIM -vvv LC_jil.tar.gz
Should be fixed in f5011c52878e4ae3c9ab32b53457d551ec81c98b
TODO add unittests for this issue
The second test case seems to be fixed, but the problems with first test case (LC_ilj) continues...
That is another issue which is related to the selection of the warmup period. In this case it is too short for the cache to be fully occupied, which means that evicts do not (yet) go to main memory.
Should be fixed with the latest commit
For the following kernel at n=7*1e5 to n=13*1e5, there should be 1 evict and 1 miss corresponding to Y vector. In kerncraft this works for approx. n=7*1e5 to n=8.01e5 then the evicts drop to 0 strangely till approx n=11*1e5 then it raises slowly till it reaches 13\1e5.
Try for instance kerncraft -p ECM -m ~/Emmy.yml -D n 1000000 -D s 4 LC_ilj_2.c --cache-predictor=SIM -vvv , here evicts are 0.
LC_ilj.tar.gz