In the third-generation Kepler architecture, the ratio of FP64 units to FP32 units is 1:3 or 1:24 There is a big difference in the ratio of the number of these two GPUs between different architectures and different models of Nvidia. Generally, Single Precision ALU, which supports single-precision operations in GPU, is called FP32 core or core for short, and the Double Precision ALU used for double-precision arithmetic is called DP unit or FP64 core. A simple comparison is that the current Intel CPU supports up to 24 cores, but the GPU supports thousands of cores at every turn.įor floating-point calculations, the CPU can support floating-point operations of different precisions at the same time, but in GPUs, separate calculation units are required for single-precision and double-precision. The GPU only needs to support a relatively single data type and Calculation method, so the calculation unit is smaller but more in number and more inclined to process data in parallel. The number of cores inside the CPU is small and the design is more inclined to process data sequentially. The biggest difference between CPU and GPU is the difference in the number of internal computing units and the different processing methods. For some applications such as machine learning that require lower precision, half-precision 16-bit floating-point numbers or even 8-bit floating-point numbers are sufficient. Because the use of the expression precision floating point number of different bits is not the same, so the calculation errors caused not the same for a large range of numbers to be processed and scientific calculations require accurate calculations, it would require the use of double precision floating point, and for For common multimedia and graphics processing calculations, 32-bit single-precision floating-point calculations are sufficient. Single-precision floating-point numbers use 4 bytes, which is 32-bit binary, to express a number, double-precision floating-point numbers use 8 bytes, which is 64bits, to express, of course, half-precision floating-point numbers use 16bits. The range of numbers that can be expressed by floating-point numbers under the same length is larger than that of fixed-point numbers, but floating-point numbers cannot accurately express all real numbers, but can only be expressed with closer different precisions. Floating-point counting uses a floating decimal point to represent a number with different lengths of binary, which corresponds to a fixed-point number. The concepts of half-precision, single-precision, and double-precision are defined in the IEEE 754 standard. Although the Linpack test only cares about double-precision floating-point computing capabilities, in other areas, sometimes more attention is paid to single-precision or even half-precision Floating point computing power. In fact, when it comes to floating-point computing capabilities, we must first distinguish floating-point numbers with different precisions.