# Why is GPU usage capped at 50% when training PPO?

**URL:** <https://discuss.ray.io/t/why-is-gpu-usage-capped-at-50-when-training-ppo/11392>\
**Category:** Debugging and performance tuning\
**Created:** [July 13, 2023, 4:28pm UTC](https://discuss.ray.io/t/why-is-gpu-usage-capped-at-50-when-training-ppo/11392 "2023-07-13T16:28:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![george-adams](https://avatars.discourse-cdn.com/v4/letter/g/3e96dc/32.png) [@george-adams](https://discuss.ray.io/u/george-adams)\
**Post date:** [July 13, 2023, 4:28pm UTC](https://discuss.ray.io/t/why-is-gpu-usage-capped-at-50-when-training-ppo/11392/1 "2023-07-13T16:28:46Z")

</div>

Whenever I’m training a PPO, my CPU and GPU alternate. When the CPU workers are going through the environment, my CPU is at 100%. When the GPU is updating the parameters of the neural nets, it only reaches a maximum of 50%. Any ideas why and how to eke out extra performance from the GPU? It is currently the training speed bottleneck.
