CUDA by Exampleの 9.4 章から、GPU グローバル メモリでアトミック操作を不適切に使用すると、メモリ アクセスの競合が原因で、プログラムのパフォーマンスが純粋に CPU で実行された場合よりも低下する可能性があることを読みました。
最悪の場合、GPU で実行されるプログラムは高度にシリアル化されており、並列で実行されるスレッドはありません。これは、シングルスレッド プログラムが CPU で実行される方法と同じです。したがって、重要な問題は、プログラムがメモリにアクセスする速度です。
私が言及した本の例を考慮すると、GPU がデバイス上のグローバル メモリにアクセスするよりも、CPU がホスト メモリに高速にアクセスするようです。
そうですか?または、今説明した状況でプログラムのパフォーマンスに影響を与える他の要因はありますか?