The Leading Source for Global News and Information Covering the Ecosystem of High Productivity Computing
May 14, 2008
A year ago the article "FPGA Floating Point Performance -- a pencil and paper evaluation" was published in HPCwire showing a method for comparing the peak 64-bit floating-point performance between FPGAs and Opteron processors. The article showed that the theoretical peak performance of the Virtex-4 LX200 was about 50 percent better than the then current dual-core Opteron. Since that article, a follow-up whitepaper from Altrea added refinements to the calculations to make them more realistic, which dropped the 64-bit floating-point performance of the LX200 to about equal to that of the 2.5 GHz dual-core Opteron for matrix multiply.
A year later, we now have generally available 2.5 GHz quad-core Opterons and Virtex-5 LX330, SX95T and recently announced SX240T FPGAs. In addition to this, Xilinx is releasing a new version of their floating-point cores that reduces the amount of logic and DSP slices needed for building floating-point function units. Taken together it is time to revisit Opteron floating-point performance versus FPGA performance.
Using the same assumptions as before, the peak performance of a microprocessor is given as the number of floating-point results per clock, times the number of cores, times the clock frequency. For the quad-core Opteron, this equates to a theoretical peak of (4 ops/clk * 4 cores * 2.5 GHz) 40 Gflop/s in 64-bit mode and 80 Gflop/s in 32-bit mode. For actual predicted performance, microprocessors use DGEMM (64-bit matrix multiply), which is typically 80 percent to 90 percent lower then the peak.
For FPGAs, the peak can be represented as the available logic on the device divided by the amount of logic needed to build a function unit, times the maximum clock frequency those function units will run at. Calculating this peak is more involved since there are several ways one can implement function units, using different ratios of logic and DSP resources. The microprocessors are also forced to yield an "add" and a "mult" every clock cycle, whereas the FPGA's ratio of "add" to "mult" can be varied, creating multiple peak performances.
To calculate the FPGA's actual performance level, first we need to remove a section of logic to be used for the interface to the microprocessor and the logic needed for memory controllers. Using the data from the DRC's data sheet, we see that an interface can use as much at 20,000 LUTs. For the calculations in the table below, 20,000 LUTs and 20,000 FFs have been subtracted from the devices for this interface. Next, as mentioned in the Altera whitepaper, the total amount of LUTs and FFs are further reduced by removing another 33 percent of the logic for routing. Finally, the clock frequency at which the device will run the function units is the minimum of the clock frequencies for all the floating-point cores placed on the device. This clock frequency is then further reduced by 15 percent for routing and timing considerations.
Since we're looking at multiple FPGAs and multiple ratios of "add" to "mult", a pencil and paper calculation quickly gets tedious. Looking at three FPGA devices (LX330, SX95T, SX240T), two floating-point precisions (64-bit and 32-bit), and six implementations of a function unit, "add" (full and logic) and "mult" (max, full, medium, logic), a program was written to exhaustively try every combination of function units for the two precisions and found the maximum number of function units that would fit on each device. The program then calculates the frequency at which those function units would run and the Gflop/s performance for each configuration, saving the best configuration for different ratios of "add" to "mult". The table shows the outcome of these calculations along with speedup values over the reference quad-core Opteron.
Predicted Performance
GFLOPS (64-bits) Speedup over Opteron
Opteron LX330 SX95T SX240T LX330 SX95T SX240T
all add 17.00 32.96 8.99 29.97 1.94 0.53 1.76
8-add:1-mult 19.13 33.77 8.99 29.97 1.77 0.47 1.57
4-add:1-mult 21.25 28.14 8.32 32.10 1.32 0.39 1.51
2-add:1-mult 25.50 21.71 9.99 34.97 0.85 0.39 1.37
1-add:1-mult 34.00 18.89 11.32 39.29 0.56 0.33 1.16
1-add:2-mult 25.50 16.28 12.99 42.37 0.64 0.51 1.66
1-add:4-mult 21.25 15.07 13.32 43.33 0.71 0.63 2.04
1-add:8-mult 19.13 14.47 14.98 40.45 0.76 0.78 2.12
all mult 17.00 13.47 17.75 37.56 0.79 1.04 2.21
best 34.30 17.75 44.94
GFLOPS (32-bits) Speedup over Opteron
Opteron LX330 SX95T SX240T LX330 SX95T SX240T
all add 34.00 85.09 24.01 80.39 2.50 0.71 2.36
8-add:1-mult 38.25 87.43 25.06 84.56 2.29 0.66 2.21
4-add:1-mult 42.50 90.45 27.84 92.22 2.13 0.66 2.17
2-add:1-mult 51.00 94.47 31.32 104.40 1.85 0.61 2.05
1-add:1-mult 68.00 89.04 36.19 122.50 1.31 0.53 1.80
1-add:2-mult 51.00 88.72 43.85 141.98 1.74 0.86 2.78
1-add:4-mult 42.50 81.81 53.94 149.64 1.92 1.27 3.52
1-add:8-mult 38.25 79.08 62.64 153.47 2.07 1.64 4.01
all mult 34.00 79.69 75.17 162.52 2.34 2.21 4.78
best 94.47 75.17 162.52
As an example of one of these data points, the 64-bit performance for an equal ratio of "add" to "mult" is calculated by placing 59 full "add"s and 59 max "mult"s. This design uses (59*730 + 59*327) 62,363 LUTs, (59*957 + 59*504) 86,199 FFs, and (59*3 + 59*11) 826 DSP slices and runs at a the discounted clock frequency of 333 MHz. These resources are all less than what is available on the SX240T device, LUTs (149,760-20,000)*(2/3) 86,506, FFs (149,760-20,000)*(2/3) 86,506, and DSP 1056, with the FFs being the limiting factor.
Even though the Opteron has increased its performance 4x from the dual-core (2x ops/clk and 2x in cores), the current FPGAs are still able to keep pace with Opterons. Even at the Opteron's optimal design point of an "add" and "mult" per clock, the SX240T is still 1.16 better at 64-bits and 1.80x at 32-bit results. More notable is how the FPGA's speedup over Opteron gets better as the ratio of "add" to "mult" moves away from this optimal design point. In the best cases the SX240T running an algorithm using only 64-bit floating-point "add" is 1.76x faster and an algorithm using only "mult" would be 2.21x faster. With 32-bit floating-point numbers in the all "mult" situation, the SX240T is 4.78x faster.
Page: 1 of 2(Digg, Technorati, more)
Platform HPC Workgroup Manager
Platform HPC Workgroup Manager integrates all the cluster productivity tools you need to deploy, run and manage your HPC environment.
Mar 16 | Bio-IT World | Biotech firm builds genetic models from patient data. Read more...
Mar 15 | The Register | EMC's grand vision for unified global storage. Read more...
Mar 15 | Data Center Knowledge | Company delivers UCS-container solution to NASA. Read more...
Mar 11 | Linux Magazine | CUDA may be the rage, but OpenCL is a standard that has some features you may need. Read more...
Mar 09 | Free Software Magazine | Data-driven computing will need open software. Read more...
Jan 12 | | In-depth look at vSMP Foundation server virtualization technology, technical implementation, use cases and capabilities. The technical whitepaper provides an architectural overview and details on the three vSMP Foundation products: vSMP Foundation for SMP, vSMP Foundation for Cluster and vSMP Foundation for Cloud.
Jan 18 | | This white paper discusses Gore’s copper cable assemblies, and how they continue to exceed the standards for providing reliable, cost-effective solutions for high-performance computer applications.
Join this online panel discussion for live Q&A with leading industry experts, analysts, and end-users to discuss the latest innovations, best practices, barriers to implementation, and measurable benefits of server virtualization with a particular focus on today's real world solutions.
Learn about scalable fault-tolerant architectures and examples of energy efficient and scalable supercomputing clusters using dual QDR InfiniBand to combine capacity computing with network failover capabilities with the help of programming languages such as MPI and a robust Linux cluster management package.
LIVE@SCO9: The IBM team discusses new innovations in hardware, software and services that help clients better understand their workloads and get insight from their R&D efforts. Technology demonstrations include the soon-to-be-released Power7 HPC processor, the DCS990 system with 2.4 petabytes of storage, the xCAT management tool, secure HPC cloud computing and more. Winners of two HPCwire Readers' and Editors’ Choice Awards! Take the IBM virtual tour at SC09 or more information go online to: http://www-03.ibm.com/systems/deepcomputing/sc09.html