MatsuLab. Lecture Note/sougouenshu2007/round3/test
はすでに存在します。
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*TESTパッケージ [#n730c9ee]
担当者が Cell C/C++ Langage Extensions と Fixstars とかを...
この関数面白そうだ → 使ってみる → 出来た〜
の流れで公開しますので、なかなか増えないかもしれないです...
**パッケージ構成(2007/12/22現在) [#wc0d2f86]
-&ref(test.tar.gz,, テストパッケージ 12/22版);
- test
+- listdma
| +- p_ldma.c
| +- s_ldma.c
| +- Makefile
|
+- vectorshift
| +- s_vshift.c
| +- Makefile
|
+- reuse
+- p_reuse.c
+- s_reuse.c
+- barrier.c
+- barrier.h
+- errors.h
**使い方 [#nb46dd92]
とりあえず、自分の使いたいプログラムのディレクトリで
make
あとは各プログラムに起動方法かきます。
**説明 [#s1576788]
*** listdma [#o286f03a]
-PPE-SPE間の転送に使う LIST DMA という機能があります。こ...
-C/C++ Langage Extensions 節4.4 です
-やっていること
++とりあえず、PPEはa[], b[] に abcdef....z をいれます。13...
++んで、SPE は a, b のメインメモリのアドレスをもらって、M...
++SPEプリント文でちゃんと受け取れてるか見せてくれます
-キーとなるソース
for (i = 0; i < 2; i++) {
list[i].notify = 0;
list[i].reserved = 0;
list[i].size = 16;
}
list[0].eal = mfc_ea2l(args.a);
list[1].eal = mfc_ea2l(args.b);
spu_mfcdma64(buf, mfc_ea2h(args.a), (unsigned int)&list,...
spu_writech(MFC_WrTagMask, 1 << 0);
spu_mfcstat(MFC_TAG_UPDATE_ALL);
-応用例はこんな感じです→[[FIXSTERS:http://cell.fixstars.c...
-起動方法
./p_ldma
*** vectorshift [#o286f03a]
-SPEで、ヴェクトルを回転させたかった。つまり (0, 1, 2, 3)...
-C/C++ Langage Extensions 節2.10 です
-やっていること
++ヴェクトル全体を左に一要素分ローテートしました
++4回繰り返します、最初に戻ります
-キーとなるソース
va[0] = spu_rlqwbyte(va[0], (int)sizeof(float));
-起動方法
elfspe ./s_vshift
*** reuse [#i2d21937]
-SPEコンテキストとPthread を再利用するにはどうすればいい...
-これを見ると、N体問題の計算部分以外は出来てしまいます。...
-同梱の barrier.c barrier.h errors.h は Dave Butenhof 氏...
-すくなくとも、利益の発生するような使い方では使ってほしく...
-やっていること、キーとなるソース
--えっと、書いてしまうと課題が全部分かってしまうので、各...
-起動方法
./p_reuse
終了行:
*TESTパッケージ [#n730c9ee]
担当者が Cell C/C++ Langage Extensions と Fixstars とかを...
この関数面白そうだ → 使ってみる → 出来た〜
の流れで公開しますので、なかなか増えないかもしれないです...
**パッケージ構成(2007/12/22現在) [#wc0d2f86]
-&ref(test.tar.gz,, テストパッケージ 12/22版);
- test
+- listdma
| +- p_ldma.c
| +- s_ldma.c
| +- Makefile
|
+- vectorshift
| +- s_vshift.c
| +- Makefile
|
+- reuse
+- p_reuse.c
+- s_reuse.c
+- barrier.c
+- barrier.h
+- errors.h
**使い方 [#nb46dd92]
とりあえず、自分の使いたいプログラムのディレクトリで
make
あとは各プログラムに起動方法かきます。
**説明 [#s1576788]
*** listdma [#o286f03a]
-PPE-SPE間の転送に使う LIST DMA という機能があります。こ...
-C/C++ Langage Extensions 節4.4 です
-やっていること
++とりあえず、PPEはa[], b[] に abcdef....z をいれます。13...
++んで、SPE は a, b のメインメモリのアドレスをもらって、M...
++SPEプリント文でちゃんと受け取れてるか見せてくれます
-キーとなるソース
for (i = 0; i < 2; i++) {
list[i].notify = 0;
list[i].reserved = 0;
list[i].size = 16;
}
list[0].eal = mfc_ea2l(args.a);
list[1].eal = mfc_ea2l(args.b);
spu_mfcdma64(buf, mfc_ea2h(args.a), (unsigned int)&list,...
spu_writech(MFC_WrTagMask, 1 << 0);
spu_mfcstat(MFC_TAG_UPDATE_ALL);
-応用例はこんな感じです→[[FIXSTERS:http://cell.fixstars.c...
-起動方法
./p_ldma
*** vectorshift [#o286f03a]
-SPEで、ヴェクトルを回転させたかった。つまり (0, 1, 2, 3)...
-C/C++ Langage Extensions 節2.10 です
-やっていること
++ヴェクトル全体を左に一要素分ローテートしました
++4回繰り返します、最初に戻ります
-キーとなるソース
va[0] = spu_rlqwbyte(va[0], (int)sizeof(float));
-起動方法
elfspe ./s_vshift
*** reuse [#i2d21937]
-SPEコンテキストとPthread を再利用するにはどうすればいい...
-これを見ると、N体問題の計算部分以外は出来てしまいます。...
-同梱の barrier.c barrier.h errors.h は Dave Butenhof 氏...
-すくなくとも、利益の発生するような使い方では使ってほしく...
-やっていること、キーとなるソース
--えっと、書いてしまうと課題が全部分かってしまうので、各...
-起動方法
./p_reuse
ページ名:
既存のページ名で編集する