13
$\begingroup$

I am reading papers in machine learning and they say things like, "This computation took $x$ number of GPU years".

What is a GPU year? How long is that?

$\endgroup$
  • 1
    $\begingroup$ A light-year is the distance traveled while moving at the speed of light; it's a fairly stable speed. A GPU year is the same idea only it is thoroughly unstable since new GPUs are release yearly so a GPU year from 15 years ago could easily be a GPU minute with today's hardware. $\endgroup$ – MonkeyZeus Oct 21 at 13:04
  • $\begingroup$ Can you provide a reference to a concrete example? It is unlikely that such a fuzzy term is used in academic literature without giving a further frame of reference. $\endgroup$ – ComicSansMS Oct 21 at 13:39
  • $\begingroup$ It's analogous to a CPU-second when measuring ordinary computations. $\endgroup$ – Barmar Oct 21 at 18:38
  • $\begingroup$ @ComicSansMS Sure. It's this paper, and it's on the footnote of the second page: $\endgroup$ – Frederic Chopin Oct 21 at 19:02
  • $\begingroup$ arxiv.org/abs/1711.10337 $\endgroup$ – Frederic Chopin Oct 21 at 19:02
27
$\begingroup$

That means, one year of computation time on a single GPU (or half a year on two GPUs, or a quarter of a year on four GPUs, etc.).

If you are thinking of using this term in your own writing, I encourage you to also specify what type of GPU you are using. One-GPU year on a Tesla V100 GPU is a lot more computation than one-GPU year on a K520 GPU. The notion of "GPU-year" is close to meaningless if you don't specify what type of GPU was used.

$\endgroup$
  • $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$ – Raphael Oct 22 at 1:34
2
$\begingroup$

The paper in question, as pointed out in the comments, contains the following footnote:

Reproducing these experiments requires approximately 6.85 GPU years (NVIDIA P100)

Note the mention of the exact GPU type that this statement is referring to in parentheses. This is vital information. As with most execution time measurements for software, you really only understand how fast it is, if you know what hardware it was measured on.

What that statement means is that a single machine with one of those NVIDIA P100 GPUs installed would need 6.85 years to reproduce the mentioned experiment. The time unit is completely meaningless unless you know which GPU it is referring to. A different GPU might need to spend a significantly different amount of time for the same task.

For example, a GPU twice as powerful as the P100 should be able to complete the same task in roughly half the time. In particular, an array of two P100 GPUs should be able to do so.

Note though that GPU work is not automatically parallelizable. If the underlying algorithm can not be parallelized arbitrarily, adding more GPUs will likely not decrease the time proportionally. If your algorithm does not behave like this, using GPU hours as a unit might be misleading. Prefer using wall clock time for measurements in such cases to avoid confusion.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.