CPU vs GPU performance
posted Tue 11 Jun 2013 by Michael Galloy under IDLI regularly need a graph showing the trend in the performance of GPUs and CPUs. This has to be quite a compromise since actual performance depends heavily on the suitability of the chip to a particular problem/algorithm among many other specifics. The simplest method is to plot theoretical peak performance over time; I chose to show it for single and double precision for NVIDIA GPUs and Intel CPUs.
In the past, I have used the graph in the CUDA C Programming Guide, but that is frequently out of date, I have no control of the formatting, I have to settle for a screenshot instead of vector output, and, until I did my own research, I wasn’t sure if it was biased.
Below is my current attempt (click to enlarge).
October 24th, 2013 at 8:19 am
Mike,
Does this plot show the theoretical peak performance of
(a) all cores on the various GPUs?
(b) all cores on the various CPUs?
Liam.
October 24th, 2013 at 8:36 am
Yes, theoretical peak performance for the entire device, either CPU or GPU.
February 10th, 2014 at 12:07 pm
I would like to add this really nice plot to my PhD thesis with a citation to this webpage. Hope that is fine with you.
February 10th, 2014 at 5:04 pm
Great! I put the code/data for generating the plot on GitHub (code requires IDL); that way you can generate a nice PS/PDF. Good luck!
February 11th, 2014 at 2:23 am
Nice! Thank you so much.
March 6th, 2016 at 12:25 pm
I am working on my masters Thesis on GPU computing, it would be great if you can permit me to add this plot in my thesis with a citation to this webpage. I hope that is fine with you.
March 6th, 2016 at 4:23 pm
Yes, of course! I’m glad it is useful to you.
March 21st, 2016 at 12:30 am
I want to use the plot in my thesis with a citation too, if you agree. Thank you.
March 21st, 2016 at 6:56 am
Sure!
April 26th, 2016 at 2:56 am
I would also like to use it in my master thesis. Are you okay with that?
I cant find a newer or updated plot, does anyone else?
Thank you
April 26th, 2016 at 6:28 am
You are welcome to use it. I haven’t added the most recent chips. If you find that data, I can regenerate the plot.
November 29th, 2016 at 11:49 am
I would like to use this graph in my engineering thesis, along with a citation to this webpage. Would you mind if I use it?
November 29th, 2016 at 9:44 pm
Sure! This GitHub repo has more up-to-date code and data than this post, but it’s still a bit stale. If you find numbers for more recent CPUs and GPUs, I would appreciate it.
December 11th, 2016 at 5:57 am
Many thanks, Michael!
February 6th, 2017 at 11:12 am
[…] CPU vs. GPU Performance, […]
March 20th, 2017 at 6:57 am
Hi, may I use your graph in my master thesis? Thank a lot!
March 20th, 2017 at 11:04 am
@Yu Liang, sure! Please give the website or GitHub repo a citation. Also, if you find any more recent data, please at least let me know and I will incorporate it into the graphs.
April 10th, 2017 at 8:36 am
Hi Michael,
I have seen from previous comments that you are okay with people referencing this information but thought I would double check that it’s still fine?
Really nice information here and it fits into my research perfectly. Thank you very much for your hard effort :)
April 10th, 2017 at 8:42 am
Sure, no problem — although I would use the code in GitHub because it has the most recent performance data. It produces the plots via IDL or Python.
February 19th, 2018 at 12:51 pm
Hi Michael,
Like everybody else I would like to add your graph to my PhD thesis. It says everything I need to say.
Provided I reference yourself – is it OK with you?
February 19th, 2018 at 4:27 pm
No problem, I’m glad it is useful. I would use the code in GitHub for the most recent data, though it still hasn’t been updated in awhile. If you have later additions, I would welcome them.
May 17th, 2018 at 5:25 am
Hi Michael,
I would like to use your graph in my bachelor thesis, too, if you don’t mind. Of course I would specify this website as source.
Thanks for your nice gestures,
Max
May 17th, 2018 at 11:12 am
No problem, please do! Use the code mentioned above on GitHub for the latest updates. The current data in the repo is starting to get a bit old, pull requests (or even just emailing me changes) with new data are welcome if you have either CPU or GPU data for the last couple years.
August 29th, 2018 at 5:36 am
Hi Michael,
First I would like to thank you for this great piece of info that you have worked on. I would like to include this data in my master thesis report with citation if you agree.
Thank You in advance !!
August 31st, 2018 at 7:25 am
@Akash No problem! Let me know if you have new data, I haven’t updated in a couple years now.
March 18th, 2019 at 6:03 pm
[…] CPU vs GPU performance. (?: Michael Galloy) […]
September 30th, 2020 at 5:37 am
Hi Michael,
graphs like this are so often needed and so rarely exist, so thank you for constructing this one! I am thinking about a paper where I would need to estimate peak performance of different hardware. Do you have notes/paper/post on how to calculate performance (in FLOP/s) of hardware like you did here?
There are good expnations of calculation (of different metrics but that involve hardware performance) by OpenAI here: https://openai.com/blog/ai-and-compute/#fn2
So I mean such kind of “how to” explanations :) If you can share anything on that matter it would be just great!
Best,
Kate
October 1st, 2020 at 5:34 pm
I don’t remember doing anything sophisticated when computing these performance values, just using the standard formula, such as in the FLOPS wikipedia article. And, of course, all my values were theoretical values, not observed.
December 16th, 2020 at 2:52 pm
Thank you !
Great graph and explanation on github , please I want to cite it ,and please tell me where can I get more new GPU and CPU architecture with new data 2017 to 2020 , like the same data in cvs files attached in the project ?
Thank you again .
December 16th, 2020 at 4:45 pm
You need to find the information about the new chips and then calculate the performance to put in the csv files in the project. If you do so, please consider contributing the new data back to the repo (open a pull-request).