From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31937 invoked by alias); 3 Oct 2004 07:33:19 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 31927 invoked from network); 3 Oct 2004 07:33:17 -0000 Received: from unknown (HELO mtagate3.de.ibm.com) (195.212.29.152) by sourceware.org with SMTP; 3 Oct 2004 07:33:17 -0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate3.de.ibm.com (8.12.10/8.12.10) with ESMTP id i937XH0v144464; Sun, 3 Oct 2004 07:33:17 GMT Received: from d12ml102.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i937XGdC102454; Sun, 3 Oct 2004 09:33:16 +0200 In-Reply-To: <20041002094105.ECECB5ABAD@ds20.nudt.edu.cn> Subject: Re: SMS scheduling To: Canqun Yang Cc: Ayal Zaks , canqun@nudt.edu.cn, gcc@gcc.gnu.org Message-ID: From: Mostafa Hagog Date: Sun, 03 Oct 2004 19:54:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII X-SW-Source: 2004-10/txt/msg00077.txt.bz2 canqun@nudt.edu.cn wrote on 02/10/2004 11:41:05: > Mostafa Hagog : > > > > > Canqun Yang wrote on 28/09/2004 > 11:06:29: > > > > > Hi, all > > > > > > I tested the Swing Modulo Scheduling of GCC. For > > > simple program, the numerical caculation of PI, it > > > achieves significant speedup on IA64. But, for > little > > > bit complex programs, the SMS can hardly work out a > > > successful schedule. > > > > > > The algorithms implemented by Ayal and Mostafa are > > > correct. It seems that the SMS itself is wrong. The > > > schedule priority order calculated by SMS is much > > > different from normal MinDist algorithm. > > > > SMS prioritizes the nodes using critical patch based > > heuristic - the main idea is that instructions that > are > > on the critical path are less flexible in means of > > scheduling. > > Why do you think that the priority order should be > > according to MinDist algorithm (what is the minimum > > distance in this case)? Can you provide an example > > that supports this? > > > > Yes, I'll give an example after my holiday. > > > > Besides this, > > > SMS is not sensitive to II. Is SMS really wrong? > > > > The node ordering step in SMS is not sensitive to II > > (as mentioned before it is based on critical path > > heuristic). However, the scheduling step is sensitive > > to II - failing to schedule the nodes of a loop within > > II cycles will lead to try scheduling the nodes again > > within II + 1 cycles. > > > The node order calculated by SMS is not suitable. Not suitable for what? For your example? > Although, the scheduling step does increase the II > value to try a successful schedule, it is useless. In > fact, the scheduler almost always fail at the same insn > while the II is increasing. This shouldn't be the case in general (maybe this is in your specific example). In general, when we increase the II we increase the "mobility" of instructions (i.e the cycles that we can schedule an instruction in). Thus if an instructions couldn't be scheduled within II cycles it has better chance to be scheduled within II + 1 cycles. So there maybe a specific problem of your example and/or ia64 scheduling. Mostafa.