# high efficiency when running multiple jobs simultaneously on one GPU what does this indicate?

**URL:** <https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198>\
**Category:** CUDA Programming and Performance\
**Created:** [October 12, 2010, 10:09pm UTC](https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198 "2010-10-12T22:09:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![athlonshi](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@athlonshi](https://forums.developer.nvidia.com/u/athlonshi)\
**Post date:** [October 12, 2010, 10:09pm UTC](https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198/1 "2010-10-12T22:09:20Z")

</div>

Hi,

My PC has a i7-920 quad-cores CPU and a Tesla C2050 GPU card. The code runs with CPU/GPU hybrid mode, with which GPU takes about a half of total running time (~200 seconds). Just out of curiosity, I tried to run 4 jobs simultaneously as there are 4 CPU cores available, and all jobs finished around 300 seconds, which seems quite good as if I run the jobs sequentially it would take about 800 seconds (200\*4) .

So, the question is what this indicates about the code performance? It could be due to 1) my GPU code sucks as GPU cores are not fully utilized with a single job. 2) GPU idles too much with a single job 3) PCI transfer is negligible (the CUDA compute profile measures the PCI transfer takes about 6% to 8% of total running time) 4) others factors that I am missing?

Of course, the good indication is that the CPU and GPU job schedulers seem work well for my code.

Are there any other comments and suggestions? Thanks!

---

<div class="post-metadata">

**Author:** ![athlonshi](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@athlonshi](https://forums.developer.nvidia.com/u/athlonshi)\
**Post date:** [October 12, 2010, 10:09pm UTC](https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198/2 "2010-10-12T22:09:20Z")

</div>

Hi,

My PC has a i7-920 quad-cores CPU and a Tesla C2050 GPU card. The code runs with CPU/GPU hybrid mode, with which GPU takes about a half of total running time (~200 seconds). Just out of curiosity, I tried to run 4 jobs simultaneously as there are 4 CPU cores available, and all jobs finished around 300 seconds, which seems quite good as if I run the jobs sequentially it would take about 800 seconds (200\*4) .

So, the question is what this indicates about the code performance? It could be due to 1) my GPU code sucks as GPU cores are not fully utilized with a single job. 2) GPU idles too much with a single job 3) PCI transfer is negligible (the CUDA compute profile measures the PCI transfer takes about 6% to 8% of total running time) 4) others factors that I am missing?

Of course, the good indication is that the CPU and GPU job schedulers seem work well for my code.

Are there any other comments and suggestions? Thanks!

---

<div class="post-metadata">

**Author:** ![selcuk](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@selcuk](https://forums.developer.nvidia.com/u/selcuk)\
**Post date:** [October 13, 2010, 1:33am UTC](https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198/3 "2010-10-13T01:33:50Z")

</div>

I’m not sure if this would be helpful to you but just wanted share my experience with C2050 compared to GTX285. When the number of thread blocks are small (10-50) GTX285 is faster. But when the number of blocks are in the order of hundreds or thousands C2050 shows it’s performance.

---

<div class="post-metadata">

**Author:** ![selcuk](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@selcuk](https://forums.developer.nvidia.com/u/selcuk)\
**Post date:** [October 13, 2010, 1:33am UTC](https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198/4 "2010-10-13T01:33:50Z")

</div>

I’m not sure if this would be helpful to you but just wanted share my experience with C2050 compared to GTX285. When the number of thread blocks are small (10-50) GTX285 is faster. But when the number of blocks are in the order of hundreds or thousands C2050 shows it’s performance.

---

<div class="post-metadata">

**Author:** ![athlonshi](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@athlonshi](https://forums.developer.nvidia.com/u/athlonshi)\
**Post date:** [October 13, 2010, 1:41am UTC](https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198/5 "2010-10-13T01:41:35Z")

</div>

Thanks!

I have a GTX 260, but it is not installed on the machine as the power supply is not strong enough to drive two cards.

I will try to do the same thing later with GTX 260 to see how well it handles multiple jobs simultaneously.

> [@](#):
>
> I’m not sure if this would be helpful to you but just wanted share my experience with C2050 compared to GTX285. When the number of thread blocks are small (10-50) GTX285 is faster. But when the number of blocks are in the order of hundreds or thousands C2050 shows it’s performance.

---

<div class="post-metadata">

**Author:** ![athlonshi](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@athlonshi](https://forums.developer.nvidia.com/u/athlonshi)\
**Post date:** [October 13, 2010, 1:41am UTC](https://forums.developer.nvidia.com/t/high-efficiency-when-running-multiple-jobs-simultaneously-on-one-gpu-what-does-this-indicate/19198/6 "2010-10-13T01:41:35Z")

</div>

Thanks!

I have a GTX 260, but it is not installed on the machine as the power supply is not strong enough to drive two cards.

I will try to do the same thing later with GTX 260 to see how well it handles multiple jobs simultaneously.

> [@](#):
>
> I’m not sure if this would be helpful to you but just wanted share my experience with C2050 compared to GTX285. When the number of thread blocks are small (10-50) GTX285 is faster. But when the number of blocks are in the order of hundreds or thousands C2050 shows it’s performance.
