StreamIt

StreamIt

麻省理工學院(MIT,注意StreamIt的後三個字母)開發的一個面向多核的流語言編譯程式

常多套用於多媒體領域。

基本介紹

  • 外文名:StreamIt
  • 開發者:麻省理工學院
  • 性質:面向多核的流語言編譯程式
  • 套用:多媒體領域
StreamIt,一個簡單的示例A Minimal Program,下面是斐波那契數列的產生,用StreamIt實現,StreamIt編譯命令及語法,如何查找StreamIt資料,

StreamIt

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

一個簡單的示例A Minimal Program

void -> void pipeline Minimal{
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 {
add feedbackloop {
斐波那契數列程式中DOTTY程式產生的流圖斐波那契數列程式中DOTTY程式產生的流圖
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編譯命令及語法

StreamIt程式以.str結尾,編譯程式命令 strc *.str 或者 strc *.str -library(調用JAVA庫)
cookbook中關於StreamIt關鍵字的截圖cookbook中關於StreamIt關鍵字的截圖
運行已編譯好的程式用命令 ./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上的資料。

相關詞條

熱門詞條

聯絡我們