Mercurial > hg > Papers > 2015 > yuhi-master
changeset 19:79d16cee0afd
Benchmark gpu.minor fix abstruct
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 13 Feb 2015 09:29:41 +0900 |
parents | cb824c85a27f |
children | 2483927789ed |
files | paper/abstract.tex paper/appendix.tex paper/chapter1.tex paper/chapter2.tex paper/chapter7.tex paper/conclusion.tex paper/figures/multicore/data/fft/fft.eps paper/figures/multicore/data/fft/mac-late-2013 paper/figures/multicore/data/fft/mac-mid-2010 paper/figures/multicore/data/fft/plot.sh paper/figures/multicore/fft.xbb paper/figures/multicore/sort.pdf paper/figures/multicore/sort.xbb paper/figures/multicore/sort_.pdf paper/figures/multicore/word_count.pdf paper/figures/multicore/word_count.xbb paper/introduciton.tex paper/master_paper.aux paper/master_paper.bbl paper/master_paper.bib paper/master_paper.blg paper/master_paper.dvi paper/master_paper.lof paper/master_paper.log paper/master_paper.lot paper/master_paper.pdf paper/master_paper.tex paper/master_paper.toc |
diffstat | 28 files changed, 390 insertions(+), 538 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/abstract.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/abstract.tex Fri Feb 13 09:29:41 2015 +0900 @@ -1,12 +1,17 @@ \begin{abstract} -本研究室で開発している Cerium を用いて、 -マルチプラットフォーム対応並列プログラミングフレームワークに関する研究を行った。 +本研究室で開発している Cerium は並列プログラミングフレームワークである。 本来 Cerium は Cell Broad band Engine 用のフレームワークであったが、 +マルチコア CPU や GPU といったマルチプラットフォームに対応する必要がある。 + マルチプラットフォームへの対応として、マルチコア CPU と GPU における実行を可能にした。 -マルチコア CPU は SynchronizedQueue 、 GPU は OpenCL と CUDA を用いた対応を行った。 +マルチコア CPU は SynchronizedQueue 、 GPU は OpenCL と CUDA により実装する。 +しかし、GPGPU を行う際に Task を GPU 上で実行しただけでは充分な並列度が出ない。 +データ並列実行をサポートすることで GPGPU における並列度の向上を図る。 + また、マルチコア CPU や GPU での並列処理を行ったとしても、I/O の動作による負担が大きければ、 -プログラムの処理は高速にならない。 +プログラムは高速にならない。 従来はファイル読み込みを mmap で実装していたが、 Blocked Read による並列処理向けのI/Oの実装を行った。 -これらの追加した機能を WordCount 、FFT 、 Sort を例題に性能を測定し、 -プログラミングフレームワークがマルチプラットフォームに対応した並列処理に必要な機構や API に関する考察を行う。 + +これらの追加した機能を Sort、WordCount 、FFT の例題を元に性能を測定し、 +フレームワークをマルチプラットフォームで動作させる際に必要な機構や API に関する考察を行った。 \end{abstract}
--- a/paper/appendix.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/appendix.tex Fri Feb 13 09:29:41 2015 +0900 @@ -2,9 +2,6 @@ \addcontentsline{toc}{chapter}{発表文献} \begin{itemize} -\item{Java による授業向け画面共有システムの設計と実装, 大城信康, 谷成雄(琉球大学), 河野真治(琉球大学), オープンソースカンファレンス2011 Okinawa, Sep, 2011} -\item{Continuation based C の GCC 4.6 上の実装について,\\ 大城信康, 河野真治(琉球大学), \\ 第53回プログラミング・シンポジウム, Jan, 2012} -\item{GraphDB 入門 TinkerPop の使い方,\\大城信康, 玉城将士(琉球大学),\\第15回 Java Kuche, Sep, 2012} -\item{ディペンダブルシステムのための木構造を用いた合意形成データベースの提案と実装,\\ 大城信康, 河野真治(琉球大学), 玉城将士(琉球大学), 永山 辰巳(株式会社 Symphony),\\ 情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS), May, 2013} -\item{Data Segment の分散データベースへの応用, \\ 大城信康, 杉本優(琉球大学), 河野真治(琉球大学), \\ 日本ソフトウェア科学会30回大会 (2013年度) 講演論文集, Sep, 2013} +\item{Cerium Task Manager のGPGPU への対応,渡真利勇飛、河野真治 (琉球大学) 情報処理学会システムソフトウェアとオペレーティングシステム研究会 (OS), April, 20} +\item {Cerium Task Manager におけるGPUとMulticore CPU の同時実行 , 渡真利勇飛、河野真治(琉球大学) 第55回プログラミングシンポジウム, January, 2014} \end{itemize}
--- a/paper/chapter1.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/chapter1.tex Fri Feb 13 09:29:41 2015 +0900 @@ -3,7 +3,7 @@ マルチプラットフォームにはマルチコア CPU 、 GPU や Cell といったヘテロジニアスマルチコアのような 様々な構成がある。 -\section{Architecutre} +\section{Architecture} 本研究では、 CPU の他に GPU 上でのプログラミング (GPGPU) にも対応する。 GPU(Graphics Processing Unit) は PC の画像処理を担当するユニットで、
--- a/paper/chapter2.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/chapter2.tex Fri Feb 13 09:29:41 2015 +0900 @@ -1,4 +1,4 @@ -\chapter{Cerium} +\chapter{並列プログラミングフレームワーク erium} Cerium は、当初 Cell 用の Fine-Grain TaskManager として当研究室で開発された。 本章では Cerium の実装について説明する。
--- a/paper/chapter7.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/chapter7.tex Fri Feb 13 09:29:41 2015 +0900 @@ -1,3 +1,3 @@ -\chapter{Memory Allocator} -\section{現状のMemory Allocator} -\section{新しいMemory Allocator} +\chapter{Memory 管理} +\section{再利用による Memory 管理の改善} +
--- a/paper/conclusion.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/conclusion.tex Fri Feb 13 09:29:41 2015 +0900 @@ -1,5 +1,16 @@ \chapter{結論} \label{chapter:conclusion} \section{まとめ} +本研究室で開発している Cerium を用いて、 +マルチプラットフォーム対応並列プログラミングフレームワークに関する研究を行った。 + +マルチプラットフォームへの対応として、マルチコア CPU と GPU における実行を可能にした。 +マルチコア CPU は SynchronizedQueue 、 GPU は OpenCL と CUDA を用いて対応した。 +更に、 Blocked Read による並列処理向けのI/Oの実装を行った。 +これらの追加した機能を WordCount 、FFT 、 Sort を例題に性能を測定できた。 + +ベンチマークの結果から、GPU による並列処理を行う場合データ並列による実行が不可欠であることがわかった。 +また、GPU は SharedMemory でないため、入出力がネックになる場合が多い。 +それらのオーバヘッドを吸収するために GPU 制御のコマンドはパイプライン形式で実行していくのが望ましい。 \section{今後の課題}
--- a/paper/figures/multicore/data/fft/fft.eps Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/figures/multicore/data/fft/fft.eps Fri Feb 13 09:29:41 2015 +0900 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: fft.eps %%Creator: gnuplot 4.2 patchlevel 6 -%%CreationDate: Tue Feb 3 17:48:26 2015 +%%CreationDate: Tue Feb 10 18:04:39 2015 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -48,7 +48,7 @@ /Author (yuhi) % /Producer (gnuplot) % /Keywords () - /CreationDate (Tue Feb 3 17:48:26 2015) + /CreationDate (Tue Feb 10 18:04:39 2015) /DOCINFO pdfmark end } ifelse @@ -580,53 +580,13 @@ ] -46.7 MCshow 1.000 UL LTb -1263 448 M -0 63 V -0 4109 R -0 -63 V -stroke -1263 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] -] -46.7 MCshow -1.000 UL -LTb -1672 448 M -0 63 V -0 4109 R -0 -63 V -stroke -1672 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] -] -46.7 MCshow -1.000 UL -LTb 2081 448 M 0 63 V 0 4109 R 0 -63 V stroke 2081 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] -] -46.7 MCshow -1.000 UL -LTb -2490 448 M -0 63 V -0 4109 R -0 -63 V -stroke -2490 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] -] -46.7 MCshow -1.000 UL -LTb -2899 448 M -0 63 V -0 4109 R -0 -63 V -stroke -2899 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] ] -46.7 MCshow 1.000 UL LTb @@ -636,27 +596,7 @@ 0 -63 V stroke 3308 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] -] -46.7 MCshow -1.000 UL -LTb -3717 448 M -0 63 V -0 4109 R -0 -63 V -stroke -3717 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] -] -46.7 MCshow -1.000 UL -LTb -4127 448 M -0 63 V -0 4109 R -0 -63 V -stroke -4127 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] ] -46.7 MCshow 1.000 UL LTb @@ -666,27 +606,7 @@ 0 -63 V stroke 4536 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] -] -46.7 MCshow -1.000 UL -LTb -4945 448 M -0 63 V -0 4109 R -0 -63 V -stroke -4945 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 11)] -] -46.7 MCshow -1.000 UL -LTb -5354 448 M -0 63 V -0 4109 R -0 -63 V -stroke -5354 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 12)] +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] ] -46.7 MCshow 1.000 UL LTb @@ -696,27 +616,7 @@ 0 -63 V stroke 5763 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 13)] -] -46.7 MCshow -1.000 UL -LTb -6172 448 M -0 63 V -0 4109 R -0 -63 V -stroke -6172 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 14)] -] -46.7 MCshow -1.000 UL -LTb -6581 448 M -0 63 V -0 4109 R -0 -63 V -stroke -6581 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 15)] +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] ] -46.7 MCshow 1.000 UL LTb @@ -726,7 +626,7 @@ 0 -63 V stroke 6990 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 16)] +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] ] -46.7 MCshow 1.000 UL LTb @@ -766,12 +666,11 @@ 6423 4487 M 399 0 V 854 4473 M -1263 2880 L -818 -880 V -818 -314 V -818 -281 V -5354 1224 L -1636 65 V +2081 2880 L +3308 2380 L +4536 2000 L +5763 1883 L +6990 1686 L stroke LT1 /Helvetica findfont 140 scalefont setfont @@ -782,12 +681,11 @@ 6423 4347 M 399 0 V 854 3174 M -1263 2085 L -818 -667 V -818 -227 V -818 -12 V -1637 4 V -1636 180 V +2081 2085 L +3308 1666 L +4536 1418 L +5763 1281 L +1227 -90 V stroke LTb 854 4620 N
--- a/paper/figures/multicore/data/fft/mac-late-2013 Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/figures/multicore/data/fft/mac-late-2013 Fri Feb 13 09:29:41 2015 +0900 @@ -1,6 +1,8 @@ 1 326.7044 2 196.1502 +3 145.9821 4 116.2298 +5 99.8892 6 89.0776 8 87.5699 12 88.1390
--- a/paper/figures/multicore/data/fft/mac-mid-2010 Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/figures/multicore/data/fft/mac-mid-2010 Fri Feb 13 09:29:41 2015 +0900 @@ -1,6 +1,8 @@ 1 482.4208 2 291.5200 +3 231.5300 4 185.9593 +5 171.9200 6 148.4068 8 114.7043 12 92.9593
--- a/paper/figures/multicore/data/fft/plot.sh Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/figures/multicore/data/fft/plot.sh Fri Feb 13 09:29:41 2015 +0900 @@ -12,7 +12,7 @@ # titleの設定 set title "FFT Benchmark" # x,yの範囲をどこからどこまでにするのか -set xrange [ 1 : 16 ] +set xrange [ 1 : 6 ] set yrange [ 0 : 500] # x,y軸のメモリを何ずつ刻むか set xtics 1
--- a/paper/figures/multicore/fft.xbb Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/figures/multicore/fft.xbb Fri Feb 13 09:29:41 2015 +0900 @@ -1,8 +1,8 @@ -%%Title: ./figures/multicore/fft.pdf +%%Title: ./fft.pdf %%Creator: extractbb 20130405 %%BoundingBox: 0 0 360 252 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Tue Feb 10 10:52:45 2015 +%%CreationDate: Tue Feb 10 18:05:48 2015
--- a/paper/figures/multicore/sort.xbb Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/figures/multicore/sort.xbb Fri Feb 13 09:29:41 2015 +0900 @@ -1,8 +1,8 @@ -%%Title: ./figures/multicore/sort.pdf +%%Title: ./sort.pdf %%Creator: extractbb 20130405 %%BoundingBox: 0 0 360 252 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Tue Feb 10 10:52:43 2015 +%%CreationDate: Tue Feb 10 18:05:56 2015
--- a/paper/figures/multicore/word_count.xbb Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/figures/multicore/word_count.xbb Fri Feb 13 09:29:41 2015 +0900 @@ -1,8 +1,8 @@ -%%Title: ./figures/multicore/word_count.pdf +%%Title: ./word_count.pdf %%Creator: extractbb 20130405 %%BoundingBox: 0 0 360 252 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Tue Feb 10 10:52:44 2015 +%%CreationDate: Tue Feb 10 18:06:00 2015
--- a/paper/introduciton.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/introduciton.tex Fri Feb 13 09:29:41 2015 +0900 @@ -1,23 +1,22 @@ -\chapter{研究目的と背景} +\chapter{フレームワークにおけるマルチプラットフォーム対応の必要性} \pagenumbering{arabic} % 動画の編集や再生、ゲームといったPCやタブレット等の端末でできる事・やりたい事が増えてきている。 -PCやタブレットの一般的な利用方法として動画の編集や再生、ゲームといったアプリケーションの利用が挙げられる。 -これらのアプリケーションはグラフィックや物理演算等、要求する処理性能が上がってきている。 - -しかし消費電力や発熱、クロックの限界から CPU の性能自体を上げることによる処理性能の向上は不可能となっている。 +% PCやタブレットの一般的な利用方法として動画の編集や再生、ゲームといったアプリケーションの利用が挙げられる。 +% Rednering や物理演算といった処理から +プログラムが要求する PC の処理性能は上がってきているが、 +%-ゲームや動画再生といったアプリケーションが高水準(?)になるにつれて +%-高水準:高解像度だったり、ぬるぬる動いたり +消費電力・発熱・クロックの限界から、 CPU の性能自体を上げることによる処理性能の向上は難しい。 その事からプロセッサメーカーはマルチコアやヘテロジニアス構成の路線を打ち出している。 -そういったアーキテクチャ上でリソースを有効活用するにはプログラムの並列化は必須と言える。 +マルチコア CPU やヘテロジニアス構成のようなアーキテクチャ上でリソースを有効活用するには、 +プログラムの並列化は必須と言える。 しかしプログラムを並列化するのみではリソースの有効活用としては不充分であり、 -実行の順番やタスクをどのリソース上で実行するかといった Scheduling も行わなければならない。 +実行の順番やどのリソース上で Task を実行するかといった Scheduling も行わなければならない。 こういった部分をサポートするプログラミングフレームワークが必要である。 当研究室では Cerium というプログラミングフレームワークを開発している。 Cerium をマルチプラットフォームに対応させ、高い並列度を維持したプログラミングを可能にする。 本研究ではマルチプラットフォーム上でのプログラムの実行における最適化について、 Sort 、Word Count 、FFT を例題に考察していく。 - -\newpage - -\section{本論文の構成}
--- a/paper/master_paper.aux Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.aux Fri Feb 13 09:29:41 2015 +0900 @@ -1,117 +1,121 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {第1章}研究目的と背景}{1}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第1章}フレームワークにおけるマルチプラットフォーム対応の必要性}{1}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {1.1}本論文の構成}{2}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第2章}既存のマルチプラットフォームフレームワーク}{3}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第2章}既存のマルチプラットフォームフレームワーク}{2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {2.1}Architecutre}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {2.2}Shared Memory}{3}} -\newlabel{sec:shared_memory}{{2.2}{3}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces GPU Architecture}}{4}} -\newlabel{fig:gpuarch}{{2.1}{4}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces CPU Architecture}}{4}} -\newlabel{fig:cpuarch}{{2.2}{4}} -\@writefile{toc}{\contentsline {section}{\numberline {2.3}OpenCL}{5}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces WorkItem ID}}{6}} -\newlabel{fig:workitem_id}{{2.3}{6}} -\@writefile{lot}{\contentsline {table}{\numberline {2.1}{\ignorespaces kernel で使用する ID 取得の API}}{6}} -\newlabel{table:kernel_id_api}{{2.1}{6}} -\@writefile{toc}{\contentsline {section}{\numberline {2.4}CUDA}{7}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Calculate Index example}}{8}} -\newlabel{fig:calculateIndex}{{2.4}{8}} -\@writefile{toc}{\contentsline {section}{\numberline {2.5}StarPU}{8}} -\newlabel{src:codelet}{{2.1}{8}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {2.1}codeletの例}{8}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces StarPUにおけるデータ分割}}{9}} -\newlabel{fig:data_partition}{{2.5}{9}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Cerium}{10}} +\@writefile{toc}{\contentsline {section}{\numberline {2.1}Architecture}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {2.2}Shared Memory}{2}} +\newlabel{sec:shared_memory}{{2.2}{2}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces GPU Architecture}}{3}} +\newlabel{fig:gpuarch}{{2.1}{3}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces CPU Architecture}}{3}} +\newlabel{fig:cpuarch}{{2.2}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {2.3}OpenCL}{4}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces WorkItem ID}}{5}} +\newlabel{fig:workitem_id}{{2.3}{5}} +\@writefile{lot}{\contentsline {table}{\numberline {2.1}{\ignorespaces kernel で使用する ID 取得の API}}{5}} +\newlabel{table:kernel_id_api}{{2.1}{5}} +\@writefile{toc}{\contentsline {section}{\numberline {2.4}CUDA}{6}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Calculate Index example}}{7}} +\newlabel{fig:calculateIndex}{{2.4}{7}} +\@writefile{toc}{\contentsline {section}{\numberline {2.5}StarPU}{7}} +\newlabel{src:codelet}{{2.1}{7}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {2.1}codeletの例}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces StarPUにおけるデータ分割}}{8}} +\newlabel{fig:data_partition}{{2.5}{8}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}並列プログラミングフレームワーク Cerium}{9}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}Cerium の概要}{10}} -\@writefile{toc}{\contentsline {section}{\numberline {3.2}Cerium TaskManager}{10}} -\@writefile{toc}{\contentsline {section}{\numberline {3.3}Cerium における Task}{11}} -\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Task Manager}}{11}} -\newlabel{fig:taskmanager}{{3.1}{11}} -\@writefile{toc}{\contentsline {section}{\numberline {3.4}Task の Scheduling}{11}} -\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Scheduler}}{12}} -\newlabel{fig:scheduler}{{3.2}{12}} -\@writefile{toc}{\contentsline {section}{\numberline {3.5}Task 生成の例}{12}} -\newlabel{src:createTask}{{3.1}{12}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}Task の生成}{12}} -\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces Task 生成おける API}}{13}} -\newlabel{table:task_create_api}{{3.1}{13}} -\newlabel{src:task}{{3.2}{13}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.2}Task}{13}} -\@writefile{lot}{\contentsline {table}{\numberline {3.2}{\ignorespaces Task 側で使用する API}}{13}} -\newlabel{table:task_api}{{3.2}{13}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}Ceriumを用いた例題}{14}} +\@writefile{toc}{\contentsline {section}{\numberline {3.1}Cerium の概要}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {3.2}Cerium TaskManager}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {3.3}Cerium における Task}{10}} +\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Task Manager}}{10}} +\newlabel{fig:taskmanager}{{3.1}{10}} +\@writefile{toc}{\contentsline {section}{\numberline {3.4}Task の Scheduling}{10}} +\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Scheduler}}{11}} +\newlabel{fig:scheduler}{{3.2}{11}} +\@writefile{toc}{\contentsline {section}{\numberline {3.5}Task 生成の例}{11}} +\newlabel{src:createTask}{{3.1}{11}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}Task の生成}{11}} +\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces Task 生成おける API}}{12}} +\newlabel{table:task_create_api}{{3.1}{12}} +\newlabel{src:task}{{3.2}{12}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.2}Task}{12}} +\@writefile{lot}{\contentsline {table}{\numberline {3.2}{\ignorespaces Task 側で使用する API}}{12}} +\newlabel{table:task_api}{{3.2}{12}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}Ceriumを用いた例題}{13}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}Bitonic Sort}{14}} -\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Bitonic Sort の例}}{15}} -\newlabel{fig:sort}{{4.1}{15}} -\@writefile{toc}{\contentsline {section}{\numberline {4.2}Word Count}{16}} -\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces WordCountのフロー}}{17}} -\newlabel{fig:wordcount}{{4.2}{17}} -\@writefile{toc}{\contentsline {section}{\numberline {4.3}FFT}{18}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}マルチコアへの対応}{19}} +\@writefile{toc}{\contentsline {section}{\numberline {4.1}Bitonic Sort}{13}} +\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Bitonic Sort の例}}{14}} +\newlabel{fig:sort}{{4.1}{14}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}Word Count}{15}} +\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces WordCountのフロー}}{16}} +\newlabel{fig:wordcount}{{4.2}{16}} +\@writefile{toc}{\contentsline {section}{\numberline {4.3}FFT}{17}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}マルチコアへの対応}{18}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {5.1}マルチコア上での実行の機構}{19}} -\@writefile{toc}{\contentsline {section}{\numberline {5.2}DMA}{19}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}GPGPU への対応}{20}} +\@writefile{toc}{\contentsline {section}{\numberline {5.1}マルチコア上での実行の機構}{18}} +\@writefile{toc}{\contentsline {section}{\numberline {5.2}DMA}{18}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}GPGPU への対応}{19}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {6.1}OpenCL および CUDA による実装}{20}} -\@writefile{toc}{\contentsline {section}{\numberline {6.2}データ並列}{21}} -\newlabel{src:multiply_opencl}{{6.1}{21}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.1}Multiply(OpenCL)}{21}} -\newlabel{src:multiply_cuda}{{6.2}{21}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.2}Multiply(CUDA)}{21}} -\newlabel{src:multiply_cpu}{{6.3}{22}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.3}Multiply(CPU)}{22}} -\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces データ並列実行時の index の割り当て}}{22}} -\newlabel{table:dataparallel_index}{{6.1}{22}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第7章}並列処理向けI/O}{24}} +\@writefile{toc}{\contentsline {section}{\numberline {6.1}OpenCL および CUDA による実装}{19}} +\@writefile{toc}{\contentsline {section}{\numberline {6.2}データ並列}{20}} +\newlabel{src:multiply_opencl}{{6.1}{20}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.1}Multiply(OpenCL)}{20}} +\newlabel{src:multiply_cuda}{{6.2}{20}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.2}Multiply(CUDA)}{20}} +\newlabel{src:multiply_cpu}{{6.3}{21}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {6.3}Multiply(CPU)}{21}} +\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces データ並列実行時の index の割り当て}}{21}} +\newlabel{table:dataparallel_index}{{6.1}{21}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第7章}並列処理向けI/O}{23}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {7.1}mmap}{24}} -\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces mmap の Model}}{24}} -\newlabel{fig:mmap}{{7.1}{24}} -\@writefile{toc}{\contentsline {section}{\numberline {7.2}Blocked Read による I/O の並列化}{25}} -\@writefile{lof}{\contentsline {figure}{\numberline {7.2}{\ignorespaces BlockedRead による WordCount}}{25}} -\newlabel{fig:blockedread}{{7.2}{25}} -\newlabel{src:blockedread_create}{{7.1}{26}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {7.1}BlockedRead を行う Task の生成}{26}} -\newlabel{src:blockedread_task}{{7.2}{26}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {7.2}BlockedRead Task}{26}} -\@writefile{toc}{\contentsline {section}{\numberline {7.3}I/O 専用 Thread の実装}{27}} -\@writefile{lof}{\contentsline {figure}{\numberline {7.3}{\ignorespaces BlockedRead と Task を同じ thread で動かした場合}}{27}} -\newlabel{fig:spe_any_blockedread}{{7.3}{27}} -\@writefile{lof}{\contentsline {figure}{\numberline {7.4}{\ignorespaces IO Thread による BlockedRead}}{27}} -\newlabel{fig:iothread__blockedread}{{7.4}{27}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第8章}Memory Allocator}{28}} +\@writefile{toc}{\contentsline {section}{\numberline {7.1}mmap}{23}} +\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces mmap の Model}}{23}} +\newlabel{fig:mmap}{{7.1}{23}} +\@writefile{toc}{\contentsline {section}{\numberline {7.2}Blocked Read による I/O の並列化}{24}} +\@writefile{lof}{\contentsline {figure}{\numberline {7.2}{\ignorespaces BlockedRead による WordCount}}{24}} +\newlabel{fig:blockedread}{{7.2}{24}} +\newlabel{src:blockedread_create}{{7.1}{25}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {7.1}BlockedRead を行う Task の生成}{25}} +\newlabel{src:blockedread_task}{{7.2}{25}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {7.2}BlockedRead Task}{25}} +\@writefile{toc}{\contentsline {section}{\numberline {7.3}I/O 専用 Thread の実装}{26}} +\@writefile{lof}{\contentsline {figure}{\numberline {7.3}{\ignorespaces BlockedRead と Task を同じ thread で動かした場合}}{26}} +\newlabel{fig:spe_any_blockedread}{{7.3}{26}} +\@writefile{lof}{\contentsline {figure}{\numberline {7.4}{\ignorespaces IO Thread による BlockedRead}}{26}} +\newlabel{fig:iothread__blockedread}{{7.4}{26}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第8章}ベンチマーク}{27}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {8.1}現状のMemory Allocator}{28}} -\@writefile{toc}{\contentsline {section}{\numberline {8.2}新しいMemory Allocator}{28}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第9章}ベンチマーク}{29}} +\@writefile{toc}{\contentsline {section}{\numberline {8.1}実験環境}{27}} +\@writefile{lot}{\contentsline {table}{\numberline {8.1}{\ignorespaces Ceriumを実行する実験環境1}}{27}} +\newlabel{tab:firefly_spec}{{8.1}{27}} +\@writefile{lot}{\contentsline {table}{\numberline {8.2}{\ignorespaces Ceriumを実行する実験環境2}}{27}} +\newlabel{tab:dragonfly_spec}{{8.2}{27}} +\@writefile{toc}{\contentsline {section}{\numberline {8.2}マルチコア}{28}} +\@writefile{lof}{\contentsline {figure}{\numberline {8.1}{\ignorespaces マルチコア CPU における Sort}}{28}} +\newlabel{fig:sort_on_multicore}{{8.1}{28}} +\@writefile{lof}{\contentsline {figure}{\numberline {8.2}{\ignorespaces マルチコア CPU における WordCount}}{28}} +\newlabel{fig:wordcount_on_multicore}{{8.2}{28}} +\@writefile{toc}{\contentsline {section}{\numberline {8.3}GPGPU}{29}} +\@writefile{lof}{\contentsline {figure}{\numberline {8.3}{\ignorespaces マルチコア CPU、OpenCL、CUDA における FFT}}{29}} +\newlabel{fig:fft_bench}{{8.3}{29}} +\@writefile{lof}{\contentsline {figure}{\numberline {8.4}{\ignorespaces MacPro 2013 Late Model における FFT}}{30}} +\newlabel{fig:fft_bench_dragonfly}{{8.4}{30}} +\@writefile{toc}{\contentsline {section}{\numberline {8.4}並列 I/O}{30}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第9章}既存のプログラミングフレームワークとの比較}{31}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {9.1}実験環境}{29}} -\@writefile{lot}{\contentsline {table}{\numberline {9.1}{\ignorespaces Ceriumを実行する実験環境1}}{29}} -\newlabel{tab:firefly_spec}{{9.1}{29}} -\@writefile{lot}{\contentsline {table}{\numberline {9.2}{\ignorespaces Ceriumを実行する実験環境2}}{29}} -\newlabel{tab:dragonfly_spec}{{9.2}{29}} -\@writefile{toc}{\contentsline {section}{\numberline {9.2}マルチコア}{30}} -\@writefile{lof}{\contentsline {figure}{\numberline {9.1}{\ignorespaces マルチコア CPU における Sort}}{30}} -\newlabel{fig:sort_on_multicore}{{9.1}{30}} -\@writefile{toc}{\contentsline {section}{\numberline {9.3}GPGPU}{30}} -\@writefile{toc}{\contentsline {section}{\numberline {9.4}並列 I/O}{30}} -\@writefile{lof}{\contentsline {figure}{\numberline {9.2}{\ignorespaces マルチコア CPU における WordCount}}{31}} -\newlabel{fig:wordcount_on_multicore}{{9.2}{31}} +\@writefile{toc}{\contentsline {section}{\numberline {9.1}OpenCL}{31}} +\@writefile{toc}{\contentsline {section}{\numberline {9.2}CUDA}{31}} +\@writefile{toc}{\contentsline {section}{\numberline {9.3}StarPU}{31}} \@writefile{toc}{\contentsline {chapter}{\numberline {第10章}結論}{32}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} @@ -122,15 +126,10 @@ \bibstyle{junsrt} \bibdata{master_paper} \@writefile{toc}{\contentsline {chapter}{謝辞}{33}} -\bibcite{msgpack:2013}{1} -\bibcite{nobuyasu:2013a}{2} -\bibcite{shoshi:2011a}{3} -\bibcite{shoshi:2011b}{4} -\bibcite{cassandra}{5} -\bibcite{bigtable}{6} -\bibcite{cap}{7} -\bibcite{dynamo}{8} -\bibcite{deos2013}{9} -\bibcite{d_add2013}{10} +\bibcite{nobuyasu:2013a}{1} +\bibcite{shoshi:2011a}{2} +\bibcite{shoshi:2011b}{3} +\bibcite{cassandra}{4} +\bibcite{bigtable}{5} \@writefile{toc}{\contentsline {chapter}{参考文献}{34}} \@writefile{toc}{\contentsline {chapter}{発表文献}{35}}
--- a/paper/master_paper.bbl Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.bbl Fri Feb 13 09:29:41 2015 +0900 @@ -1,53 +1,26 @@ -\begin{thebibliography}{10} - -\bibitem{msgpack:2013} -Messagepack. -\newblock http://msgpack.org/. +\begin{thebibliography}{1} \bibitem{nobuyasu:2013a} -大城信康, 河野真治. -\newblock Data segment の分散データベースへの応用. -\newblock 日本ソフトウェア科学会, September 2013. +Akira KAMIZATO. +\newblock Cell を用いたゲームフ レームワークの提案. +\newblock 琉球大学工学部情報工学 科平成 19 年度学位論文 (修士), March 2008. \bibitem{shoshi:2011a} -玉城将士, 河野真治. -\newblock Cassandraを使ったスケーラビリティのあるcmsの設計. -\newblock 情報処理学会, March 2011. +Yasuhiko OGATA, Toshio Endo, Naoya MARUYAMA, and Satoshi MATSUOKA. +\newblock 能モデ ルに基づく cpu 及び gpu を併用する効率的な fft ライブラリ. +\newblock 2008. \bibitem{shoshi:2011b} -玉城将士, 河野真治. -\newblock Cassandraと非破壊的構造を用いたcmsのスケーラビリティ検証環境の構築. -\newblock 日本ソフトウェア科学会, August 2011. +Daichi TOMA and Shinji KONO. +\newblock Ceriumtask manager におけるマルチコア上での並列実行機 構の実装. +\newblock 2012. \bibitem{cassandra} -Avinash Lakshman and Prashant Malik. -\newblock Cassandra - a decentralized structured storage system. -\newblock {\em LADIS}, Mar 2003. +Wataru MIYAGUNI and Shinji KONO. +\newblock Cell 用の fine-grain task manager の実装. \bibitem{bigtable} -Fay Changand~Jeffrey Dean, Sanjay Ghemawat, Wilson~C. Hsieh, Deborah~A. - Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert~E. Gruber. -\newblock Bigtable : A distributed storege system for structured data. - -\bibitem{cap} -Nancy Lynch and Seth Gilbert. -\newblock Brewer's conjecture and the feasibility of consistent, available, - partition-tolerant web services. -\newblock {\em ACM SIGACT News}, 2002. - -\bibitem{dynamo} -Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, - Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, - and Werner Vogels. -\newblock Dynamo: Amazon's highly avaliable key-value store. - -\bibitem{deos2013} -所眞理雄. -\newblock {DEOS プロジェクト研究成果集 Dependability Engineering for Open - Systems}, 2013. - -\bibitem{d_add2013} -{永山 辰巳, 横手 靖彦}. -\newblock {オープンシステムディペンダビリティとD-Caseを繋ぐリポジトリ}, 2013. +Sony Corporation. +\newblock Cell broadband engine ar- chitecture. \end{thebibliography}
--- a/paper/master_paper.bib Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.bib Fri Feb 13 09:29:41 2015 +0900 @@ -1,59 +1,27 @@ -@article{msgpack:2013, - note = "http://msgpack.org/", - title = "MessagePack" -} @article{nobuyasu:2013a, - author = "大城 信康 and 河野 真治", - title = "Data Segment の分散データベースへの応用", - journal = "日本ソフトウェア科学会", - month = "September", - year = 2013 + author = "Akira KAMIZATO", + title = "Cell を用いたゲームフ レームワークの提案", + journal = "琉球大学工学部情報工学 科平成 19 年度学位論文 (修士)", + month = "March", + year = 2008 } @article{shoshi:2011a, - author = "玉城 将士 and 河野 真治", - title = "Cassandraを使ったスケーラビリティのあるCMSの設計", - journal = "情報処理学会", - month = "March", - year = 2011 + author = "Yasuhiko OGATA and Toshio Endo and Naoya MARUYAMA and Satoshi MATSUOKA", + title = "能モデ ルに基づく CPU 及び GPU を併用する効率的な FFT ライブラリ", + year = 2008 } @article{shoshi:2011b, - author = "玉城 将士 and 河野 真治", - title = "Cassandraと非破壊的構造を用いたCMSのスケーラビリティ検証環境の構築", - journal = "日本ソフトウェア科学会", - month = "August", - year = 2011 + author = "Daichi TOMA and Shinji KONO", + title = "CeriumTask Manager におけるマルチコア上での並列実行機 構の実装", + year = 2012 } @article{cassandra, - author = "Avinash Lakshman and Prashant Malik.", - title = "Cassandra - a decentralized structured storage system", - journal = "LADIS", - year = "2003", - month = "Mar" + author = "Wataru MIYAGUNI and Shinji KONO", + title = "Cell 用の Fine-grain Task Manager の実装", } @article{bigtable, - author = "Fay Changand Jeffrey Dean and Sanjay Ghemawat and Wilson C. Hsieh and Deborah A. Wallach and Mike Burrows and Tushar Chandra and Andrew Fikes and Robert E. Gruber", - title = "Bigtable : A Distributed Storege System for Structured Data" -} - -@article{cap, - author = "Nancy Lynch and Seth Gilbert", - title = "Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services", - journal = "ACM SIGACT News", - year = "2002" + author = "Sony Corporation.", + title = "Cell broadband engine ar- chitecture" } -@article{dynamo, - author = "Giuseppe DeCandia and Deniz Hastorun and Madan Jampani and Gunavardhan Kakulapati and Avinash Lakshman and Alex Pilchin and Swaminathan Sivasubramanian and Peter Vosshall and Werner Vogels", - title = "Dynamo: Amazon's Highly Avaliable Key-value Store" -} -@misc{deos2013, -author = "所 眞理雄", -title = "{DEOS プロジェクト研究成果集 Dependability Engineering for Open Systems}", -year = "2013" -} -@misc{d_add2013, -author = "{永山 辰巳, 横手 靖彦}", -title = "{オープンシステムディペンダビリティとD-Caseを繋ぐリポジトリ}", -year = "2013" -}
--- a/paper/master_paper.blg Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.blg Fri Feb 13 09:29:41 2015 +0900 @@ -3,53 +3,52 @@ The top-level auxiliary file: master_paper.aux The style file: junsrt.bst Database file #1: master_paper.bib -Warning--empty author in msgpack:2013 -Warning--empty journal in msgpack:2013 -Warning--empty year in msgpack:2013 +Warning--empty journal in shoshi:2011a +Warning--empty journal in shoshi:2011b +Warning--empty journal in cassandra +Warning--empty year in cassandra Warning--empty journal in bigtable Warning--empty year in bigtable -Warning--empty journal in dynamo -Warning--empty year in dynamo -You've used 10 entries, +You've used 5 entries, 2270 wiz_defined-function locations, - 575 strings with 5287 characters, -and the built_in function-call counts, 2058 in all, are: -= -- 106 -> -- 97 + 555 strings with 4573 characters, +and the built_in function-call counts, 964 in all, are: += -- 53 +> -- 35 < -- 0 -+ -- 39 -- -- 29 -* -- 82 -:= -- 290 -add.period$ -- 25 -call.type$ -- 10 -change.case$ -- 10 ++ -- 15 +- -- 10 +* -- 33 +:= -- 141 +add.period$ -- 13 +call.type$ -- 5 +change.case$ -- 5 chr.to.int$ -- 0 -cite$ -- 17 -duplicate$ -- 131 -empty$ -- 209 -format.name$ -- 58 -if$ -- 473 +cite$ -- 11 +duplicate$ -- 66 +empty$ -- 101 +format.name$ -- 20 +if$ -- 218 int.to.chr$ -- 0 -int.to.str$ -- 10 -missing$ -- 8 -newline$ -- 48 -num.names$ -- 9 -pop$ -- 83 +int.to.str$ -- 5 +missing$ -- 5 +newline$ -- 26 +num.names$ -- 5 +pop$ -- 44 preamble$ -- 1 purify$ -- 0 quote$ -- 0 -skip$ -- 101 +skip$ -- 47 stack$ -- 0 substring$ -- 0 -swap$ -- 4 +swap$ -- 0 text.length$ -- 0 text.prefix$ -- 0 top$ -- 0 type$ -- 0 -warning$ -- 7 -while$ -- 9 -width$ -- 12 -write$ -- 89 -is.kanji.str$ -- 101 -(There were 7 warnings) +warning$ -- 6 +while$ -- 5 +width$ -- 6 +write$ -- 44 +is.kanji.str$ -- 44 +(There were 6 warnings)
--- a/paper/master_paper.lof Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.lof Fri Feb 13 09:29:41 2015 +0900 @@ -1,25 +1,27 @@ \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {figure}{\numberline {2.1}{\ignorespaces GPU Architecture}}{4} -\contentsline {figure}{\numberline {2.2}{\ignorespaces CPU Architecture}}{4} -\contentsline {figure}{\numberline {2.3}{\ignorespaces WorkItem ID}}{6} -\contentsline {figure}{\numberline {2.4}{\ignorespaces Calculate Index example}}{8} -\contentsline {figure}{\numberline {2.5}{\ignorespaces StarPUにおけるデータ分割}}{9} +\contentsline {figure}{\numberline {2.1}{\ignorespaces GPU Architecture}}{3} +\contentsline {figure}{\numberline {2.2}{\ignorespaces CPU Architecture}}{3} +\contentsline {figure}{\numberline {2.3}{\ignorespaces WorkItem ID}}{5} +\contentsline {figure}{\numberline {2.4}{\ignorespaces Calculate Index example}}{7} +\contentsline {figure}{\numberline {2.5}{\ignorespaces StarPUにおけるデータ分割}}{8} \addvspace {10\p@ } -\contentsline {figure}{\numberline {3.1}{\ignorespaces Task Manager}}{11} -\contentsline {figure}{\numberline {3.2}{\ignorespaces Scheduler}}{12} +\contentsline {figure}{\numberline {3.1}{\ignorespaces Task Manager}}{10} +\contentsline {figure}{\numberline {3.2}{\ignorespaces Scheduler}}{11} \addvspace {10\p@ } -\contentsline {figure}{\numberline {4.1}{\ignorespaces Bitonic Sort の例}}{15} -\contentsline {figure}{\numberline {4.2}{\ignorespaces WordCountのフロー}}{17} +\contentsline {figure}{\numberline {4.1}{\ignorespaces Bitonic Sort の例}}{14} +\contentsline {figure}{\numberline {4.2}{\ignorespaces WordCountのフロー}}{16} \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {figure}{\numberline {7.1}{\ignorespaces mmap の Model}}{24} -\contentsline {figure}{\numberline {7.2}{\ignorespaces BlockedRead による WordCount}}{25} -\contentsline {figure}{\numberline {7.3}{\ignorespaces BlockedRead と Task を同じ thread で動かした場合}}{27} -\contentsline {figure}{\numberline {7.4}{\ignorespaces IO Thread による BlockedRead}}{27} +\contentsline {figure}{\numberline {7.1}{\ignorespaces mmap の Model}}{23} +\contentsline {figure}{\numberline {7.2}{\ignorespaces BlockedRead による WordCount}}{24} +\contentsline {figure}{\numberline {7.3}{\ignorespaces BlockedRead と Task を同じ thread で動かした場合}}{26} +\contentsline {figure}{\numberline {7.4}{\ignorespaces IO Thread による BlockedRead}}{26} +\addvspace {10\p@ } +\contentsline {figure}{\numberline {8.1}{\ignorespaces マルチコア CPU における Sort}}{28} +\contentsline {figure}{\numberline {8.2}{\ignorespaces マルチコア CPU における WordCount}}{28} +\contentsline {figure}{\numberline {8.3}{\ignorespaces マルチコア CPU、OpenCL、CUDA における FFT}}{29} +\contentsline {figure}{\numberline {8.4}{\ignorespaces MacPro 2013 Late Model における FFT}}{30} \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {figure}{\numberline {9.1}{\ignorespaces マルチコア CPU における Sort}}{30} -\contentsline {figure}{\numberline {9.2}{\ignorespaces マルチコア CPU における WordCount}}{31} -\addvspace {10\p@ }
--- a/paper/master_paper.log Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.log Fri Feb 13 09:29:41 2015 +0900 @@ -1,4 +1,4 @@ -This is e-pTeX, Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013) (format=platex 2013.5.30) 10 FEB 2015 12:21 +This is e-pTeX, Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013) (format=platex 2013.5.30) 13 FEB 2015 08:46 entering extended mode \write18 enabled. %&-line parsing enabled. @@ -184,27 +184,27 @@ (./master_paper.aux) \openout1 = `master_paper.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 58. -LaTeX Font Info: ... okay on input line 58. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 58. -LaTeX Font Info: ... okay on input line 58. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 58. -LaTeX Font Info: ... okay on input line 58. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 58. -LaTeX Font Info: ... okay on input line 58. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 58. -LaTeX Font Info: ... okay on input line 58. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 58. -LaTeX Font Info: ... okay on input line 58. -LaTeX Font Info: Checking defaults for JY1/mc/m/n on input line 58. -LaTeX Font Info: ... okay on input line 58. -LaTeX Font Info: Checking defaults for JT1/mc/m/n on input line 58. -LaTeX Font Info: ... okay on input line 58. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 59. +LaTeX Font Info: ... okay on input line 59. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 59. +LaTeX Font Info: ... okay on input line 59. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 59. +LaTeX Font Info: ... okay on input line 59. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 59. +LaTeX Font Info: ... okay on input line 59. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 59. +LaTeX Font Info: ... okay on input line 59. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 59. +LaTeX Font Info: ... okay on input line 59. +LaTeX Font Info: Checking defaults for JY1/mc/m/n on input line 59. +LaTeX Font Info: ... okay on input line 59. +LaTeX Font Info: Checking defaults for JT1/mc/m/n on input line 59. +LaTeX Font Info: ... okay on input line 59. \c@lstlisting=\count113 LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <24.88> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 60. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 61. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <24.88> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 60. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 61. File: images/u-ryukyu-Mark.eps Graphic file (type eps) <images/u-ryukyu-Mark.eps> [1 @@ -215,21 +215,21 @@ LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <12> not available (Font) Font shape `JY1/gt/m/n' tried instead on input line 1. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <12> on input line 2. +(Font) <12> on input line 3. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <8> on input line 2. +(Font) <8> on input line 3. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <6> on input line 2. +(Font) <6> on input line 3. LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <10> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 29. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 28. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <10> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 29. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 28. LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <10.95> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 29. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 28. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <10.95> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 29. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 28. LaTeX Font Info: External font `cmex10' loaded for size -(Font) <10.95> on input line 29. +(Font) <10.95> on input line 28. [1 ]) @@ -253,26 +253,23 @@ ] 第 1 章(vページ) -[1 +) (./chapter1.tex [1 ] +第 2 章(2ページ) LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <17.28> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 23. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 6. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <17.28> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 23. -) (./chapter1.tex -File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [2] -第 2 章(3ページ) +(Font) Font shape `JY1/gt/m/n' tried instead on input line 6. File: ./images/gpu_arch.pdf Graphic file (type pdf) <./images/gpu_arch.pdf> File: ./images/cpu_arch.pdf Graphic file (type pdf) - <./images/cpu_arch.pdf> [3 + <./images/cpu_arch.pdf> [2 ] File: images/emblem-bitmap.eps Graphic file (type eps) <images/emblem-bitmap.eps> -[4] +[3] LaTeX Font Info: Try loading font information for OMS+cmr on input line 66. (/usr/local/share/texlive/2013/texmf-dist/tex/latex/base/omscmr.fd File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions @@ -281,29 +278,29 @@ (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 66. File: images/emblem-bitmap.eps Graphic file (type eps) -<images/emblem-bitmap.eps> [5] +<images/emblem-bitmap.eps> [4] File: ./images/workitem.pdf Graphic file (type pdf) <./images/workitem.pdf> File: images/emblem-bitmap.eps Graphic file (type eps) -<images/emblem-bitmap.eps> [6] +<images/emblem-bitmap.eps> [5] File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [7] + <images/emblem-bitmap.eps> [6] File: ./images/calculateIndex.pdf Graphic file (type pdf) <./images/calculateIndex.pdf> LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 227. File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [8] + <images/emblem-bitmap.eps> [7] File: ./images/starpu_data_parallel.pdf Graphic file (type pdf) <./images/starpu_data_parallel.pdf>) (./chapter2.tex File: images/emblem-bitmap.eps Graphic file (type eps) -<images/emblem-bitmap.eps> [9] -第 3 章(10ページ) -[10 +<images/emblem-bitmap.eps> [8] +第 3 章(9ページ) +[9 ] File: ./images/createTask.pdf Graphic file (type pdf) @@ -312,7 +309,7 @@ <./images/scheduler.pdf> File: images/emblem-bitmap.eps Graphic file (type eps) -<images/emblem-bitmap.eps> [11] +<images/emblem-bitmap.eps> [10] LaTeX Font Warning: Font shape `JT1/mc/m/it' undefined (Font) using `JT1/mc/m/n' instead on input line 72. @@ -333,18 +330,18 @@ (Font) Font shape `OML/cmm/m/it' tried instead on input line 73. File: images/emblem-bitmap.eps Graphic file (type eps) -<images/emblem-bitmap.eps> [12]) (./chapter3.tex +<images/emblem-bitmap.eps> [11]) (./chapter3.tex File: images/emblem-bitmap.eps Graphic file (type eps) <images/emblem-bitmap.eps> -[13] -第 4 章(14ページ) -[14 +[12] +第 4 章(13ページ) +[13 ] File: ./images/sort_benchmark.pdf Graphic file (type pdf) <./images/sort_benchmark.pdf> File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [15] + <images/emblem-bitmap.eps> [14] File: ./images/wordcount.pdf Graphic file (type pdf) <./images/wordcount.pdf> @@ -353,41 +350,41 @@ [] File: images/emblem-bitmap.eps Graphic file (type eps) -<images/emblem-bitmap.eps> [16] +<images/emblem-bitmap.eps> [15] File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [17]) + <images/emblem-bitmap.eps> [16]) (./chapter4.tex File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [18 + <images/emblem-bitmap.eps> [17 ] -第 5 章(19ページ) -) (./chapter5.tex [19 +第 5 章(18ページ) +) (./chapter5.tex [18 ] -第 6 章(20ページ) -[20 +第 6 章(19ページ) +[19 ] File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [21]) (./chapter6.tex + <images/emblem-bitmap.eps> [20]) (./chapter6.tex File: images/emblem-bitmap.eps Graphic file (type eps) -<images/emblem-bitmap.eps> [22] +<images/emblem-bitmap.eps> [21] File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [23] -第 7 章(24ページ) + <images/emblem-bitmap.eps> [22] +第 7 章(23ページ) File: ./images/mmap.pdf Graphic file (type pdf) -<./images/mmap.pdf> [24 +<./images/mmap.pdf> [23 ] File: ./images/blockedread.pdf Graphic file (type pdf) <./images/blockedread.pdf> File: images/emblem-bitmap.eps Graphic file (type eps) <images/emblem-bitmap.eps> -[25] +[24] File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [26] + <images/emblem-bitmap.eps> [25] File: ./images/speblockedread.pdf Graphic file (type pdf) <./images/speblockedread.pdf> Overfull \hbox (2.16278pt too wide) in paragraph at lines 118--119 @@ -395,7 +392,7 @@ [] -LaTeX Warning: Reference `fig:iothread_blockedread' on page 27 undefined on inp +LaTeX Warning: Reference `fig:iothread_blockedread' on page 26 undefined on inp ut line 128. File: ./images/iothread.pdf Graphic file (type pdf) @@ -404,41 +401,39 @@ [] [] -) (./chapter7.tex +) (./chapter8.tex File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [27] -第 8 章(28ページ) -) (./chapter8.tex [28 + <images/emblem-bitmap.eps> [26] +第 8 章(27ページ) +File: ./figures/multicore/sort.pdf Graphic file (type pdf) +<./figures/multicore/sort.pdf> [27 ] -第 9 章(29ページ) -File: ./figures/multicore/sort_.pdf Graphic file (type pdf) -<./figures/multicore/sort_.pdf> [29 +File: ./figures/multicore/word_count.pdf Graphic file (type pdf) + <./figures/multicore/word_count.pdf> +File: images/emblem-bitmap.eps Graphic file (type eps) + +<images/emblem-bitmap.eps> [28] +File: ./figures/GPU/fft_firefly.pdf Graphic file (type pdf) + <./figures/GPU/fft_firefly.pdf> +File: ./figures/GPU/fft_dragonfly.pdf Graphic file (type pdf) + +<./figures/GPU/fft_dragonfly.pdf> +File: images/emblem-bitmap.eps Graphic file (type eps) + <images/emblem-bitmap.eps> [29]) +(./chapter9.tex +File: images/emblem-bitmap.eps Graphic file (type eps) + <images/emblem-bitmap.eps> [30] +第 9 章(31ページ) +) (./conclusion.tex [31 ] -File: ./figures/multicore/word_count_.pdf Graphic file (type pdf) - <./figures/multicore/word_count_.pdf>) -(./conclusion.tex -File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> [30] -File: images/emblem-bitmap.eps Graphic file (type eps) - <images/emblem-bitmap.eps> -[31] 第 10 章(32ページ) ) (./thanx.tex [32 ]) (./master_paper.bbl [33 -] - -LaTeX Font Warning: Font shape `JT1/gt/m/it' undefined -(Font) using `JT1/gt/m/n' instead on input line 25. - - -LaTeX Font Warning: Font shape `JY1/gt/m/it' undefined -(Font) using `JY1/gt/m/n' instead on input line 25. - -) (./appendix.tex [34 +]) (./appendix.tex [34 ]) No file master_paper.ind. @@ -453,12 +448,12 @@ ) Here is how much of TeX's memory you used: - 2530 strings out of 494008 - 35697 string characters out of 6154472 - 189731 words of memory out of 5000000 - 5902 multiletter control sequences out of 15000+600000 - 18570 words of font info for 72 fonts, out of 8000000 for 9000 + 2526 strings out of 494008 + 35720 string characters out of 6154472 + 189779 words of memory out of 5000000 + 5896 multiletter control sequences out of 15000+600000 + 18223 words of font info for 71 fonts, out of 8000000 for 9000 745 hyphenation exceptions out of 8191 - 30i,12n,40p,301b,1888s stack positions out of 5000i,500n,10000p,200000b,80000s + 30i,12n,40p,207b,1888s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on master_paper.dvi (42 pages, 113092 bytes). +Output written on master_paper.dvi (42 pages, 117420 bytes).
--- a/paper/master_paper.lot Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.lot Fri Feb 13 09:29:41 2015 +0900 @@ -1,16 +1,16 @@ \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {table}{\numberline {2.1}{\ignorespaces kernel で使用する ID 取得の API}}{6} +\contentsline {table}{\numberline {2.1}{\ignorespaces kernel で使用する ID 取得の API}}{5} \addvspace {10\p@ } -\contentsline {table}{\numberline {3.1}{\ignorespaces Task 生成おける API}}{13} -\contentsline {table}{\numberline {3.2}{\ignorespaces Task 側で使用する API}}{13} +\contentsline {table}{\numberline {3.1}{\ignorespaces Task 生成おける API}}{12} +\contentsline {table}{\numberline {3.2}{\ignorespaces Task 側で使用する API}}{12} \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {table}{\numberline {6.1}{\ignorespaces データ並列実行時の index の割り当て}}{22} -\addvspace {10\p@ } +\contentsline {table}{\numberline {6.1}{\ignorespaces データ並列実行時の index の割り当て}}{21} \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {table}{\numberline {9.1}{\ignorespaces Ceriumを実行する実験環境1}}{29} -\contentsline {table}{\numberline {9.2}{\ignorespaces Ceriumを実行する実験環境2}}{29} +\contentsline {table}{\numberline {8.1}{\ignorespaces Ceriumを実行する実験環境1}}{27} +\contentsline {table}{\numberline {8.2}{\ignorespaces Ceriumを実行する実験環境2}}{27} \addvspace {10\p@ } +\addvspace {10\p@ }
--- a/paper/master_paper.tex Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.tex Fri Feb 13 09:29:41 2015 +0900 @@ -8,7 +8,8 @@ %\input{dummy.tex} %% font \jtitle{マルチプラットフォーム対応\\並列プログラミングフレームワーク} -\etitle{} +%\etitle{supporting multiplatform of parallel programming framework} +\etitle{Multiplatform framework for parallel programming} \year{平成26年度 3月} \affiliation{\center% \includegraphics[clip,keepaspectratio,width=.15\textwidth] @@ -83,8 +84,9 @@ \input{chapter4.tex} \input{chapter5.tex} \input{chapter6.tex} -\input{chapter7.tex} + \input{chapter8.tex} +\input{chapter9.tex} \input{conclusion.tex} %謝辞
--- a/paper/master_paper.toc Tue Feb 10 14:17:01 2015 +0900 +++ b/paper/master_paper.toc Fri Feb 13 09:29:41 2015 +0900 @@ -1,39 +1,39 @@ -\contentsline {chapter}{\numberline {第1章}研究目的と背景}{1} -\contentsline {section}{\numberline {1.1}本論文の構成}{2} -\contentsline {chapter}{\numberline {第2章}既存のマルチプラットフォームフレームワーク}{3} -\contentsline {section}{\numberline {2.1}Architecutre}{3} -\contentsline {section}{\numberline {2.2}Shared Memory}{3} -\contentsline {section}{\numberline {2.3}OpenCL}{5} -\contentsline {section}{\numberline {2.4}CUDA}{7} -\contentsline {section}{\numberline {2.5}StarPU}{8} -\contentsline {chapter}{\numberline {第3章}Cerium}{10} -\contentsline {section}{\numberline {3.1}Cerium の概要}{10} -\contentsline {section}{\numberline {3.2}Cerium TaskManager}{10} -\contentsline {section}{\numberline {3.3}Cerium における Task}{11} -\contentsline {section}{\numberline {3.4}Task の Scheduling}{11} -\contentsline {section}{\numberline {3.5}Task 生成の例}{12} -\contentsline {chapter}{\numberline {第4章}Ceriumを用いた例題}{14} -\contentsline {section}{\numberline {4.1}Bitonic Sort}{14} -\contentsline {section}{\numberline {4.2}Word Count}{16} -\contentsline {section}{\numberline {4.3}FFT}{18} -\contentsline {chapter}{\numberline {第5章}マルチコアへの対応}{19} -\contentsline {section}{\numberline {5.1}マルチコア上での実行の機構}{19} -\contentsline {section}{\numberline {5.2}DMA}{19} -\contentsline {chapter}{\numberline {第6章}GPGPU への対応}{20} -\contentsline {section}{\numberline {6.1}OpenCL および CUDA による実装}{20} -\contentsline {section}{\numberline {6.2}データ並列}{21} -\contentsline {chapter}{\numberline {第7章}並列処理向けI/O}{24} -\contentsline {section}{\numberline {7.1}mmap}{24} -\contentsline {section}{\numberline {7.2}Blocked Read による I/O の並列化}{25} -\contentsline {section}{\numberline {7.3}I/O 専用 Thread の実装}{27} -\contentsline {chapter}{\numberline {第8章}Memory Allocator}{28} -\contentsline {section}{\numberline {8.1}現状のMemory Allocator}{28} -\contentsline {section}{\numberline {8.2}新しいMemory Allocator}{28} -\contentsline {chapter}{\numberline {第9章}ベンチマーク}{29} -\contentsline {section}{\numberline {9.1}実験環境}{29} -\contentsline {section}{\numberline {9.2}マルチコア}{30} -\contentsline {section}{\numberline {9.3}GPGPU}{30} -\contentsline {section}{\numberline {9.4}並列 I/O}{30} +\contentsline {chapter}{\numberline {第1章}フレームワークにおけるマルチプラットフォーム対応の必要性}{1} +\contentsline {chapter}{\numberline {第2章}既存のマルチプラットフォームフレームワーク}{2} +\contentsline {section}{\numberline {2.1}Architecture}{2} +\contentsline {section}{\numberline {2.2}Shared Memory}{2} +\contentsline {section}{\numberline {2.3}OpenCL}{4} +\contentsline {section}{\numberline {2.4}CUDA}{6} +\contentsline {section}{\numberline {2.5}StarPU}{7} +\contentsline {chapter}{\numberline {第3章}並列プログラミングフレームワーク Cerium}{9} +\contentsline {section}{\numberline {3.1}Cerium の概要}{9} +\contentsline {section}{\numberline {3.2}Cerium TaskManager}{9} +\contentsline {section}{\numberline {3.3}Cerium における Task}{10} +\contentsline {section}{\numberline {3.4}Task の Scheduling}{10} +\contentsline {section}{\numberline {3.5}Task 生成の例}{11} +\contentsline {chapter}{\numberline {第4章}Ceriumを用いた例題}{13} +\contentsline {section}{\numberline {4.1}Bitonic Sort}{13} +\contentsline {section}{\numberline {4.2}Word Count}{15} +\contentsline {section}{\numberline {4.3}FFT}{17} +\contentsline {chapter}{\numberline {第5章}マルチコアへの対応}{18} +\contentsline {section}{\numberline {5.1}マルチコア上での実行の機構}{18} +\contentsline {section}{\numberline {5.2}DMA}{18} +\contentsline {chapter}{\numberline {第6章}GPGPU への対応}{19} +\contentsline {section}{\numberline {6.1}OpenCL および CUDA による実装}{19} +\contentsline {section}{\numberline {6.2}データ並列}{20} +\contentsline {chapter}{\numberline {第7章}並列処理向けI/O}{23} +\contentsline {section}{\numberline {7.1}mmap}{23} +\contentsline {section}{\numberline {7.2}Blocked Read による I/O の並列化}{24} +\contentsline {section}{\numberline {7.3}I/O 専用 Thread の実装}{26} +\contentsline {chapter}{\numberline {第8章}ベンチマーク}{27} +\contentsline {section}{\numberline {8.1}実験環境}{27} +\contentsline {section}{\numberline {8.2}マルチコア}{28} +\contentsline {section}{\numberline {8.3}GPGPU}{29} +\contentsline {section}{\numberline {8.4}並列 I/O}{30} +\contentsline {chapter}{\numberline {第9章}既存のプログラミングフレームワークとの比較}{31} +\contentsline {section}{\numberline {9.1}OpenCL}{31} +\contentsline {section}{\numberline {9.2}CUDA}{31} +\contentsline {section}{\numberline {9.3}StarPU}{31} \contentsline {chapter}{\numberline {第10章}結論}{32} \contentsline {section}{\numberline {10.1}まとめ}{32} \contentsline {section}{\numberline {10.2}今後の課題}{32}