ハードウェアアクセラレーション
[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]

GPUはもともと32bit単精度または16bit半精度の浮動小数点演算を得意とするが、機械学習深層学習向けに8bit整数演算専用命令を備えるプロセッサも登場している[2][3]。一方、科学技術計算では64bit倍精度浮動小数点数(あるいはそれ以上の精度)が主に必要とされるが、倍精度はゲーミング用途ではほとんど使われず無駄になるため、コンシューマー向けGPUでは倍精度の浮動小数点演算性能は単精度の場合の1/24や1/32程度に抑えられていることが多い。ハーフレートの倍精度(単精度の場合の1/2)に対応しているGPUは主にワークステーション向けやGPGPUサーバー専用製品に限られる。
問題点

アクセラレータを搭載しないコンピュータでは、ハードウェアアクセラレーションを利用したソフトウェアを実行することができない。代替としてソフトウェアによる実装をフォールバックソリューションとして用意することもあるが、開発工数やテスト工数も増加する。また、アクセラレータの命令仕様や演算精度の違いから、演算結果がCPUによるソフトウェア処理と異なる場合も問題となる。

また、アクセラレータを操作する処理を記述する際、本来アプリケーションソフトウェアを実現するために本質的ではない、ハードウェアに関する予備知識も必要となる。通例、ハードウェアを抽象化・標準化するDirectX/OpenGL/OpenCLといったアクセラレーション用APIを介することで、ハードウェアの詳細な実装を隠蔽することが多いが、ハードウェアおよびデバイスドライバー層がこれらのAPIをサポートする必要がある。

なお、通例CPUと外部ハードウェアとではメモリ空間が異なることから、外部ハードウェアに処理を委譲する際にデータをメインメモリから外部メモリに転送する必要があったり、逆に外部ハードウェアの処理結果を取得する際にデータを外部メモリからメインメモリに転送(リードバック)する必要があったりするため、プログラムが煩雑となる。AMD APUにおけるHSAのように、CPUと補助プロセッサのメモリ空間を統合することでソフトウェア開発の負担を低減する解決策も提案されている。
脚注^ ある一時期には「Intel 80286#CPUアクセラレータ」の記事にあるように、286マシンに486を載せるといった製品まで登場した。
^ 【GTC 2017】NVIDIA、FP32で演算するCNNをINT8に変換して性能を2.5?3倍に引き上げるアルゴリズムを開発
^ 【後藤弘茂のWeekly海外ニュース】AMDが次世代GPU「Radeon RX Vega64」を正式発表 ?AMDの夏の大攻勢始まる - PC Watch

参考文献

この節には参考文献外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2017年9月)


https://archive.is/20170803030156/https://knowledge.autodesk.com/ja/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/AutoCAD-LT/files/GUID-A393BC3F-EA9C-4428-AABF-EDABE902874C-htm.html

https://archive.is/20170807231026/http://qiita.com/harasho2016/items/1d3b3140a77903094dd5

https://archive.is/20170810050640/http://help.videostudiopro.com/videostudio/v20/main/jp/documentation/index.html%23page/videostudio-x10/h2-hardware-acceleration.html

https://archive.is/20170802170011/https://dev.mozilla.jp/2011/01/hardware-acceleration/

関連項目

ハードウェア抽象化レイヤー

GPGPU

ヘテロジニアス・コンピューティング










コンピュータ科学
ハードウェア

プリント基板

周辺機器

Integrated Circuit (IC)

Very Large Scale Integration (超大規模集積回路、VLSI)

Systems on Chip (SoC)

エネルギー消費 (グリーン・コンピューティング)

EDA

ハードウェアアクセラレーション

コンピュータシステムの構造

コンピュータ・アーキテクチャ

組み込みシステム

リアルタイムシステム

ディペンダビリティ

ネットワーク

ネットワーク・アーキテクチャ(英語版)

通信プロトコル

ネットワーク・コンポーネント(英語版)

ネットワーク・スケジューラ(英語版)

ネットワーク性能評価(英語版)

ネットワーク・サービス(英語版)

ソフトウェアの構造

インタプリタ

ミドルウェア

仮想マシン

オペレーティングシステム

ソフトウェア品質

ソフトウェア記法(英語版)
ツール

プログラミングパラダイム

プログラミング言語


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:29 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef