search for: scheduled

Displaying 20 results from an estimated 11429 matches for "scheduled".

2013 Jun 28
2
[LLVMdev] MI Scheduler vs SD Scheduler?
...lates to the SD scheduler. So, I would appreciate any pointer to a document (or a blog) that may help us understand the difference and the relation between the two schedulers and figure out how to deal with them. We are trying to answer the following questions: - A comment at the top of the file ScheduleDAGInstrs says that this file implements re-scheduling of machine instructions. So, what does re-scheduling mean? Does it mean that the real scheduling algorithms (such as reg pressure reduction) are currently implemented in the SD scheduler, while the MI scheduler does some kind of complementary wor...
2011 Sep 17
2
[LLVMdev] Pre-Allocation Schedulers in LLVM
...d confirm or correct the following information and answer my questions below: The default scheduler for the x86-32 target is the bottom-up register-pressure reduction (BURR) scheduler, while for the x86-64 target it is the ILP Scheduler. According to the brief documentation in the source file ScheduleDAGRRList, the BURR is a register pressure reduction scheduler, while the ILP is a register-pressure aware scheduler that tries to balance ILP and register pressure. My questions are: -Are there any references (such as published research) that describe each/any of these scheduling algorithms?...
2011 Sep 23
2
[LLVMdev] Pre-Allocation Schedulers in LLVM
...ect the following information and answer my questions below: > > > >The default scheduler for the x86-32 target is the bottom-up register-pressure reduction (BURR) scheduler, while for the x86-64 target it is the ILP Scheduler. According to the brief documentation in the source file ScheduleDAGRRList, the BURR is a register pressure reduction scheduler, while the ILP is a register-pressure aware scheduler that tries to balance ILP and register pressure. > Yes. For those wondering how to find out, grep for 'setSchedulingPreference'. My questions are: > > >-Are the...
2013 Sep 24
0
[LLVMdev] MI Scheduler Update (was Experimental Evaluation of the Schedulers in LLVM 3.3)
...e generic scheduler is safe in that it preserves instruction order until it detects a performance problem according to the subtarget's machine model. This is a nice feature. It means that the scheduler should not often introduce a performance problem that did not already exist, and it makes the scheduled code much easier to understand and debug. So the close correlation between source order and MI scheduler is natural. In fact, you'll find that, when scheduling for SandyBridge, the scheduler seldom perturbs the instruction sequence. This is a fundamental departure from the conventional approach...
2012 May 11
2
[LLVMdev] Scheduler Roadmap
...;atrick at apple.com> writes: > > > >>> When I asked about enhancing scheduler heuristics a month or so > >>> ago, I got a response about a MachineInstr scheduler and that > >>> that was the way of the LLVM future. Is that so? Is the > >>> ScheduleDAG going away? > >> > >> You sent a lengthy RFC on Apr 20 that demonstrated you aren't > >> following developments on trunk. That's perfectly fine, but if you > >> want to use the new scheduler before it is mature, you'll need to > >> follow...
2011 Sep 21
0
[LLVMdev] Pre-Allocation Schedulers in LLVM
...firm or correct the following information and answer my questions below: > > The default scheduler for the x86-32 target is the bottom-up register-pressure reduction (BURR) scheduler, while for the x86-64 target it is the ILP Scheduler. According to the brief documentation in the source file ScheduleDAGRRList, the BURR is a register pressure reduction scheduler, while the ILP is a register-pressure aware scheduler that tries to balance ILP and register pressure. Yes. For those wondering how to find out, grep for 'setSchedulingPreference'. > My questions are: > > -Are there a...
2013 Jul 01
0
[LLVMdev] MI Scheduler vs SD Scheduler?
...r pressure and balance latency and CPU resources. That is what you currently get when you enable MI sched for x86. The generic heuristics are implemented as a priority function that makes a greedy choice over the ready instructions based on the current pressure and the resources and latency of the scheduled and unscheduled set of instructions. An DAG subtree analysis also exists (ScheduleDFS), which can be used for register pressure avoidance. This isn't hooked up to the generic heuristics yet for lack of interesting test cases. > So, I would appreciate any pointer to a document (or a blog)...
2013 Jul 02
2
[LLVMdev] MI Scheduler vs SD Scheduler?
...r pressure and balance latency and CPU resources. That is what you currently get when you enable MI sched for x86.  The generic heuristics are implemented as a priority function that makes a greedy choice over the ready instructions based on the current pressure and the resources and latency of the scheduled and unscheduled set of instructions. An DAG subtree analysis also exists   (ScheduleDFS), which can be used for register pressure avoidance. This isn't hooked up to the generic heuristics yet for lack of interesting test cases. So, I would appreciate any pointer to a document (or a blog) that...
2011 Sep 26
1
[LLVMdev] Pre-Allocation Schedulers in LLVM
...g information and answer my questions below: >> >> >> >>The default scheduler for the x86-32 target is the bottom-up register-pressure reduction (BURR) scheduler, while for the x86-64 target it is the ILP Scheduler. According to the brief documentation in the source file ScheduleDAGRRList, the BURR is a register pressure reduction scheduler, while the ILP is a register-pressure aware scheduler that tries to balance ILP and register pressure. >> > > >Yes. For those wondering how to find out, grep for 'setSchedulingPreference'. > > >My questio...
2011 Sep 23
0
[LLVMdev] Pre-Allocation Schedulers in LLVM
...correct the following information and answer my questions below: >> >> The default scheduler for the x86-32 target is the bottom-up register-pressure reduction (BURR) scheduler, while for the x86-64 target it is the ILP Scheduler. According to the brief documentation in the source file ScheduleDAGRRList, the BURR is a register pressure reduction scheduler, while the ILP is a register-pressure aware scheduler that tries to balance ILP and register pressure. > > Yes. For those wondering how to find out, grep for 'setSchedulingPreference'. > >> My questions are: >...
2012 May 11
0
[LLVMdev] Scheduler Roadmap
...tency is a buffered resource. Interlocked resources are used to form instruction groups (for performance only, not correctness). For out-of-order targets with register rename, we can use zero-cycle min latency so there is no interlock within an issue groups. Instead we know expected latency of the scheduled instructions relative to the critical path. We can balance the schedule so that neither the expected latency of the top nor bottom scheduled instructions exceed the overall critical path. This way, we will slice up two very long independent chains into neat chunks, instead of the random shuffling t...
2023 Aug 11
1
[PATCH drm-misc-next] drm/nouveau: sched: avoid job races between entities
If a sched job depends on a dma-fence from a job from the same GPU scheduler instance, but a different scheduler entity, the GPU scheduler does only wait for the particular job to be scheduled, rather than for the job to fully complete. This is due to the GPU scheduler assuming that there is a scheduler instance per ring. However, the current implementation, in order to avoid arbitrary amounts of kthreads, has a single scheduler instance while scheduler entities represent rings. As a wo...
2009 Oct 06
1
Problems Processing multiple form elements generated by javascript actions
Hi all, After many days of struggling, I have a multi-model form with ajax elements more or less working, but I''m hitting a wall with a few bugs that I can''t figure out. Guidance would be very much appreciated. I''m using the Ryan Bates technique from Advanced Rails recipes to dynamically add and remove elements on a multi-model form.
2013 Sep 17
11
[LLVMdev] Experimental Evaluation of the Schedulers in LLVM 3.3
Hi Andy, We have done some experimental evaluation of the different schedulers in LLVM 3.3 (source, BURR, ILP, fast, MI). The evaluation was done on x86-64 using SPEC CPU2006. We have measured both the amount of spill code as well as the execution time as detailed below. Here are our main findings: 1. The SD schedulers significantly impact the spill counts and the execution times for many
2012 Sep 29
7
[LLVMdev] LLVM's Pre-allocation Scheduler Tested against a Branch-and-Bound Scheduler
Hi, We are currently working on revising a journal article that describes our work on pre-allocation scheduling using LLVM and have some questions about LLVM's pre-allocation scheduler. The answers to these question will help us better document and analyze the results of our benchmark tests that compare our algorithm with LLVM's pre-allocation scheduling algorithm. First, here is a
2012 Sep 29
0
[LLVMdev] LLVM's Pre-allocation Scheduler Tested against a Branch-and-Bound Scheduler
On Sep 29, 2012, at 2:43 AM, Ghassan Shobaki <ghassan_shobaki at yahoo.com> wrote: > Hi, > > We are currently working on revising a journal article that describes our work on pre-allocation scheduling using LLVM and have some questions about LLVM's pre-allocation scheduler. The answers to these question will help us better document and analyze the results of our benchmark
2017 Jul 31
2
X86 Backend SelectionDAG - Source Scheduling
Thanks that clears things up. So if I want to mess around with how schedules are generated, looking at the MachineScheduler pass is the best place now? -Dilan On Mon, Jul 31, 2017 at 3:24 PM Matthias Braun <mbraun at apple.com> wrote: > > > On Jul 31, 2017, at 2:51 PM, Dilan Manatunga via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > > > Hi, > >
2012 May 11
3
[LLVMdev] Scheduler Roadmap
...resource. Interlocked > resources are used to form instruction groups (for performance only, > not correctness). For out-of-order targets with register rename, we > can use zero-cycle min latency so there is no interlock within an issue > groups. Instead we know expected latency of the scheduled instructions > relative to the critical path. We can balance the schedule so that > neither the expected latency of the top nor bottom scheduled > instructions exceed the overall critical path. This way, we will slice > up two very long independent chains into neat chunks, instead of th...
2013 Jul 12
0
[LLVMdev] MI Scheduler vs SD Scheduler?
...ssure and balance latency and CPU resources. That is what you currently get when you enable MI sched for x86. > The generic heuristics are implemented as a priority function that makes a greedy choice over the ready instructions based on the current pressure and the resources and latency of the scheduled and unscheduled set of instructions. > An DAG subtree analysis also exists (ScheduleDFS), which can be used for register pressure avoidance. This isn't hooked up to the generic heuristics yet for lack of interesting test cases. > >> So, I would appreciate any pointer to a documen...
2017 Aug 30
2
Register pressure calculation in the machine scheduler and live-through registers
Hello, In a previous email, Matthias mentioned that register pressure estimates in the machine scheduler are not absolute; they only account for the registers that are used in the block.I assume that he meant that registers that are live-through (both live-in and live-out) are not accounted for in register pressure calculations. If a register is either live-in or live-out but not both, it must be