はじめにGPUはグラフィックプロセッサだけではなく、複数コアを持つ並列数値演算の側面も持ってきている。最近は汎用プログラムを実行するための仕組み(ハードのサポートや開発環境)が整備されてきている。CUDAというプラットフォームでは、C,C++で開発が出来て、メニーコア環境での並列処理が行える。GPUシステムのアーキテクチャ昔のVGAカードは、ノースブリッジとサウスブリッジをつないでいるPCIバスに接続されていた。今のGPUは、メモリと同列レベルに格上げされており、ノースブリッジ配下になっている。GPUとCPUは互いに相手のメモリにアクセスできるようになっている。ローエンドのGPUはGPU専用のメモリを使用せずにCPUの主記憶をGPU用に共用している。これはユニファイド・メモリ・アーキテクチャ(UMA)と呼ばれている。GPUのプログラミングGPUをグラフィックス向けではなく、数値計算目的で使用するんいは、以下のようなインターフェースがある。AMDによるGPU向けのアセンブラCUDAでは3つの抽象化を行っている。バリア同期これらを使用することで、多数のデータを分割して複数スレッドで実行し、全スレッドが終わるのを待つ(同期を取る)といった事が簡単に出来る。C言語の拡張は、このスレッド呼び出しの記法とかが対象になってるっぽい。コメントをキャンセルメールアドレスが公開されることはありません。29お勧め書籍webアプリのセキュリティ対策の為に。