Re: Vector Indexed Loads - Partial Return?
Not really challenge :-) But it's the only option if you can't / don't want to add a "vstart" equivalent (because you don't want to save/restore it...) @Nagendra: note that the spec does require the microarchitecture to make some form of "forward progress" (in the presence of, say, page faults) and at least get "one element done" and advance "vstart" accordingly. So what you are describing will kind-of-happen when truly bad things (page faults) occur. Now, you were thinking of it from the point of "performance " and maybe doing something in the interim while the rest of the values return. I challenge that this is really practical. Your ideal microarchitecture should have used up all your MHSRs and you wouldn't get much further ahead by "branching to do something else". That "something else" would most likely have one or two memory operations and chances are, they would block due to lack of MSHRs. Now, if your indexed load has sparse but small indices and they all hit in the L1 cache, then all this discussion is moot anyway, as the gather would finish much sooner than "branch to some other code, examine what data is missing, and decide what to do with the data we've got back". roger. On Mon, Mar 30, 2020 at 10:30 AM Krste Asanovic <krste@...> wrote:
|
|