タグ

ブックマーク / www.softek.co.jp (2)

  • OpenACC ディレクティブによるプログラミング by PGI Compilers

    コンピューティング環境が、従来の CPU だけで処理される時代から変化しようとしています。電力効率の問題を内在しメモリ帯域幅の制約から「CPU 自体の性能向上」が期待できない中で、GPU や DSP と言った、今まで特殊用途のプロセッサを利用し、汎用的な処理を行うソフトウェア環境が整備されつつあります。ここでは、こうした異種プロセッサを活用する「ハイブリッド・コンピューティング」のソフトウェア環境の一つである、OpenACC (Open Accelerator) の使用法に関して纏めます。OpenACCは、2008 年から PGI が取り組んだ PGI Accelerator Programming Model の考え方を踏襲し、2011 年に新しく標準規格化されたものです。OpenMP のようなディレクティブ・ベース(ソース上に指示行を挿入する形態)のプログラミング手法を採用し、GPU

    OpenACC ディレクティブによるプログラミング by PGI Compilers
  • GPGPU(GPUプログラミング概要)

    ホスト側とGPUボードは PCI バスを通してデータの交換を行います。 GPU内に転送速度は非常に速いが、メモリ・アクセスの遅延(レイテンシ)の大きな「デバイスメモリ」を有します。現在の実装では、数 GB オーダーの容量を有します。 デバイスメモリとGPUの演算装置(「Streaming Multiprocessor (SM)」と言う。あるいは単に Multiprocessor と言うこともある。)の間に、ソフトウェアで管理できるキャッシュ(Shared Memory)とハードウェアで制御できる L1/L2キャッシュ(Fermi以降)が存在する。 Streaming Multiprocessor (SM) は、演算器の集まり(クラスタ)であり、この演算器の最小単位は、Streaming Processor(SP)、あるいは CUDA coreと称される。一つの SM の中に 8個の SP

  • 1