annotate sigos.tex @ 4:593671347b01

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 21 Apr 2014 22:16:31 +0900
parents 2921110c23aa
children 679859bf2fe8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \documentclass[techrep]{ipsjpapers}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 \usepackage[dvipdfm]{graphicx}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 \usepackage{url}
1
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
4 \usepackage{listings}
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
5 \lstset{%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
6 language={C++},%使用言語
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
7 basicstyle={\small},%書体
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
8 commentstyle={\small\itshape},%コメントの書体
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
9 keywordstyle={\small\bfseries},%キーワードの書体
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
10 %identifierstyle={\small},%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
11 %ndkeywordstyle={\small},%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
12 stringstyle={\small},%文字列の書体
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
13 frame={trlb},%外枠
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
14 breaklines=true,%改行
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
15 columns=[l]{fullflexible},%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
16 xrightmargin=0zw,%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
17 xleftmargin=3zw,%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
18 %numbers=none,%行番号の表示
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
19 %numberstyle={\scriptsize},%行番号の書体
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
20 %numbersep=1zw,%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
21 %stepnumber=1,
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
22 lineskip=-0.5ex,%
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
23 captionpos=b,%キャプションの位置
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
24 }
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
25 \renewcommand{\lstlistingname}{Code}
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 \input{dummy.tex} %% Font
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 % ユーザが定義したマクロなど.
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 \makeatletter
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 \begin{document}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 % 和文表題
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 \title{並列プログラミングフレームワーク Cerium の\\ OpenCL, CUDA 対応}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 % 英文表題
4
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
36 \etitle{Supporting OpenCL, CUDA in Parallel programming framework Cerium}
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 % 所属ラベルの定義
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 \affilabel{1}{琉球大学大学院理工学研究科情報工学専攻 \\Interdisciplinary Infomation Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 \affilabel{2}{琉球大学工学部情報工学科\\Infomation Engineering, University of the Ryukyus.}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 % 和文著者名
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 \author{
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 小久保 翔平\affiref{1}\and
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 河野 真治\affiref{2}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 }
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 % 英文著者名
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 \eauthor{
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 Shohei KOKUBO\affiref{1}\and
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 Shinji KONO\affiref{2}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 }
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 % 連絡先(投稿時に必要.製版用では無視される.)
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 \contact{小久保 翔平\\
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 〒903-0213 沖縄県西原町千原1番地\\
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 琉球大学工学部情報工学科\\
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 TEL: (098)895-2221\qquad FAX: (098)895-8727\\
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 email: kokubo@cr.ie.u-ryukyu.ac.jp}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 % 和文概要
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 \begin{abstract}
1
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
63 当研究室では、PS3, Linux 及び MacOS X 上で動作する並列プログラミングフレームワーク Cerium を提案している。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
64 MacOS X 上で GPGPU を行うには、OpenCL または CUDA を用いる方法が考えられる。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
65 OpenCL, CUDA の API に対応した API を Cerium に用意することでデータ並列に対応した。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
66 タスク並列で実行する場合、データ転送がオーバーヘッドになる。
4
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
67 このオーバヘッドを解決するためには、kernel の実行中にデータ転送を行うことでデータ転送をオーバーラップする必要がある。
1
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
68 OpenCL では CommandQueue、CUDA では Stream を複数用いることでデータ転送や kernel の実行を並列に行うことができる。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
69 複数の CommandQueue, Stream を用いて、自動で並列実行を行うスケジューラーを実装した。
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
70 実装したスケジューラーを WordCount、FFT を例題に測定し、考察を行う。
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 \end{abstract}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 % 英文概要
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 \begin{eabstract}
4
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
75 We are develpping parallel programming framework Cerium, that is running on the PS3, Linux, Mac OS X and GPGPU.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
76 As GPGPU support on Mac OS X, OpenCL or CUDA can be used in an API set.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
77 Data Parallel on GPUGPU is also working on CPUs.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
78 In Task Parallel, data transfer causes overhead.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
79 To resolve this, pipeline data transfer is used both on GPGPU and Many Cores.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
80 OpenCL and CUDA have slightly different behaviour on Data Parallel and out of order task execution.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
81 In WordCount and FFT examples, we show the different and its analysis.
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 \end{eabstract}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 % 表題などの出力
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 \maketitle
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 % 本文はここから始まる
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 \input{introduction}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 \input{opencl}
1
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
91 \input{cerium}
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 \input{cerium_gpu}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 \input{benchmark}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 \input{conclusion}
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95
3
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
96 \nocite{*}
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
97 %\nocite{opencl}
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
98 %\nocite{opencl:ref}
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
99 %\nocite{opencl:applied}
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
100 %\nocite{yutaka:os}
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 \bibliographystyle{ipsjunsrt}
3
2921110c23aa revision
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
102 \bibliography{sigs}
1
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
103 %\bibliography{cerium,book}
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
104 %\input{bibliography} % 参考文献
0
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106
5153d23a38e6 first commit
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 \end{document}