ハードウェアアクセラレーション
アクセラレータを搭載しないコンピュータでは、ハードウェア・アクセラレーションを利用したソフトウェアを実行することができない。代替としてソフトウェアによる実装をフォールバックソリューションとして用意することもあるが、開発工数やテスト工数も増加する。また、アクセラレータの命令仕様や演算精度の違いから、演算結果がCPUによるソフトウェア処理と異なる場合も問題となる。
また、アクセラレータを操作する処理を記述する際、本来アプリケーションソフトウェアを実現するために本質的ではない、ハードウェアに関する予備知識も必要となる。通例、ハードウェアを抽象化・標準化するDirectX/OpenGL/OpenCLといったアクセラレーション用APIを介することで、ハードウェアの詳細な実装を隠蔽することが多いが、ハードウェアおよびデバイスドライバー層がこれらのAPIをサポートする必要がある。
なお、通例CPUと外部ハードウェアとではメモリ空間が異なることから、外部ハードウェアに処理を委譲する際にデータをメインメモリから外部メモリに転送する必要があったり、逆に外部ハードウェアの処理結果を取得する際にデータを外部メモリからメインメモリに転送(リードバック)する必要があったりするため、プログラムが煩雑となる。AMD APUにおけるHSAのように、CPUと補助プロセッサのメモリ空間を統合することでソフトウェア開発の負担を低減する解決策も提案されている。