NVIDIAのテクニカルマーケティング担当副社長 トニー・タマシ氏によれば、GeForce GTX 200シリーズは、こうしたCUDAを利用して作成されたアプリケーションを利用するプラットフォームとしても意識した設計になっているという。「GeForce GTX 200シリーズはゲーム用途の利用だけを意識した従来のGPUとは異なる設計思想を持っている。具体的にはコンピューティングプラットフォームとしての側面を意識した設計になっている」とタマシ氏は述べ、それを実現するためにGeForce GTX 200シリーズのマイクロアーキテクチャの設計は行われていると説明した。
GeForce GTX 200は「Thread Processor」と呼ばれるプロセッサコアを240個内蔵する。それぞれのThread Processorは整数演算器と倍精度(64ビット)の浮動小数点演算器を備え、8個のThread Processorで「Thread Processor Array」という単位を構成する。それぞれのThread Processor Arrayは16Kバイトのローカルメモリを備えている。さらに、3つのThread Processor Array(=24個のThread Procesor)で「Thread Processing Cluster」という単位が構成され、それぞれが1次キャッシュメモリを備えている。
こうした構造をとることで、GeForce GTX 200シリーズでは3万を超えるスレッドをGPU全体で処理できるようになっている(前世代のGeForce 8/GeForce 9シリーズでは1万前後)。こうした演算器の増加や効率の向上などにより、GeForce 8800 GTXが533G FLOPS(FLOPSとは1秒間に実行できる浮動小数点演算の数)だったのに対して、GeForce GTX 200シリーズの上位モデルとなるGeForce GTX 280では933G FLOPSと倍近い性能を実現している。
もちろん、GeForce GTX 200シリーズではグラフィックス処理における性能向上も図られている。NVIDIAによると、倍精度の浮動小数点演算をサポートしたため、テクスチャ処理の性能が向上しているほか、ジオメトリシェーダの処理能力が向上しているという。このほかにもレジスタファイルが倍になり、シェーダプログラムを実行する効率が向上するなどの特徴を備えている。
NVIDIAは、GeForce GTX 200シリーズの発表にあわせてCUDA対応アプリケーションをいくつか紹介している。1つはAdobeのPhotoshop CS3を利用したデモで、デジタルカメラで撮影したRAW画像を展開してそれを加工する処理をGPUで行っている。通常、RAW画像を読みこんで加工する場合、CPUを利用して演算を行うとそれなりに時間がかかり、加工後の状況をライブビューで確認するのも難しい。しかし、GPUを利用して描画と加工を行うことで瞬時に読み込みを完了させ、ズームなどの加工作業を軽々と行うことができるようになる。
さらに、米国のElemental Technologiesが作成した、GPUを利用したエンコードソフトウェアのデモも紹介された。「BadaBOOM Media Converter」と呼ばれるそのソフトウェアは、CUDAの導入によって利用可能となったGPUを利用してメディアファイルのトランスコードやエンコードを行う。NVIDIAが行ったベンチマークテストによれば、動作クロック1.8GHzのデュアルコアCPUに比べて、MPEG-2からMPEG-4 AVCへのトランスコードを18倍も高速に行うことができたという。
Copyright © ITmedia, Inc. All Rights Reserved.