babak hosseini | 20 Sep 2012 10:51
Picon

Stream it issues

1. Does anybody else have problems with StreamIt when writing the code?
2. What are some of the most important issues and bugs?
3. Is there an article, paper or something on the issues when developing programs with StreamIt?
4. has anyone tried to solve the concurrency or the memory access problem?

--

<div><div dir="ltr">1. Does anybody else have problems with StreamIt when writing the code?<div>

2. What are some of the most important issues and bugs?</div>
<div>

3. Is there an article, paper or something on the issues when developing programs with StreamIt?</div>
<div>

4. has anyone tried to solve the&nbsp;concurrency&nbsp;or the memory access&nbsp;problem?</div>
<div><br></div>-- <br><div dir="ltr">
<a href="http://facebook.com/babakmbm" target="_blank">*Babak* &lt;BABAK&gt;</a><br><br>
</div>
<br>
</div></div>
Abhishek Kulkarni | 6 Dec 2011 02:39
Picon
Favicon

[PATCH] StreamIt fails to compile programs using the cluster backend

I had been running into an error trying to compile StreamIt programs with the cluster backend with the SVN tip (r11463) 

$ strc --cluster 1 HelloWorld.str
Starting Kopi2SIR... done.
Entry to Cluster Backend
Running Constant Prop and Unroll... done.
Running Constant Field Propagation... done.
Estimating Code size of Filters... done.
Estimating Code size of Filters... done.
Running Partitioning... target number of threads: 1
Running Partitioning... target number of threads: 1
  Detected target is max fusion, fusing as much as possible...
Done Partitioning...
Generating cluster code...
NOTE: Missing or empty $STREAMIT_HOME/cluster-machines.txt file,
  so all threads assigned to adk9-laptop in cluster-config.txt.
Done generating cluster code.
g++ -O3 -I/scratch/Software/streamit-2.1.1/library/cluster -c -o combined_threads.o combined_threads.cpp
combined_threads.cpp: In function ‘void init()’:
combined_threads.cpp:61:50: error: ‘PTHREAD_STACK_MIN’ was not declared in this scope
combined_threads.cpp: In function ‘int main(int, char**)’:
combined_threads.cpp:127:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
combined_threads.cpp:127:48: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
make: *** [combined_threads.o] Error 1

Apparently, the definition of PTHREAD_STACK_MIN has changed from pthread.h to limits.h. Here's a fix for this issue:

Include "limits.h" in the generated code for PTHREAD_STACK_MIN
Signed-off-by: Abhishek Kulkarni <adkulkar-GZvvpLG7cYSVc3sceRu5cw@public.gmane.org>

Index: streams/src/at/dms/kjc/cluster/GenerateMasterDotCpp.java
===================================================================
--- streams/src/at/dms/kjc/cluster/GenerateMasterDotCpp.java (revision 11463)
+++ streams/src/at/dms/kjc/cluster/GenerateMasterDotCpp.java (working copy)
<at> <at> -43,6 +43,7 <at> <at>
         p.print("#include <pthread.h>\n");
         p.print("#include <unistd.h>\n");
         p.print("#include <signal.h>\n");
+        p.print("#include <limits.h>\n");
         p.print("#include <string.h>\n");
         p.print("#include <stdlib.h>\n");
         p.print("#include <stdio.h>\n");

<div>
<div>
<div>I had been running into an error trying to compile StreamIt programs with the cluster backend with the SVN tip (r11463)&nbsp;</div>
<div><br></div>
<div>$ strc --cluster 1 HelloWorld.str</div>
<div>Starting Kopi2SIR... done.</div>
<div>Entry to Cluster Backend</div>
<div>Running Constant Prop and Unroll... done.</div>
<div>Running Constant Field Propagation... done.</div>
<div>Estimating Code size of Filters... done.</div>
<div>Estimating Code size of Filters... done.</div>
<div>Running Partitioning... target number of threads: 1</div>
<div>Running Partitioning... target number of threads: 1</div>
<div>&nbsp; Detected target is max fusion, fusing as much as possible...</div>
<div>Done Partitioning...</div>
<div>Generating cluster code...</div>
<div>NOTE: Missing or empty $STREAMIT_HOME/cluster-machines.txt file,</div>
<div>&nbsp; so all threads assigned to adk9-laptop in cluster-config.txt.</div>
<div>Done generating cluster code.</div>
<div>g++ -O3 -I/scratch/Software/streamit-2.1.1/library/cluster -c -o combined_threads.o combined_threads.cpp</div>
<div>combined_threads.cpp: In function &lsquo;void init()&rsquo;:</div>
<div>combined_threads.cpp:61:50: error: &lsquo;PTHREAD_STACK_MIN&rsquo; was not declared in this scope</div>
<div>combined_threads.cpp: In function &lsquo;int main(int, char**)&rsquo;:</div>
<div>combined_threads.cpp:127:30: warning: ignoring return value of &lsquo;int scanf(const char*, ...)&rsquo;, declared with attribute warn_unused_result [-Wunused-result]</div>
<div>combined_threads.cpp:127:48: warning: ignoring return value of &lsquo;int scanf(const char*, ...)&rsquo;, declared with attribute warn_unused_result [-Wunused-result]</div>
<div>make: *** [combined_threads.o] Error 1</div>
</div>
<div>
<br>
</div>
<div>Apparently, the definition of PTHREAD_STACK_MIN has changed from pthread.h to limits.h. Here's a fix for this issue:</div>
<div><br></div>
<div>Include "limits.h" in the generated code for PTHREAD_STACK_MIN</div>
<div>Signed-off-by: Abhishek Kulkarni &lt;<a href="mailto:adkulkar <at> indiana.edu">adkulkar@...</a>&gt;</div>
<div><br></div>
<div>Index: streams/src/at/dms/kjc/cluster/GenerateMasterDotCpp.java</div>
<div>===================================================================</div>
<div>--- streams/src/at/dms/kjc/cluster/GenerateMasterDotCpp.java<span class="Apple-tab-span">	</span>(revision 11463)</div>
<div>+++ streams/src/at/dms/kjc/cluster/GenerateMasterDotCpp.java<span class="Apple-tab-span">	</span>(working copy)</div>
<div> <at>  <at>  -43,6 +43,7  <at>  <at> </div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;p.print("#include &lt;pthread.h&gt;\n");</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;p.print("#include &lt;unistd.h&gt;\n");</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;p.print("#include &lt;signal.h&gt;\n");</div>
<div>+ &nbsp; &nbsp; &nbsp; &nbsp;p.print("#include &lt;limits.h&gt;\n");</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;p.print("#include &lt;string.h&gt;\n");</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;p.print("#include &lt;stdlib.h&gt;\n");</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;p.print("#include &lt;stdio.h&gt;\n");</div>
<div><br></div>
</div>
Michael Gordon | 21 Jul 2011 17:46
Picon

Re: List administrators for this list

Hello Jay,

I recently noticed that you emailed the streamit-dev list looking for an admin.  I was recently added as an
admin.  if you have any questions, please don't hesitate to ask.

Best,
Michael
Jay A. Sekora | 30 Jun 2010 23:05
Picon
Picon
Favicon

List administrators for this list

Hi.  We (The Infrastructure Group at CSAIL, who run the mailing list
server this list is running on) recently tried to contact the list
owners to inform them about some configuration changes we'd like them to
make, and discovered that both of their email addresses now bounce.
Judging by the archives, the list still gets some use, so I was
wondering if anybody on the list would like to step up and take
responsibility for the list.  (It would be very helpful if you had some
experience administering Mailman-managed mailing lists.)

Alternatively, does anybody have a current working email address for
either of rabbah@... or thies@...?

Thanks,

Jay Sekora, TIG

Ankit Gupta | 7 Jan 2010 23:59
Picon

How are filters numbered?

Hi all,

How are the filters numbered in a combined_thread.cpp file? Are they according to the breadth first search? If so, then can I assume that number for a splitter will always be after the source and the number for joiner is just before the one it is connected to ?

Thanks
Ankit

<div><p>Hi all,<br><br>How are the filters numbered in a combined_thread.cpp file? Are they according to the breadth first search? If so, then can I assume that number for a splitter will always be after the source and the number for joiner is just before the one it is connected to ?<br><br>Thanks<br>Ankit<br></p></div>
vasu | 4 Apr 2009 18:10
Picon

issue while debugging streamit compiler

Hi everyone,

I want to debug streamit compiler. ( see the source code and execution flow while execution )

for final executable a.out I m using GDB and it all went fine (It shows the execution flow and source code even through streamit libraries) .

I want similar analysis for generated intermediate files ,
for eg: foo.java and foo.class file generated for foo.str , using "strc --library foo.str" command, particularly when I am executing code using -library option.

for eg: when using

javac foo.java
java foo


can u people suggest a better approach other than  putting printfs/printlns .
I was trying Eclipse but there were many errors due to dependencies of packages.


thanks & regards
T. VASU BABU
M.E. (COMPUTER SCIENCE & AUTOMATION )
INDIAN INSTITUTE OF SCIENCE , BANGALORE -  INDIA

_______________________________________________
StreamIt-dev mailing list
StreamIt-dev@...
https://lists.csail.mit.edu/mailman/listinfo/streamit-dev
Rodric Rabbah | 25 Mar 2009 19:37
Picon

Re: [StreamIt-users] Urgent - Issues with Streamit benchmarks JPEG - JPEG decoder/encoder + MPEG benchmarks

Adding to Bill's note, I believe the feedback loop can be replaced
with a statefull filter (I'll take a look at that). Depending on what
you're trying to achieve, you might also be interested in eliminating
the parser (in the case of the decoder) or the bitstream generator
(huffman encoder, in the case of encoder) and still run a substantial
chunk of JPEG (roughly 60-70% of the computation).

rodric

On Wed, Mar 25, 2009 at 2:21 PM, Bill Thies <bthies@...> wrote:
> Hi Vasu,
>
> The JPEG benchmark appears under the "library_only" directory of our
> release, which (as documented in the README) is for programs that are
> not yet supported by the compiler.  We chose to release them to
> illustrate the expressiveness of the language, even though we are not
> yet able to compile them.  In this case, most of the problems are due
> to dynamic rates (and feedback loops).
>
> While we hope to support these applications eventually, the group's
> current priority is in other areas (including improving the
> performance of the multicore backend).
>
> -Bill
>
> On Wed, Mar 25, 2009 at 8:50 PM, vasu <tvasubabu@...> wrote:
>> Hi everyone,
>>
>> I was trying to compile & run "Transcoder.str"  and  "JPEGtoBMP.str"
>> benchmarks,
>>
>> when I tried executing them using "strc -library" option everything went
>> fine.
>>
>>
>> But with "strc  Transcoder.str" or "strc JPEGtoBMP.str"
>> But with "strc  -cluster 4 Transcoder.str" or "strc -cluster 4JPEGtoBMP.str"
>>
>> its giving errors either at compile time or at runtime.
>>
>> description of error
>>
>> 1) strc  Transcoder.str
>>
>> combined_threads.cpp:26: warning: deprecated conversion from string constant
>> to ‘char*’
>> combined_threads.cpp: In function ‘void init_FileReader__578_285__0()’:
>> combined_threads.cpp:1144: warning: deprecated conversion from string
>> constant to ‘char*’
>> combined_threads.cpp: In function ‘void init_FileWriter__1093_444__31()’:
>> combined_threads.cpp:8115: warning: deprecated conversion from string
>> constant to ‘char*’
>>
>> "a.out" generated with warnings.
>>
>> ./a.out  - Segmentation Fault in line
>> inline void __push__2(int data) {
>> BUFFER_2_3[HEAD_2_3]=data;
>> HEAD_2_3++;
>> }
>>
>> actually variable "HEAD_2_3"  is having value 125168 .
>> it should not exceed 256.
>>
>> 2)strc -cluster 4 Transcoder.str
>>
>> Starting Kopi2SIR...Visiting 0 of
>> 0
>>
>> Entry to Cluster
>> Backend
>> Running Constant Prop and Unroll...
>> done.
>> Running Constant Field Propagation...
>> done.
>> Estimating Code size of Filters...
>> done.
>> Estimating Code size of Filters...
>> done.
>> 1
>> 1
>> 1
>> 1
>>
>>
>> Compiling static sub-graph 0 (TopLevel0_FileReader__578_285)...
>> Running Partitioning... target number of threads: 4
>> Running Partitioning... target number of threads: 4
>>   Found 0 tiles.
>>   Building stream config...
>> Trying 4 tiles.
>>   Calculating partition info...
>>   Tracing back...
>>   Work Estimates:
>>     FileReader__578                     0       (0%)
>>
>> Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__668_286)...
>> Running Partitioning... target number of threads: 1
>> Running Partitioning... target number of threads: 1
>>   Detected target is max fusion, fusing as much as possible...
>>
>> Compiling static sub-graph 2 (TopLevel2_Identity__671_287)...
>> Running Partitioning... target number of threads: 1
>> Running Partitioning... target number of threads: 1
>>   Detected target is max fusion, fusing as much as possible...
>>
>> Compiling static sub-graph 3 (TopLevel3_JPEGByteStream_Creator__1090_443)...
>> Running Partitioning... target number of threads: 1
>> Running Partitioning... target number of threads: 1
>>   Detected target is max fusion, fusing as much as possible...
>>
>> Compiling static sub-graph 4 (TopLevel4_FileWriter__1093_444)...
>> Running Partitioning... target number of threads: 1
>> Running Partitioning... target number of threads: 1
>>   Detected target is max fusion, fusing as much as possible...
>> Done Partitioning...
>> Generating cluster code...
>> Reading machine names from $STREAMIT_HOME/cluster-machines.txt.
>>   WARNING: More threads than machines, assigning up to 5 threads
>>   per machine.  To adjust mapping, edit ./cluster-config.txt.
>> Done generating cluster code.
>> make: Warning: File `Makefile.cluster' has modification time 9.6e+02 s in
>> the future
>> g++ -O3 -g -I/chome8/vasu/streamit-src-2.1.1/library/cluster -c -o
>> combined_threads.o combined_threads.cpp
>> combined_threads.cpp: In function ‘void init__576__0()’:
>> combined_threads.cpp:362: warning: deprecated conversion from string
>> constant to ‘char*’
>> combined_threads.cpp: In function ‘void __main__1()’:
>> combined_threads.cpp:1919: error: ‘__init_pop_buf__1’ was not declared in
>> this scope
>> combined_threads.cpp:1925: error: ‘__update_pop_buf__1’ was not declared in
>> this scope
>> combined_threads.cpp: In function ‘void __main__2()’:
>> combined_threads.cpp:6914: error: ‘__init_pop_buf__2’ was not declared in
>> this scope
>> combined_threads.cpp:6920: error: ‘__update_pop_buf__2’ was not declared in
>> this scope
>> combined_threads.cpp: In function ‘void __main__3()’:
>> combined_threads.cpp:8607: error: ‘__init_pop_buf__3’ was not declared in
>> this scope
>> combined_threads.cpp:8613: error: ‘__update_pop_buf__3’ was not declared in
>> this scope
>> combined_threads.cpp: In function ‘void init__1091__4()’:
>> combined_threads.cpp:8730: warning: deprecated conversion from string
>> constant to ‘char*’
>> combined_threads.cpp: In function ‘void __main__4()’:
>> combined_threads.cpp:8768: error: ‘__init_pop_buf__4’ was not declared in
>> this scope
>> combined_threads.cpp:8774: error: ‘__update_pop_buf__4’ was not declared in
>> this scope
>> make: *** [combined_threads.o] Error 1
>>
>> 3) strc JPEGtoBMP.str
>> Starting Kopi2SIR...Visiting 0 of
>> 0
>> done.
>> Entry to Cluster Backend
>> (uniprocessor)
>> Running Constant Prop and Unroll...
>> done.
>> Running Constant Field Propagation...
>> done.
>> Estimating Code size of Filters...
>> done.
>> Estimating Code size of Filters...
>> done.
>> 1
>> 1
>> 1
>> 1
>> added vasu no of Ssgs
>> 5
>>
>> Compiling static sub-graph 0 (TopLevel0_FileReader__4178_188)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__4268_189)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 2 (TopLevel2_Identity__4271_190)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 3 (TopLevel3_BMPByteStream_Creator__4488_923)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 4 (TopLevel4_FileWriter__4491_924)...
>> Running Partitioning... target number of threads: 1
>> Done Partitioning...
>> Generating cluster code...
>> Done generating cluster code.
>> make: Warning: File `Makefile.cluster' has modification time 9.6e+02 s in
>> the future
>> g++ -O3 -g -I/chome8/vasu/streamit-src-2.1.1/library/cluster -c -o
>> combined_threads.o combined_threads.cpp
>> combined_threads.cpp:26: warning: deprecated conversion from string constant
>> to ‘char*’
>> combined_threads.cpp: In function ‘void init_FileReader__4178_188__0()’:
>> combined_threads.cpp:867: warning: deprecated conversion from string
>> constant to ‘char*’
>> combined_threads.cpp: In function ‘void init_FileWriter__4491_924__26()’:
>> combined_threads.cpp:5524: warning: deprecated conversion from string
>> constant to ‘char*’
>> combined_threads.cpp: At global scope:
>> combined_threads.cpp:6048: error: redefinition of ‘int tmp’
>> combined_threads.cpp:2793: error: ‘int tmp’ previously declared here
>> combined_threads.cpp:7847: error: redefinition of ‘int tmp’
>> combined_threads.cpp:2793: error: ‘int tmp’ previously declared here
>> make: *** [combined_threads.o] Error 1
>>
>> - even after removing this duplication problem of variables its getting
>> hanged.
>>
>> 4)strc JPEGtoBMP.str
>> Starting Kopi2SIR...Visiting 0 of
>> 0
>>
>>  done.
>> Entry to Cluster Backend
>> (uniprocessor)
>> Running Constant Prop and Unroll...
>> done.
>> Running Constant Field Propagation...
>> done.
>> Estimating Code size of Filters...
>> done.
>> Estimating Code size of Filters...
>> done.
>> 1
>> 1
>> 1
>> 1
>> added vasu no of Ssgs
>> 5
>>
>> Compiling static sub-graph 0 (TopLevel0_FileReader__4178_188)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__4268_189)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 2 (TopLevel2_Identity__4271_190)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 3 (TopLevel3_BMPByteStream_Creator__4488_923)...
>> Running Partitioning... target number of threads: 1
>>
>> Compiling static sub-graph 4 (TopLevel4_FileWriter__4491_924)...
>> Running Partitioning... target number of threads: 1
>> Done Partitioning...
>> Generating cluster code...
>> Done generating cluster code.
>> make: Warning: File `Makefile.cluster' has modification time 9.6e+02 s in
>> the future
>> g++ -O3 -g -I/chome8/vasu/streamit-src-2.1.1/library/cluster -c -o
>> combined_threads.o combined_threads.cpp
>> combined_threads.cpp:26: warning: deprecated conversion from string constant
>> to ‘char*’
>> combined_threads.cpp: In function ‘void
>> init_FileReader__4178_188__0()’:
>> combined_threads.cpp:867: warning: deprecated conversion from string
>> constant to ‘char*’
>> combined_threads.cpp: In function ‘void
>> init_FileWriter__4491_924__26()’:
>> combined_threads.cpp:5524: warning: deprecated conversion from string
>> constant to ‘char*’
>> combined_threads.cpp: At global
>> scope:
>> combined_threads.cpp:6048: error: redefinition of ‘int
>> tmp’
>> combined_threads.cpp:2793: error: ‘int tmp’ previously declared
>> here
>> combined_threads.cpp:7847: error: redefinition of ‘int
>> tmp’
>> combined_threads.cpp:2793: error: ‘int tmp’ previously declared
>> here
>> make: *** [combined_threads.o] Error
>> 1
>> vasu <at> ashoka:~/Desktop/StreaMitBenchmarks/Jpeg/JpegToBmp$
>> clear
>> vasu <at> ashoka:~/Desktop/StreaMitBenchmarks/Jpeg/JpegToBmp$ strc -cluster 4
>> JPEGtoBMP.str
>> Starting Kopi2SIR...Visiting 0 of
>> 0
>> app[i]
>> at.dms.kjc.JCompilationUnit <at> c21495
>>  done.
>> Entry to Cluster
>> Backend
>> Running Constant Prop and Unroll...
>> done.
>> Running Constant Field Propagation...
>> done.
>> Estimating Code size of Filters...
>> done.
>> Estimating Code size of Filters...
>> done.
>> 1
>> 1
>> 1
>> 1
>> added vasu no of Ssgs
>> 5
>>
>> Compiling static sub-graph 0 (TopLevel0_FileReader__4178_188)...
>> Running Partitioning... target number of threads: 4
>> Running Partitioning... target number of threads: 4
>>   Found 0 tiles.
>>   Building stream config...
>> Trying 4 tiles.
>>   Calculating partition info...
>>   Tracing back...
>>   Work Estimates:
>>     FileReader__4178                    0       (0%)
>>
>> Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__4268_189)...
>> Running Partitioning... target number of threads: 1
>> Running Partitioning... target number of threads: 1
>>   Detected target is max fusion, fusing as much as possible...
>>
>> Compiling static sub-graph 2 (TopLevel2_Identity__4271_190)...
>> Running Partitioning... target number of threads: 1
>> Running Partitioning... target number of threads: 1
>>   Detected target is max fusion, fusing as much as possible...
>>   Building stream config...
>> Trying 17 tiles.
>>   Calculating partition info...
>>   Tracing back...
>> java.lang.RuntimeException: Failure: Don't yet support fusion of feedback
>> loops.
>>         at
>> at.dms.util.Utils.fail(Utils.java:69)
>>         at
>> at.dms.kjc.sir.lowering.fusion.FuseAll.preVisitFeedbackLoop(FuseAll.java:104)
>>         at
>> at.dms.kjc.iterator.SIRFeedbackLoopIter.accept(SIRFeedbackLoopIter.java:212)
>>         at
>> at.dms.kjc.iterator.SIRSplitJoinIter.accept(SIRSplitJoinIter.java:178)
>>         at
>> at.dms.kjc.sir.lowering.fusion.FuseAll.fuse(FuseAll.java:53)
>>         at
>> at.dms.kjc.sir.lowering.fusion.FuseAll.fuse(FuseAll.java:64)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:772)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:826)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:830)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:830)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:631)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigPipeline.traceback(DPConfigPipeline.java:40)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DynamicProgPartitioner.calcPartitions(DynamicProgPartitioner.java:254)
>>         at
>> at.dms.kjc.sir.lowering.partition.dynamicprog.DynamicProgPartitioner.calcPartitions(DynamicProgPartitioner.java:167)
>>         at at.dms.kjc.cluster.ClusterBackend.run(ClusterBackend.java:344)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>         at at.dms.kjc.StreaMITMain.compile(StreaMITMain.java:167)
>>         at at.dms.kjc.Main.run(Main.java:171)
>>         at at.dms.kjc.Main.compile(Main.java:74)
>>         at at.dms.kjc.Main.main(Main.java:61)
>>
>>
>>
>> regards
>> T. vasu babu
>> M.E. (Computer Science & Automation)
>> Indian Institute of science,
>> bangalore - 12, India
>>
>>
>>
>>
>>
>> _______________________________________________
>> StreamIt-users mailing list
>> StreamIt-users@...
>> https://lists.csail.mit.edu/mailman/listinfo/streamit-users
>>
>>
>
vasu | 25 Mar 2009 16:20
Picon

Urgent - Issues with Streamit benchmarks JPEG - JPEG decoder/encoder + MPEG benchmarks

Hi everyone,

I was trying to compile & run "Transcoder.str"  and  "JPEGtoBMP.str" benchmarks,

when I tried executing them using "strc -library" option everything went fine.


But with "strc  Transcoder.str" or "strc JPEGtoBMP.str"
But with "strc  -cluster 4 Transcoder.str" or "strc -cluster 4JPEGtoBMP.str"

its giving errors either at compile time or at runtime.

description of error

1) strc  Transcoder.str

combined_threads.cpp:26: warning: deprecated conversion from string constant to ‘char*’
combined_threads.cpp: In function ‘void init_FileReader__578_285__0()’:
combined_threads.cpp:1144: warning: deprecated conversion from string constant to ‘char*’
combined_threads.cpp: In function ‘void init_FileWriter__1093_444__31()’:
combined_threads.cpp:8115: warning: deprecated conversion from string constant to ‘char*’

"a.out" generated with warnings.

./a.out  - Segmentation Fault in line
inline void __push__2(int data) {
BUFFER_2_3[HEAD_2_3]=data;
HEAD_2_3++;
}

actually variable "HEAD_2_3"  is having value 125168 .
it should not exceed 256.

2)strc -cluster 4 Transcoder.str

Starting Kopi2SIR...Visiting 0 of 0                                                     
                                                                  
Entry to Cluster Backend                                                                
Running Constant Prop and Unroll... done.                                               
Running Constant Field Propagation... done.                                             
Estimating Code size of Filters... done.                                                
Estimating Code size of Filters... done.                                                
1                                                                                       
1                                                                                       
1                                                                                       
1                                                                                       
                                                    

Compiling static sub-graph 0 (TopLevel0_FileReader__578_285)...
Running Partitioning... target number of threads: 4           
Running Partitioning... target number of threads: 4           
  Found 0 tiles.                                              
  Building stream config...                                   
Trying 4 tiles.                                               
  Calculating partition info...                               
  Tracing back...                                             
  Work Estimates:                                             
    FileReader__578                     0       (0%)          

Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__668_286)...
Running Partitioning... target number of threads: 1                      
Running Partitioning... target number of threads: 1                      
  Detected target is max fusion, fusing as much as possible...           

Compiling static sub-graph 2 (TopLevel2_Identity__671_287)...
Running Partitioning... target number of threads: 1         
Running Partitioning... target number of threads: 1         
  Detected target is max fusion, fusing as much as possible...

Compiling static sub-graph 3 (TopLevel3_JPEGByteStream_Creator__1090_443)...
Running Partitioning... target number of threads: 1                        
Running Partitioning... target number of threads: 1                        
  Detected target is max fusion, fusing as much as possible...             

Compiling static sub-graph 4 (TopLevel4_FileWriter__1093_444)...
Running Partitioning... target number of threads: 1
Running Partitioning... target number of threads: 1
  Detected target is max fusion, fusing as much as possible...
Done Partitioning...
Generating cluster code...
Reading machine names from $STREAMIT_HOME/cluster-machines.txt.
  WARNING: More threads than machines, assigning up to 5 threads
  per machine.  To adjust mapping, edit ./cluster-config.txt.
Done generating cluster code.
make: Warning: File `Makefile.cluster' has modification time 9.6e+02 s in the future
g++ -O3 -g -I/chome8/vasu/streamit-src-2.1.1/library/cluster -c -o combined_threads.o combined_threads.cpp
combined_threads.cpp: In function ‘void init__576__0()’:
combined_threads.cpp:362: warning: deprecated conversion from string constant to ‘char*’
combined_threads.cpp: In function ‘void __main__1()’:
combined_threads.cpp:1919: error: ‘__init_pop_buf__1’ was not declared in this scope
combined_threads.cpp:1925: error: ‘__update_pop_buf__1’ was not declared in this scope
combined_threads.cpp: In function ‘void __main__2()’:
combined_threads.cpp:6914: error: ‘__init_pop_buf__2’ was not declared in this scope
combined_threads.cpp:6920: error: ‘__update_pop_buf__2’ was not declared in this scope
combined_threads.cpp: In function ‘void __main__3()’:
combined_threads.cpp:8607: error: ‘__init_pop_buf__3’ was not declared in this scope
combined_threads.cpp:8613: error: ‘__update_pop_buf__3’ was not declared in this scope
combined_threads.cpp: In function ‘void init__1091__4()’:
combined_threads.cpp:8730: warning: deprecated conversion from string constant to ‘char*’
combined_threads.cpp: In function ‘void __main__4()’:
combined_threads.cpp:8768: error: ‘__init_pop_buf__4’ was not declared in this scope
combined_threads.cpp:8774: error: ‘__update_pop_buf__4’ was not declared in this scope
make: *** [combined_threads.o] Error 1

3) strc JPEGtoBMP.str                              
Starting Kopi2SIR...Visiting 0 of 0                                                                      
done.                                                                                                   
Entry to Cluster Backend (uniprocessor)                                                                  
Running Constant Prop and Unroll... done.                                                                
Running Constant Field Propagation... done.                                                              
Estimating Code size of Filters... done.                                                                 
Estimating Code size of Filters... done.                                                                 
1                                                                                                        
1                                                                                                        
1                                                                                                        
1                                                                                                        
added vasu no of Ssgs 5                                                                                  

Compiling static sub-graph 0 (TopLevel0_FileReader__4178_188)...
Running Partitioning... target number of threads: 1

Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__4268_189)...
Running Partitioning... target number of threads: 1

Compiling static sub-graph 2 (TopLevel2_Identity__4271_190)...
Running Partitioning... target number of threads: 1

Compiling static sub-graph 3 (TopLevel3_BMPByteStream_Creator__4488_923)...
Running Partitioning... target number of threads: 1

Compiling static sub-graph 4 (TopLevel4_FileWriter__4491_924)...
Running Partitioning... target number of threads: 1
Done Partitioning...
Generating cluster code...
Done generating cluster code.
make: Warning: File `Makefile.cluster' has modification time 9.6e+02 s in the future
g++ -O3 -g -I/chome8/vasu/streamit-src-2.1.1/library/cluster -c -o combined_threads.o combined_threads.cpp
combined_threads.cpp:26: warning: deprecated conversion from string constant to ‘char*’
combined_threads.cpp: In function ‘void init_FileReader__4178_188__0()’:
combined_threads.cpp:867: warning: deprecated conversion from string constant to ‘char*’
combined_threads.cpp: In function ‘void init_FileWriter__4491_924__26()’:
combined_threads.cpp:5524: warning: deprecated conversion from string constant to ‘char*’
combined_threads.cpp: At global scope:
combined_threads.cpp:6048: error: redefinition of ‘int tmp’
combined_threads.cpp:2793: error: ‘int tmp’ previously declared here
combined_threads.cpp:7847: error: redefinition of ‘int tmp’
combined_threads.cpp:2793: error: ‘int tmp’ previously declared here
make: *** [combined_threads.o] Error 1

- even after removing this duplication problem of variables its getting hanged.

4)strc JPEGtoBMP.str                              
Starting Kopi2SIR...Visiting 0 of 0                                                                                                                                  
 done.                                                                                                   
Entry to Cluster Backend (uniprocessor)                                                                  
Running Constant Prop and Unroll... done.                                                                
Running Constant Field Propagation... done.                                                              
Estimating Code size of Filters... done.                                                                 
Estimating Code size of Filters... done.                                                                 
1                                                                                                        
1                                                                                                        
1                                                                                                        
1                                                                                                        
added vasu no of Ssgs 5                                                                                  

Compiling static sub-graph 0 (TopLevel0_FileReader__4178_188)...
Running Partitioning... target number of threads: 1            

Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__4268_189)...
Running Partitioning... target number of threads: 1                       

Compiling static sub-graph 2 (TopLevel2_Identity__4271_190)...
Running Partitioning... target number of threads: 1          

Compiling static sub-graph 3 (TopLevel3_BMPByteStream_Creator__4488_923)...
Running Partitioning... target number of threads: 1                       

Compiling static sub-graph 4 (TopLevel4_FileWriter__4491_924)...
Running Partitioning... target number of threads: 1            
Done Partitioning...                                           
Generating cluster code...                                     
Done generating cluster code.                                  
make: Warning: File `Makefile.cluster' has modification time 9.6e+02 s in the future
g++ -O3 -g -I/chome8/vasu/streamit-src-2.1.1/library/cluster -c -o combined_threads.o combined_threads.cpp
combined_threads.cpp:26: warning: deprecated conversion from string constant to ‘char*’                  
combined_threads.cpp: In function ‘void init_FileReader__4178_188__0()’:                                 
combined_threads.cpp:867: warning: deprecated conversion from string constant to ‘char*’                 
combined_threads.cpp: In function ‘void init_FileWriter__4491_924__26()’:                                
combined_threads.cpp:5524: warning: deprecated conversion from string constant to ‘char*’                
combined_threads.cpp: At global scope:                                                                   
combined_threads.cpp:6048: error: redefinition of ‘int tmp’                                              
combined_threads.cpp:2793: error: ‘int tmp’ previously declared here                                     
combined_threads.cpp:7847: error: redefinition of ‘int tmp’                                              
combined_threads.cpp:2793: error: ‘int tmp’ previously declared here                                     
make: *** [combined_threads.o] Error 1                                                                   
vasu <at> ashoka:~/Desktop/StreaMitBenchmarks/Jpeg/JpegToBmp$ clear                                           
vasu <at> ashoka:~/Desktop/StreaMitBenchmarks/Jpeg/JpegToBmp$ strc -cluster 4 JPEGtoBMP.str
Starting Kopi2SIR...Visiting 0 of 0                                                   
app[i] at.dms.kjc.JCompilationUnit <at> c21495                                             
 done.                                                                                
Entry to Cluster Backend                                                              
Running Constant Prop and Unroll... done.                                             
Running Constant Field Propagation... done.                                           
Estimating Code size of Filters... done.                                              
Estimating Code size of Filters... done.                                              
1                                                                                     
1                                                                                     
1                                                                                     
1                                                                                     
added vasu no of Ssgs 5                                                               

Compiling static sub-graph 0 (TopLevel0_FileReader__4178_188)...
Running Partitioning... target number of threads: 4            
Running Partitioning... target number of threads: 4            
  Found 0 tiles.                                               
  Building stream config...                                    
Trying 4 tiles.                                                
  Calculating partition info...                                
  Tracing back...                                              
  Work Estimates:                                              
    FileReader__4178                    0       (0%)           

Compiling static sub-graph 1 (TopLevel1_JPEGByteStream_Parser__4268_189)...
Running Partitioning... target number of threads: 1                       
Running Partitioning... target number of threads: 1                       
  Detected target is max fusion, fusing as much as possible...            

Compiling static sub-graph 2 (TopLevel2_Identity__4271_190)...
Running Partitioning... target number of threads: 1          
Running Partitioning... target number of threads: 1          
  Detected target is max fusion, fusing as much as possible...
  Building stream config...                                  
Trying 17 tiles.                                             
  Calculating partition info...                              
  Tracing back...                                            
java.lang.RuntimeException: Failure: Don't yet support fusion of feedback loops.
        at at.dms.util.Utils.fail(Utils.java:69)                               
        at at.dms.kjc.sir.lowering.fusion.FuseAll.preVisitFeedbackLoop(FuseAll.java:104)
        at at.dms.kjc.iterator.SIRFeedbackLoopIter.accept(SIRFeedbackLoopIter.java:212)
        at at.dms.kjc.iterator.SIRSplitJoinIter.accept(SIRSplitJoinIter.java:178)      
        at at.dms.kjc.sir.lowering.fusion.FuseAll.fuse(FuseAll.java:53)                
        at at.dms.kjc.sir.lowering.fusion.FuseAll.fuse(FuseAll.java:64)                
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:772)                                                                                                             
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:755)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:826)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:830)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:830)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigContainer.traceback(DPConfigContainer.java:631)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfigPipeline.traceback(DPConfigPipeline.java:40)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DynamicProgPartitioner.calcPartitions(DynamicProgPartitioner.java:254)
        at at.dms.kjc.sir.lowering.partition.dynamicprog.DynamicProgPartitioner.calcPartitions(DynamicProgPartitioner.java:167)
        at at.dms.kjc.cluster.ClusterBackend.run(ClusterBackend.java:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at at.dms.kjc.StreaMITMain.compile(StreaMITMain.java:167)
        at at.dms.kjc.Main.run(Main.java:171)
        at at.dms.kjc.Main.compile(Main.java:74)
        at at.dms.kjc.Main.main(Main.java:61)



regards
T. vasu babu
M.E. (Computer Science & Automation)
Indian Institute of science,
bangalore - 12, India




_______________________________________________
StreamIt-dev mailing list
StreamIt-dev@...
https://lists.csail.mit.edu/mailman/listinfo/streamit-dev

Gmane