3

I'm reading this Dr Dobb's Article on CUDA

In my system, the global memory bandwidth is slightly over 60 GB/s. This is excellent until you consider that this bandwidth must service 128 hardware threads -- each of which can deliver a large number of floating-point operations. Since a 32-bit floating-point value occupies four (4) bytes, global memory bandwidth limited applications on this hardware will only be able to deliver around 15 GF/s -- or only a small percentage of the available performance capability.

Question: GF/s means Giga flops per second??

andandandand
  • 21,946
  • 60
  • 170
  • 271
  • 1
    The PS in FLOPS stands for "per second" and `FLOPS per second` is hence like `spped per second` or `hertz per second`. If you mean floating point operations per second, that's already FLOPS. –  Oct 11 '11 at 20:44
  • 2
    GF/s would be the *acceleration* of floating point operations. – Ben Jackson Oct 11 '11 at 20:53
  • and GF/s may be abbreviation of GigaFlop/s or GigaFLOPS. And this abbreviation is a bit better than just abstract "GF" – osgx Oct 11 '11 at 20:56

3 Answers3

2

Giga flops per second would be it!

1

GF/s or GFLOPS is GigaFlops or 10^9 FLoating Operations Per Second. (GF/s is bit unusual abbreviation of GigaFLOP/S = GigaFLOPS, see e.g. here "Gigaflops (GF/s) = 10^9 flops" or here "gigaflops per second (GF/s)").

And it is clear for me that GF/s is not GFLOPS/s (not an acceleration).

You should remember that floating operation on CPU and on GPU usually counted in different way. For most CPU, 64-bit floating point format operations are counted usually. And for GPU - 32 bit, because GPU have much more performance in 32bit floating point.

What types of operations are counted? Addition, subtraction and multiplication are. Loading and storing data are not counted. But loading and storing data is necessary to get data from/to memory and sometimes it will limit FLOPS achieved in real application (the article you cited says about this case, "memory bandwidth limited application", when CPU/GPU can deliver lot of FLOPS but memory can't read needed data so fast)

How FLOPS are counted for some chip or computer? There are two different metrics, one is for theoretical upper limit of FLOPS for this chip. It is counted by multipliing cores number, frequency of chip and floating point operations per CPU tick (it was 4 for Core2 and is 8 for Sandy Bridge CPUs).

Other metric is something like real-world flops, which are counted by running LINPACK benchmark (solving a huge linear system of equations). This benchmark uses matrix-matrix multiplication a lot and is kind of approximation of real-world flops. Top500 of supercomupters are measured by parallel version of LINPACK banchmark, the HPL. For single CPU, linpack can have up to 90-95% of theoretical flops, and for huge clusters it is in 50-85% range.

osgx
  • 90,338
  • 53
  • 357
  • 513
-1

GF in this case is GigaFLOPS, but FLOPS is "floating point operations per second". I'm fairly certain that the author does not mean F/s to be "floating point operations per second per second", so GF/s is actually an error. (Unless you are talking about a computer that increases performance at runtime, I guess) The author probably means GFLOPS.

tkerwin
  • 9,559
  • 1
  • 31
  • 47
  • I don't think it's an error, per se. It seems like the fundamental source of discrepancy is whether FLOPS stands for "FLoating point Operations Per Second" or "FLoating point OPerationS". In the former case, speed would be measured in FLOPS, whereas in the latter case, speed is measured in FLOPS/s. Capitalization is sometimes used to emphasize the distinction... in particular, flops usually stands for "floating point operations". – Patrick87 Oct 11 '11 at 20:53
  • In other words, you're assuming the `F` stands for a full `FLOPS`, but as others have noted, it may be abbreviation for the `FLO` part. –  Oct 11 '11 at 21:00
  • I could see the use of "FLOPs" as meaning the plural of "Floating point operation", but the term GFLOPS/s or GF/s is not widely used in the HPC community. – tkerwin Oct 11 '11 at 21:01
  • 1
    Well, in my opinion it makes more sense than assuming the author sneaked in both an unusual (or so it seems, given the confusion that arises) abbreviation and a wrong unit of measurement. Edit to clairfy: I for one am not saying `GF/s == GigaFLOPS/s` where `FLOPS` is "FLoating point OPerationS" or something. I'm saying `GF` may be `1^9 FLOP == 10^9 FLoating point OPerations` (that abbreviation is even in osgx's quote) and the `1/s` makes it GFLOPS. –  Oct 11 '11 at 21:03
  • @tkerwin: While it's not widely used, people do use it, and it can be tempting to use GFlops/s if you have been discussing the number of floating point operations something takes before you talk about how fast your hardware can compute. Note that I'm not endorsing this, just pointing out that there's a difference between "unusual" and "incorrect". – Patrick87 Oct 11 '11 at 21:16
  • If we will consider this question as question about cited dobbs article, and about its author, we can note a link to [more basic his article](http://www.scientificcomputing.com/hpc-balance-and-common-sense.aspx) where he uses "FLOP/s" notation. – osgx Oct 11 '11 at 21:20
  • @delnan: Notice that I was commenting on tkerwin, who makes the claim that GF = GFLOPS = billion flops per second, so the author made an error. I was simply pointing out that even if you admit that GF = GFLOPS, there's not necessarily an error, perhaps just a less common usage. In other words, whether GF stands for GFLOP or GFlops or Gflops or whatever is irrelevant... the meaning - number of floating point operations per second in billions of operations per second - is clear if you understand what a flop is and how it's used, so it's not really genuine to call it an "error". – Patrick87 Oct 11 '11 at 21:21
  • 1
    @osgx: Not sure where the hostility is coming from or the assumption that I don't know what I'm talking about. I read a fair amount of HPC and scientific computing literature, and although I agree that FLOPS and FLOP/s are pretty standard, I don't think I'd go so far as to call GF/s an "error"... the usage is almost always unambiguous given the context, especially considering that - as somebody pointed out - floating point operations per second per second is typically not a usual thing to measure. – Patrick87 Oct 11 '11 at 21:26
  • Wow. I still think it's an error that is unambiguous (like ATM machine or PIN number) and shouldn't be used in formal writing. I guess other people feel strongly enough about it to give me a downvote though. – tkerwin Oct 11 '11 at 22:04