PGIトップ › PGI技術情報・TIPS › ソフテック・PGIテクニカル情報・コラム

ソフテック PGI テクニカル情報・コラム

(弊社お客様専用)

PARA TIPS

 弊社代表取締役社長でHPCエグゼクティブ・コンサルタントである筆者、加藤【筆者プロフィール】が25年以上にわたるスパコン、HPC業界での経験にもとづき、並列化のための基本的な考え方、並列化の方法、PGIコンパイラの使用例等の技術的なトピックを定期的にコラム形式で掲載していきます。特に、当初は、今後の活用の主体となるPGIを利用した GPU Computing の技術トピックにフォーカスする予定です。 Copyright © 株式会社ソフテック

PGI製品のお求めは、米国 PGI 社と 19 年以上に及ぶ強力なパートナーであるソフテックへ
Google softek.co.jpを検索

PGI Accelerator | PGI CUDA Fortran | GPU並列化
MPI/openMP 並列化テクニカル・コラム アップデート
© Tsutomu Kato, SofTek

  • 2011年10月21日

    Basic

     【実践編】PGI CUDA Fortran and CUBLAS 4.0

    PGI CUDA Fortran による CUBLAS 4.0 以降の使用方法

    NVIDIA® CUDA ランタイムの上位ライブラリである CUBLAS は、CUDA 4.0 から新しいインタフェース(API) が導入された。その使用法を説明する。

  • 2011年10月12日

    Basic

     【実践編】PGI CUDA Fortran and CUDA 4.0

    CUDA Fortran による CUDA 4.0 Multi-GPU プログラミング(3)

    Unified Virtual Addressing(UVA) を使用する場合のホスト側メモリの属性に関して解説する。

  • 2011年10月11日

    Basic

     【実践編】PGI CUDA Fortran and CUDA 4.0

    CUDA Fortran による CUDA 4.0 Multi-GPU プログラミング(2)

    CUDA 4.0 からの機能である Unified Virtual Addressing を使用する例として、 ホスト側のメモリ領域も含めて Unified Virtual 空間として捉えた場合のプログラミングの方法を解説する。

  • 2011年10月6日

    Basic

     【実践編】PGI CUDA Fortran and CUDA 4.0

    CUDA Fortran による CUDA 4.0 Multi-GPU プログラミング(1)

    CUDA 4.0 からの機能である GPUdirect v2.0 の機能の使用する例として、デバイス間の peer-to-peer メモリアクセスを利用する際のプログラミングの方法を説明する。

  • 2011年6月24日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 4.0 開発環境をインストールする (Windows版)

    Windows 7 上に CUDA 4.0 環境をインストールする手順を説明します。

  • 2011年6月24日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 4.0 開発環境をインストールする (Linux版)

    CentOS 5.5W 上に CUDA 4.0 環境をインストールする手順を説明します。

  • 2011年6月13日

    tips

     【実践編】PGI CUDA Fortran

    PGI CUDA FortranからCUDA CUFFT ライブラリを呼ぶ

    CUDA Fortran 上で NVIDIA CUFFT ライブラリを使用する方法

  • 2011年5月9日

    tips

     【実践編】PGI CUDA Fortran

    PGI 2011のCUDA FortranでのModule文

    CUDA Fortran 上の Module 文の使用自由度が向上しました

  • 2011年1月5日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 3.2 開発環境をインストールする (Linux版)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 環境環境をインストールしておく必要があります。ここでは、CentOS 5.5 上に CUDA 3.2 環境をインストールする手順を説明します。

  • 2011年1月5日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 3.2 開発環境をインストールする (Windows版)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 環境環境をインストールしておく必要があります。ここでは、Windows 7 上に CUDA 3.2 環境をインストールする手順を説明します。

  • 2010年8月16日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 3.1 開発環境をインストールする (Linux版)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 環境環境をインストールしておく必要があります。ここでは、CentOS 5.4 上に CUDA 3.1 環境をインストールする手順を説明します。

  • 2010年8月16日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 3.1 開発環境をインストールする (Windows版)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 環境環境をインストールしておく必要があります。ここでは、Windows 7 上に CUDA 3.1 環境をインストールする手順を説明します。

  • 2010年7月23日

    tips

    【実践編】PGIコンパイラによるGPU Computingシリーズ(10)

    PGIアクセラレータによるヤコビ反復法のGPU性能高速化

    PGIアクセラレータを使って、一般的な二次元の問題をヤコビ反復法で解く「アプリケーション」を使用して、実際に GPU 用に最適化してゆくステップを説明する。Fermi(GTX480) における実際の倍精度性能も示す。

  • 2010年7月10日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(9)

    PGIアクセラレータによる姫野ベンチマークの最適化手順(その2)

    PGIアクセラレータのディレクティブによる最適化の最終段階である Kernel ループスケジューリングの方法について説明する。また、一般的な CUDA Kernel 性能の最適化方法についても説明する。

  • 2010年7月7日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(8)

    PGIアクセラレータによる姫野ベンチマークの最適化手順(その1)

    姫野ベンチマークを例題に、PGIアクセラレータ・プログラミングモデルを使用してどの程度まで性能を向上できるかを見る。Fermi で 55 GFLOPS 記録している。

  • 2010年6月30日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(7)

    PGI Fortran と CUDA CUBLASを使用した行列積の計算とGPU性能

    一般的な行列積(matmul)のプログラムを取り上げ、PGI CUDA Fortran + CUDA CUBLAS を使用して実行した結果を示す。

  • 2010年6月26日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(6)

    PGI CUDA Fortran を使用した行列積の計算とGPU性能

    一般的な行列積(matmul)のプログラムを取り上げ、PGI CUDA Fortran を使用して実行した結果を示す。

  • 2010年6月26日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(5)

    PGIアクセラレータを使用した行列積の計算とGPU性能

    一般的な行列積(matmul)のプログラムを取り上げ、PGIアクセラレータ・プログラミングモデルを使用して実行した結果を示す。

  • 2010年6月16日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(4)

    NVIDIA GPU の構造と CUDA スレッディングモデル

    NVIDIA の GPU の構造をハードウェア的な観点で説明してから、CUDAソフトウェア環境の技術的な事柄にマッチングさせ、GPUが高速演算できる理由を理解する。

  • 2010年4月27日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 3.0 開発環境をインストールする (Linux版)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 環境環境をインストールしておく必要があります。ここでは、CentOS 5.4 上に Fermi GPU 対応の CUDA 3.0 環境をインストールする手順を説明します。

  • 2010年4月27日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 3.0 開発環境をインストールする (Windows版)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 環境環境をインストールしておく必要があります。ここでは、Windows 7 上に Fermi GPU 対応の CUDA 3.0 環境をインストールする手順を説明します。

  • 2010年3月18日

    tips

     【実践編】PGIコンパイラの自動並列化

    PGI コンパイラの自動並列化による性能について

    商用コンパイラには、自動並列化機能も備わっている。この自動並列化の能力は、商用コンパイラによっても異なる。かなり優れた性能を得ることができた、PGIコンパイラの例を紹介する。

  • 2010年3月12日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(3)

    プログラムのプロファイルを取得する(時間の掛かる部分を特定する)

    プログラムのホットスポットを把握し、最初にGPU並列を行う部分を絞り込む。この他に、Compute-Intensity(計算密度)指標の意味、プロファイル・フィードバックによる最適化、プロシジャー間最適化等についても触れる。

  • 2010年3月1日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(2)

    NVIDIA GPUの実効メモリ帯域(STREAMベンチマーク) Update!

    NVIDIA GPU (GeForce GTX 285) の実際のメモリ帯域の測定を行い、x64系でも最大と言われる Nehalem メモリ帯域とは大きなの違いがあることを理解する。

  • 2010年2月16日

    tips

     【実践編】PGIコンパイラによるGPU Computingシリーズ(1)

    マルチコアCPU上の並列化手法、その並列性能と問題点

    マルチコア・プロセッサに焦点を当て、そのプロセッサ上で実現できている並列化手法とその並列性能に関する知見、現在のプロセッサ技術の問題点等を簡単に整理する。

  • 2010年1月30日

    tips

     【実践編】PGI Accelerator Multi-GPU

    複数の GPU を計算に使えますか?

    複数の GPU を備えたシステムで、PGIコンパイラでアクセラレータを使用するための具体的な方法を説明します。

  • 2010年1月30日

    tips

     【実践編】PGI CUDA Fortran

    PGI 2010のCUDA FortranでのModule文使用時の注意

    CUDA Fortranプログラムのコンパイル時に Internal error! となる?

  • 2010年1月23日

    Basic

     【基礎編】PGI CUDA Fortran 使用法

    PGI CUDA Fortran コンパイル用のオプション

    明示的にPGI CUDA Fortran 言語のプログラムをコンパイルする方法について説明します。また、エミュレーションモードで、カーネルコード部分をホスト側でデバッグする方法を説明します。

  • 2010年1月13日

    Basic

     【基礎編】PGIアクセラレータ使用法

    PGIアクセラレータ・コンパイル用のオプション

    GPUをアクセラレータとして使用する際のPGI アクセラレータ™ コンパイラのオプションについて説明します。

  • 2009年12月22日

    Basic

     【基礎編】PGIアクセラレータ使用法

    PGIアクセラレータのLinux上の設定(PGI 2010版)

    PGI 2010バージョンにおける、PGIアクセラレータ™ コンパイラのインストールに関して説明します。

  • 2009年12月22日

    Basic

     【基礎編】PGI CUDA 環境

    CUDA™ 2.3開発環境をインストールする (Windows版)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 環境環境をインストールしておく必要があります。ここでは、一例として、Windows 7 上に CUDA 2.3 環境をインストールする手順を説明します。

  • 2009年12月11日

    Basic

     【基礎編】PGIアクセラレータ使用法

    PGI 2010 アクセラレータ機能概要について

    NVIDIA の GPU搭載の Linux / Windows / Mac OS X システム上で、コンパイラ・ディレクティブ(指示行)ベースでプログラミング可能なGPUアクセラレータ・コンパイラ機能の概要を説明します。

  • 2009年9月10日

    Basic

     【基礎編】PGI CUDA 環境

    NVIDIA CUDA開発環境をインストールする (Linux)

    PGIアクセラレータ™ コンパイラの使用する前に、NVIDIA社の CUDA™ 2.3環境環境をインストールしておく必要があります。ここでは、 一例として CentOS 5.3上に CUDA 2.3環境をインストールする手順を説明します。

  • 2009年9月1日

    tips

     【実践編】PGIアクセラレータによる性能

    NVIDIA GPU 上の PGIアクセラレータ™ コンパイラ姫野ベンチマークが指示行挿入だけで、20GFLOPS!

    NVIDIA GPU 上の PGIアクセラレータ™ コンパイラ姫野ベンチマークが指示行挿入だけで、20GFLOPS!

PGI Compiler | PGI Tool | 一般的使用法
テクニカル・コラム アップデート
© Tsutomu Kato, SofTek

Accelerator Files

PGI GPU並列 基礎編
PGI GPU並列 実践編

アクセラレータ・アイコン

加藤 努 プロフィール

株式会社ソフテック 代表取締役社長

 大学卒業後、地質探査、特に地震探査、物理探査屋として日本全国の山々、海のフィールドを調査し地下構造解析業務を6年ほど続ける。フィールド業務の合間に、日本で初めてとなる地震波動による地下構造解析システムを開発した。その後、IT業界に転身した。
 1985年、アプリケーション・アナリストとして日本クレイに入社し、日本クレイの中で主にインダストリ顧客のスパコンの導入、アプリケーション・サポート、ユーザサポートを担当。特に、1986年、日本で初めてとなる自動車産業におけるスパコン利用の CAE システム環境の構築を成功に導き、これ以降、産業界のプロダクション用途でのクレイ機の導入・利用が促進された。また、技術統括部マネージャとして、数多くの国内有力の製造業各社のクレイ機導入とユーザ利用環境の構築、ユーザサポート(ISVアプリケーション、HPC利用技術、並列プログラミング、性能評価)の指揮を執る。1989年には、プロダクション・サイトのスパコンとして初めての導入となる UNIX ベースのクレイ UNICOS オペレーティングシステム環境への全面移行プロジェクトを成功させた。その後、プリセールス部門の応用技術担当主幹として製造業各社や研究機関へのプリセールスを担当し、クレイ機の販売に尽力した。
 その後、1992年株式会社ソフテックに入社し、日本における独立系の HPC コンサルティング事業とセキュリティ事業を立ち上げる。この間、HPC事業、セキュリティ・サービス事業の技術部長、取締役、専務取締役を歴任、2001年代表取締役社長に就任し、現在に至る。この間、経営の仕事以外に、官公庁研究機関の大型スパコン国際調達に係わる専任コンサルタントとして活躍する。一年以上にも及ぶ導入までの一切のコンサルティング業務を取り仕切り、全体システムの設計、サイトプランニング、要件定義、ハードウェア、ソフトウェア仕様の詳細定義、性能評価試験の策定、総合評価策定の全てを行う加藤のコンサルティングによる入札方式は、スパコンHPCシステムの「オープンな一般競争入札法の先例」となる。現在まで、こうした大型案件を15案件以上手がけ、そのシステム調達の金額規模は総額で300億円以上にも及び、これらの大型システムの導入を支援した。この他に、1980年代から並列プログラミングを経験し、各社 HPC システム(各社ベクトル機、超並列機、並列スカラクラスタ)の性能評価や、数値計算、実際のMPI、スレッド並列プログラミング技術、性能最適化技術にも明るく、HPC 並列化のコンサルティング実績も数多い。