On 10/7/2022 1:30 PM, Aritra Bagchi wrote:
Hi Eliot,
Thanks for the response. The unrolled loop, despite having the same dependency across "j", can send
multiple loads simultaneously. So the limitation might not be due to that dependency across "j" of
different iterations. But in the
Hi Eliot,
Thanks for the response. The unrolled loop, despite having the same
dependency across "j", can send multiple loads simultaneously. So the
limitation might not be due to that dependency across "j" of different
iterations. But in the non-unrolled loop, the control dependency is there,
On 10/7/2022 1:13 PM, Eliot Moss wrote:
On 10/7/2022 1:03 PM, Aritra Bagchi wrote:
Hi all,
Any suggestions on this are most helpful.
Thanks and regards,
Aritra
My guess is that it is because the non-unrolled loop
has a test of i against 1000 before each access to A[i].
That test guards the
On 10/7/2022 1:03 PM, Aritra Bagchi wrote:
Hi all,
Any suggestions on this are most helpful.
Thanks and regards,
Aritra
My guess is that is is because the non-unrolled loop
has a test of i against 1000 before each access to A[i].
That test guards the load, so must be completed before
the
Hi all,
Any suggestions on this are most helpful.
Thanks and regards,
Aritra
On Thu, Oct 6, 2022 at 6:01 PM Aritra Bagchi
wrote:
> Hi all,
>
> *for (i = 0; i < 1000; i++) {*
> * j = j + A[ i ]*
> *}*
>
> Suppose such a loop program is executed on gem5 (single-core execution,
> with O3