DSPRelated.com
Forums

understanding software pipeline information

Started by Khawar Shahzad July 28, 2008
Hi,
I am trying to understand the software pipeline information provided
by the compiler.
I could not understand what the compiler means by

" Searching for software pipeline schedule at ...
ii = 1 Schedule found with 10 iterations in parallel "
what does ii(iteration interval means) and iterations in parallel mean
and how does they affect software pipelining?

The software pipelined loop kernel is

;**
--*
L2: ; PIPED LOOP KERNEL
DW$L$_retu$3$B:
.dwpsn
"C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",10,0
.dwpsn
"C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",12,0

ADD .L1 A3,A6,A6 ; |11| <0,9>
|| DOTP2 .M1 A4,A4,A3 ; |11| <4,5>
|| [ B0] BDEC .S2 L2,B0 ; |9| <5,4>
|| LDNW .D1T1 *A5++(4),A4 ; |11| <9,0>

DW$L$_retu$3$E:
;**
--*
In this Loop kernel i cannot understand the comments after the
instructions.
e.g ADD .L1 A3,A6,A6 ; |11| <0,9>
what does "|11| <0,9>" mean?
Thanks
Khawar Shahzad
Khawar,

On Mon, Jul 28, 2008 at 1:44 AM, Khawar Shahzad wrote:
> Hi,
> I am trying to understand the software pipeline information provided
> by the compiler.
> I could not understand what the compiler means by
>
> " Searching for software pipeline schedule at ...
> ii = 1 Schedule found with 10 iterations in parallel "
>
> what does ii(iteration interval means) and iterations in parallel mean
> and how does they affect software pipelining?
>
> The software pipelined loop kernel is
>
> ;**
> ----------------------*
> L2: ; PIPED LOOP KERNEL
> DW$L$_retu$3$B:
> .dwpsn
> "C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",10,0
> .dwpsn
> "C:\CCStudio\tutorial\sim64xx\reed_6446\sum_of_no\Debug\Untitled21.c",12,0
>
> ADD .L1 A3,A6,A6 ; |11| <0,9>
> || DOTP2 .M1 A4,A4,A3 ; |11| <4,5>
> || [ B0] BDEC .S2 L2,B0 ; |9| <5,4>
> || LDNW .D1T1 *A5++(4),A4 ; |11| <9,0> DW$L$_retu$3$E:
> ;**
> ----------------------*
>
> In this Loop kernel i cannot understand the comments after the
> instructions.
> e.g ADD .L1 A3,A6,A6 ; |11| <0,9>
> what does "|11| <0,9>" mean?


Have you looked at the software pipeline info in the compiler manual
[spru187] and the C6000 programmer's guide [spru198]??
|11| is the source line number.
<0,9> means...
"It [compiler] attaches a 2-tuple to the comments to specify
the iteration and cycle of the loop an instruction is on in the
software pipeline. The zero-based number x
represents the iteration the instruction is on during the first
execution of the loop kernel. The zero-based
number y represents the cycle that the instruction is scheduled on
within a single iteration of the loop."

mikedunn
>
> Thanks
> Khawar Shahzad

--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php