コンピュータサイエンスにおいて、タスク、ジョブ、またはプロセスがCPUバウンド(または計算バウンド)であるとは、その完了にかかる時間が主に中央処理装置の速度によって決まる場合を指します。この用語は、そのようなワークロードを実行しているコンピュータの状態、すなわちプロセッサの使用率が高く、場合によっては数秒から数分間100%の使用率となり、周辺機器によって生成された割り込みの処理が遅くなったり、無期限に遅延したりする状態を指す場合もあります。
CPUバウンドなジョブは、ネットワークやストレージデバイスなどの周辺機器との通信や待機(これが原因でI/Oバウンドになる)ではなく、実際の計算(「数値処理」[ 1 ] )に実行時間の大部分を費やします。このようなジョブは、基盤となるアルゴリズムがマルチスレッドなどの並列化技術に対応していれば、複数のCPUコアにワークロードを分散できるため、シングルコアではなくマルチコアのパフォーマンスによって制限されるようになり、多くの場合、その恩恵を受けることができます。
CPUバウンドの概念は、コンピュータコンポーネント間のデータパスが単純で、あるコンポーネントが動作している間に別のコンポーネントがアイドル状態になっている様子を視覚的に確認できた初期のコンピュータ時代に発展しました。当時のコンポーネントの例としては、CPU、テープドライブ、ハードディスク、カードリーダー、プリンタなどが挙げられます。周辺機器を主に利用するコンピュータは、I/Oバウンドであると特徴づけられました。コンピュータが頻繁にCPUバウンド状態にあると判断された場合、CPUのアップグレードやコードの最適化によってコンピュータ全体のパフォーマンスが向上することが示唆されます。
マルチバス、並列処理、マルチプログラミング、プリエンプティブスケジューリング、高性能グラフィックカード、高性能サウンドカード、そして一般的に負荷分散の進展に伴い、特定のコンポーネントが常にボトルネックとなるケースは少なくなってきました。コンピュータのボトルネックは、コンポーネント間で急速に変化する可能性が高いと言えます。さらに、現代のコンピュータでは、他のコンポーネントへの影響を最小限に抑えつつ、CPU使用率を100%にすることも可能です。また、現代のコンピュータに求められるタスクは、それぞれ異なるコンポーネントを重視することが多いため、あるタスクのボトルネックを解消しても、別のタスクのパフォーマンスには影響しない場合があります。こうした理由から、CPUのアップグレードは必ずしも劇的な効果をもたらすとは限りません。CPUバウンドという概念は、現代のコンピューティングパフォーマンスにおいて考慮される多くの要素の一つに過ぎません。