StreamIt

StreamIt

StreamIt是由麻省理工學院開發的一個面向多核的流語言編譯程式。StreamIt程式以.str結尾,目前一般linux平台上run 。

StreamIt

麻省理工學院(MIT,注意StreamIt的後三個字母)開發的一個面向多核的流語言編譯程式。
常多套用於多媒體領域。

一個簡單的示例A minimal Program

void -> void pipeline Minimal{

stream-graph-simple.dot
add IntSource;
add IntPrinter;
}
void -> int filter IntSource {
int x;
init { x = 0;}
work push 1 { push(x++); }
}
int -> void filter IntPrinter {
work pop 1 { print(pop()); }
}
下面是斐波那契數列的產生,用StreamIt實現

void->void pipeline Fib {

斐波那契數列程式中DOTTY程式產生的流圖
add feedbackloop {
join roundrobin(0, 1);
body PeekAdd();
loop Identity<int>();
split duplicate;
enqueue 0;
enqueue 1;
};
add IntPrinter();
}
int->int filter PeekAdd {
work push 1 pop 1 peek 2 {
push(peek(1) + pop());
}
}
int->void filter IntPrinter {
work pop 1 {
println(pop());
}
}
StreamIt編譯命令及語法
cookbook中關於StreamIt關鍵字的截圖
StreamIt程式以.str結尾,編譯程式命令 STRC *.str 或者 strc *.str -library(調用JAVA庫)
運行已編譯好的程式用命令 ./a.out
目前一般linux平台上run
由於StreamIt編譯器將.str代碼轉換成中間代碼.java
所以StreamIt有許多規則同JAVA類似 比如程式hello.str中最外的pipeline命名必須為hello
身為流語言的StreamIt結構相當清晰
dotty命令可以為證
查看右圖所示的.dot圖可用命令 dotty stream-graph-simple.dot
StreamIt語法可查看cookbook
建議在MIT網站上從例子中自己挖掘
附圖一張
如何查找StreamIt資料

StreamIt並未普及
了解這個語言的人相當有限
編譯器可在下面給出的擴展閱讀中的網站中找,是MIT的官方頁面。
另外,在google中收索StreamIt 國防科大 會有一些相關的文獻
在google中輸入StreamIt cookbook 會有在csdn上的資料。

相關詞條

相關搜尋

熱門詞條

聯絡我們