入門編
第7回:今あるプログラムを楽に速くするためには

今回で 拡散方程式のプログラム 例は終わりです。
ここまで学んだこと(+α)のまとめとして、何をすればどのくらい速くなるのかを見ていきます。
ここまでで解説した指示文(+α)を使って最適化した場合、どのくらい速くなるのか確認してみましょう。

続きを読む
入門編
第6回:プログラムの実行時間を確認しよう

前回は、拡散方程式のプログラムを例として、OpenACCのコンパイラが出力するメッセージについて学びました。
​今回は、OpenACCプログラムを実行した際の、プログラムの性能の確認方法について学びます。
GPUを使う上で必ず考えなければならないのが、プログラムの実行速度です。

続きを読む
入門編
第5回:コンパイラのメッセージを確認しよう

前回に引き続き、拡散方程式のプログラムを例として、OpenACCの使い方を学びます。
…では、PGIコンパイラ (ver. 19.10) を用いて、このプログラムをコンパイルしてみましょう。​コンパイル時に出力されるメッセージが図2です。

続きを読む
入門編
第4回:拡散現象シミュレーションのOpenACC化

前回は、非常に簡単なプログラムを例として、データ転送の最小化について考えました。
​今回はもう少し実践的な例として、拡散方程式を扱います。今回は、前回行ったデータ転送の最小化が如何に重要なのかを知ってもらうために、拡散現象のシミュレーションプログラムをOpenACC化してみましょう。

続きを読む
入門編
第3回:データ転送の最小化はほとんどのアプリケーションで必須

前回は、図1のプログラムを例にして、OpenACCの主要な3つの指示文:kernels, data, loop指示文を紹介しました。
​今回はプログラムの効率について考えてみましょう。

続きを読む
入門編
第2回:その前に知っておきたいGPUの特徴

前回の記事では、GPUプログラミングにおけるOpenACCの立ち位置や、OpenACCで記述可能な並列処理など、OpenACCの概要を説明しました。
​今回からは、具体的なOpenACCの使い方について解説していきます。

続きを読む
入門編
第1回:今あるプログラムを楽に速くするためには?

「GPUが速いのは知ってるけれど、GPUプログラミングは難し過ぎる!」と思っているそこのあなた!
​OpenACCという並列プログラミングモデルをご存じでしょうか。
OpenACCは、GPUプログラミング(正確には演算加速装置向けのプログラミング)をより楽にするために開発された並列プログラミングモデルです。​OpenACCは、以下のような方にお勧めです。

続きを読む