Raspberry Piでスーパーコンピュータをつくろう!

書籍情報
ISBN978-4-320-12437-0
判型B5 
ページ数196ページ
発売予定2018年08月28日
本体価格2,500円
Raspberry Piでスーパーコンピュータをつくろう! 書影
Raspberry Piでスーパーコンピュータをつくろう!

新刊

本書を読めば,基本的なコンピュータハードウェア・ソフトウェアの知識をもつ人の誰もが,安価なRaspberry Pi 3でスーパーコンピュータを構築し,高性能計算を行うことができる。

本書では,メッセージ・パッシング・インターフェース(MPI)の実装の一つであるOpen MPIを活用し,ネットワークスイッチを介して8ノードもしくは16ノードのRaspberry Piがお互いに通信できるように設定することよって,Raspberry Pi 3スーパーコンピュータを構築する。さらにこのRaspberry Pi 3スーパーコンピュータにより,実社会のさまざまなアプリケーションを並列実行する方法を学ぶ。

スーパーコンピュータを構築する過程において,Raspberry Pi上で動くLinuxディストリビューションであるRasbianを利用し,ユーザの追加,ファイル一覧の表示,エディタでのファイル編集,IPアドレスの設定,複数のマシンでストレージを共有する方法,コマンドの自動起動の方法,シェルスクリプトの書き方など,Linuxの利用方法についても学ぶことができる。

原著:Carlos R. Morrison: Build Supercomputers with Raspberry Pi 3, Packt Publishing, 2017.

目次

まえがき

第I部 スーパーコンピュータへようこそ

第1章 スーパーコンピュータを始めよう
1.1 フォン・ノイマン型アーキテクチャ
1.2 フリンの古典的な分類法
1.3 歴史的な観点
  1.3.1 スーパーコンピュータの進化
  1.3.2 スーパーコンピュータの速度向上
1.4 逐次計算と並列計算
  1.4.1 逐次計算手法
  1.4.2 並列計算手法
1.5 処理速度向上の必要性
1.6 処理速度に関するさらなる分析的観点
1.7 役に立つ情報源
1.8 まとめ

第2章 1ノードのスーパーコンピューティング
2.1 Linuxのインストール
2.2 PCのプロセッサ
2.3 プロセッサの技術的詳細にアクセスする
2.4 逐次版πコードを書いて実行する
2.5 メッセージパッシングインターフェース
  2.5.1 基本のMPIコード
  2.5.2 MPI版πコード
  2.5.3 重要なMPIループ構造
  2.5.4 MPI版オイラーコード
  2.5.5 MPI版ライプニッツコード
  2.5.6 MPI版ニーラカンタコード
2.6 まとめ


第II部 Piスーパーコンピュータの構築

第3章 最初の2ノードを準備する
3.1 部品一覧
3.2 Pi2/Pi3コンピュータ
3.3 プロジェクト概要
3.4 山積みの部品
3.5 マスターノードの準備
3.6 コードの転送
3.7 スレーブノードの準備
3.8 まとめ

第4章 固定IPアドレスとhostsファイルを設定する
4.1 マスターPiの固定IPアドレスを設定する
4.2 ネットワークスイッチで固定IPアドレスを設定する
4.3 hostsファイルを設定する
4.4 まとめ

第5章 すべてのノードに共通のユーザーを作る
5.1 すべてのノードに新規ユーザーを追加する
5.2 認証鍵の生成
5.3 認証鍵の転送
5.4 まとめ

第6章 マスターノード上にマウント可能なディレクトリを作る
6.1 スレーブにエクスポートするディレクトリを作成する
6.2 スレーブにディレクトリをエクスポートする
6.3 エクスポートされたディレクトリを手動でマウントする
6.4 エクスポートしたディレクトリにあるMPIプログラムを実行する
6.5 まとめ

第7章 8ノードを設定する
7.1 ディレクトリのマウントを自動化する
7.2 すべてのノードでhostsファイルを設定する
7.3 残りのスレーブ用SDカードを準備する
  7.3.1 残りのスレーブ用SDカードを初期化する
  7.3.2 PCのディレクトリにスレーブ1のSDカードイメージをコピーする
  7.3.3 スレーブ1のイメージを残りのスレーブ用SDカードにコピーする
7.4 残りのスレーブを設定する
7.5 まとめ

第8章 スーパークラスタを試す
8.1 mpiexec-Hコマンドを使いこなす
8.2 Pi2スーパーコンピューティング
8.3 Pi3スーパーコンピューティング
8.4 便利なbashファイルの作成と実行
8.5 制限を解除する
8.6 まとめ


第III部 実世界のアプリケーション

第9章 実世界の数学アプリケーション
9.1 MPI版sine(x)のテイラー級数
9.2 MPI版cosine(x)のテイラー級数
9.3 MPI版tangent(x)のテイラー級数
9.4 MPI版ln(x)のテイラー級数
9.5 まとめ

第10章 実世界の物理アプリケーション
10.1 MPI版並行波動方程式とコード
10.2 まとめ

第11章 実世界の工学アプリケーション
11.1 MPI版のこぎり波信号のフーリエ級数
11.2 まとめ

付録

著者と査読者について

訳者あとがき

索引