annotate resume/finalutf8.tex @ 2:f9330d7fcfb0

add resume
author Yutaka_Kinjyo
date Mon, 15 Feb 2010 19:37:42 +0900
parents
children dadfafc34c6e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
1 \documentclass[twocolumn,twoside,9.5pt]{jarticle}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
2 \usepackage[dvipdfm]{graphicx}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
3 \usepackage{booktabs}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
4
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
5 \usepackage{fancyhdr}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
6 \pagestyle{fancy}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
7 \lhead{\includegraphics[height=1zw,clip,keepaspectratio]{pic/emblem-bitmap.eps}琉球大学主催 工学部情報工学科 卒業研究発表会}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
8 \rhead{}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
9 \cfoot{}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
10
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
11 \setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
12 \setlength{\headheight}{0mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
13 \setlength{\headsep}{5mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
14 \setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
15 \setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
16 \setlength{\textwidth}{181mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
17 \setlength{\textheight}{261mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
18 \setlength{\footskip}{0mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
19 \pagestyle{empty}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
20
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
21 \begin{document}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
22 \title{Cell上のソフトウェアレンダリングの高機能化と高速化}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
23 \author{065725F 金城裕 {}{} 指導教員 : 河野真治}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
24 \date{}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
25 \maketitle
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
26 \thispagestyle{fancy}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
27
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
28 \section{Cell上のソフトウェアレンダリング}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
29
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
30 我々は、8SPU+2PPUのヘテロCPU構成を持つCell / PS3 上での
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
31 ソフトウェアレンダリングエンジン
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
32 を開発中である。これは、Cerium Task Manager 上に実装され、琉球大学情報工学科の
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
33 3年生の実験で使用中である。PS3 のGraphics Engine の仕様は公開されていない
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
34 ために、ソフトウェアレンダリングを
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
35 実装する必要がある。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
36
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
37 ソフトウェアレンダリングは、SceneGraph、Polygon、Span、Z buffer の各段階があり、
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
38 それぞれの段階で、並列処理を行なう必要がある。現在は、Span の生成を1 SPU上で行ない、Z buffer を複数のSPU上で処理している。さらに、他の段階でも並列処理を
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
39 行なう必要がある。PPUよりもSPUの方が高速なので、1SPU 上で実行するだけでも
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
40 意味がある。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
41
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
42 \vspace{-5mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
43 \section{ヘテロジニアス・マルチコアプロセッサCell}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
44 Cellは、1基の制御系プロセッサコア (PPE:PowerPc Processor ELement) と8基の演算系プロセッサコア (SPE:Synergistic Processor Element) で構成される。各プロセッサコアは、EIB (Element Interconnect Bus) と呼ばれる高速なバスで接続されている。また、EIBはメインメモリや外部入出力デバイスとも接続されていて、各プロセッサコアはEIBを経由してデータアクセスをおこなう。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
45
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
46 この2種類のCPUをプログラマ自身が用途に合わせて適切に使い分けるように考慮する必要がある。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
47
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
48 \vspace{-6mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
49 \section{Cerium}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
50 当研究室ではCeriumと呼ばれるゲーム開発フレームワークがあり、以下の3つの要素から構成されている。\\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
51
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
52 \vspace{-6mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
53 \begin{itemize}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
54 \item SceneGraph
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
55 \vspace{-3mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
56 \item Rendering Engine
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
57 \vspace{-3mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
58 \item Task Manager
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
59 \end{itemize}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
60
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
61 Ceriumは独自にRenderingEngineを持つ。ゲーム中のオブジャクトの振る舞いやルールはSceneGraphで管理し、それらの動きやレンダリングの処理を動的にSPEに割り振るカーネルとして、TaskMnagerが用いられる。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
62 TaskManagerは、Taskと呼ばれる、分割された各プログラムを管理する。Taskの単位はサブルーチンまたは関数とし、Task同士の依存関係を考慮しながら実行していく。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
63 現在Ceriumはlinux,macosx上で動作し、コンパイル方法によってCellのspeを使うかどうかを選択できる。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
64
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
65
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
66 \section{Rendering Engine}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
67
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
68 Rendering Engineは主に、CreatePolygonFromSceneGraph、CreateSpan、DrawSpanという3つのタスクから構成されている。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
69 それぞれのタスクの動作とレンダリングの流れを示す。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
70  \\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
71 1.CreatePolygonFromSceneGraph タスクによってSceneGraphをもとにモデリングデータから、実際に表示するポリゴンを生成する。\\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
72 2.CreateSpan タスクで生成したポリゴンからSpanの生成する。\\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
73 3.DrawSpan タスクでSpanをRGBにマッピングし描画する。\\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
74 ここでいうSpanとは、ポリゴンに対するある特定のY座標に関するデータを抜き出したものである。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
75
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
76 \vspace{0mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
77 \begin{figure}[htbp]
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
78 \begin{center}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
79 \includegraphics[scale=0.4]{pic/rendering3.pdf}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
80 \caption{レンダリングの流れ} \label{rendering}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
81 \end{center}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
82 \end{figure}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
83
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
84
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
85 \vspace{-6mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
86 \section{レンダリングエンジンの高速化と高機能化}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
87 \subsection{光源の実装}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
88 レンダリングエンジンに光源処理の実装をした。光源は SceneGraph のオブジェクトと
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
89 して実装され、SceneGraph 側から、操作できる。光源は点光源であり、光源数は 4 つに
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
90 設定している。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
91
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
92 \vspace{0mm}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
93 \begin{figure}[htbp]
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
94 \begin{center}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
95 \includegraphics[scale=0.4]{pic/nonlightearth.pdf}    
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
96 \includegraphics[scale=0.4]{pic/lightearth.pdf}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
97 \caption{光源実装前後の表示結果} \label{nonlightearth}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
98 \end{center}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
99 \end{figure}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
100
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
101 \subsection{実装手法}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
102 光源処理は DrawSpan タスク内で行う。描画対象となる Span は法線ベクトルの情報
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
103 を持っている。光源の座標情報は、あらかじめ、各 SPE のローカルストアに確保してい
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
104 る。描画対象のドット座標と光源の座標から光源ベクトルを求める。光源ベクトルと法線
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
105 ベクトルとの内積を計算し、rgb 値に乗算する。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
106
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
107 \subsubsection{光源座標のLoad,Update}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
108 光源座標のメモリ領域を各 SPE のローカルストアに確保するのは DataLoad タスクで
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
109 行う。確保された光源座標は DataUpdate タスクで、タスクに引数として渡された光源
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
110 座標に更新される。SPE 側でのメモリ領域の確保、参照には TaskManager の API を用
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
111 いている。%DataLoad タスクはレンダリングのはじめで各 SPE で実行される。DataUpdate タスクはSceneGraph を更新した後、DrawSpan タスクの前に実行される。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
112
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
113 \subsubsection{光源処理のSIMD化}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
114 光源処理の演算をSIMD演算で実装した。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
115 Cell では、SPEに実装されている128ビットレジスタを用いてSIMD
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
116 (Single Instruction Multiple Data)を行うことが 出来る。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
117 SIMDとは、1つの命令で複数のデータに対して処理を行う演算方式である。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
118 そのSIMDを用いて、本来4つの光源を計算するため同じ処理を4回行うところを、
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
119 1度の光源処理で4つ分の光源の計算を行うことができた。以下にSIMDを用いない場合の光源ベクトルの算出コードを示す。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
120
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
121 \begin{verbatim}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
122 light_vector[0] = world_x - light_xyz[i*4];
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
123 light_vector[1] = world_y - light_xyz[i*4+1];
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
124 light_vector[2] = world_z - light_xyz[i*4+2];
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
125 light_vector[3] = light_xyz[i*4+3];
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
126 \end{verbatim}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
127
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
128 次に上記のコードをSIMD化したコードを示す。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
129
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
130 \begin{verbatim}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
131 *vlight_vector = spu_sub(v_world[i],vlight_xyz[i]);
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
132 \end{verbatim}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
133
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
134 このように、SIMD演算を用いて、4つの演算命令を1つの演算命令で行うことができる。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
135
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
136 \section{評価と課題}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
137 \subsection{実行速度評価}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
138 光源を実装した後と、光源処理をSIMD化した時のFPS(Frame Per Second)を計測した。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
139 計測対象として地球と月のオブジェクトを表示する例題プログラムを、Cell上のPPE1個、SPE6個で実行した。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
140 以下にFPSを示す。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
141
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
142 \begin{table}[htb]
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
143 \caption{光源実装後の実行速度}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
144 \begin{center}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
145 \begin{tabular}{lrrrr} \toprule
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
146 光源数 & FPS \\ \midrule
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
147 %未実装 & 8.286088 FPS \\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
148 1 & 7.568590 FPS \\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
149 %2 & 7.448494 FPS \\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
150 %3 & 7.341228 FPS \\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
151 4 & 7.211832 FPS \\
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
152 4(SIMD) & 7.602995 FPS \\ \bottomrule
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
153 \end{tabular}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
154 \end{center}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
155 \end{table}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
156
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
157 計測結果より、SIMDを用いた4つ分の光源処理が、SIMDを用いていない処理より約 0.4FPS の速度向上が見られた。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
158 また、SIMDを用いていない1つ分の光源処理との実行速度差が約 0.04FPS と近いものとなった。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
159 このことより、SIMD化が有効に働いており、4つの分の光源処理を一度に処理できていると言える。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
160
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
161 \subsection{課題}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
162 Rendering Engine はまだ、高速化の余地がある。今回の光源処理でも見られたように、各タスクでの演算をSIMD化することで高速化が望める。また SceneGraph から Polygon の生成はSPEによって並列実行されていない。Polygon 生成のタスクをSPEで並列実行することでも高速化が望める。
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
163
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
164 \thispagestyle{fancy}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
165 \begin{thebibliography}{9}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
166
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
167 \bibitem{1} 宮國渡 "Implementation of Fine-grain Task Manager for Cell" 平成20年度 学位論文(修士)
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
168
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
169 \bibitem{2} 多賀野海人 "並列プログラミングを用いたゲームフレームワークの設計と実装" 2008年 卒業研究中間報告資料
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
170
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
171 \bibitem{3} fixstars:
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
172 http://cell.fixstars.com/ps3linux/index.php/メインページ
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
173
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
174 \bibitem{4} OpenCL:
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
175 http://www.khronos.org/opencl/
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
176
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
177 \end{thebibliography}
f9330d7fcfb0 add resume
Yutaka_Kinjyo
parents:
diff changeset
178 \end{document}