Danh mục tài liệu

Hardware Acceleration of EDA Algorithms- P3

Số trang: 20      Loại file: pdf      Dung lượng: 255.36 KB      Lượt xem: 15      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Hardware Acceleration of EDA Algorithms- P3: Single-threaded software applications have ceased to see significant gains in performanceon a general-purpose CPU, even with further scaling in very large scaleintegration (VLSI) technology. This is a significant problem for electronic designautomation (EDA) applications, since the design complexity of VLSI integratedcircuits (ICs) is continuously growing. In this research monograph, we evaluatecustom ICs, field-programmable gate arrays (FPGAs), and graphics processors asplatforms for accelerating EDA algorithms, instead of the general-purpose singlethreadedCPU....
Nội dung trích xuất từ tài liệu:
Hardware Acceleration of EDA Algorithms- P32.12 Applications 19 GPUs targeting scientific computations can handle IEEE double precision float-ing point [6, 13] while providing peak performance as high as 900 Gflops. GPUs,unlike FPGAs and custom ICs, provide native support for floating point operations.2.11 Security and Real-Time ApplicationsIn industry practice, design details (including HDL code) are typically documentedto make reuse more convenient. At the same time, this makes IP piracy and infringe-ment easier. It is estimated that the annual revenue loss due to IP infringement inthe IC industry is in excess of $5 billion [42]. The goals of IP protection includeenabling IP providers to protect their IPs against unauthorized use, protecting alltypes of design data used to produce and deliver IPs, and detecting and tracing theuse of IPs [42]. FPGAs, because of their re-programmability, are becoming very popular for cre-ating and exchanging VLSI IPs in the reuse-based design paradigm [27]. Existingwatermarking and fingerprinting techniques embed identification information intoFPGA designs to deter IP infringement. However, such methods incur timing and/orresource overheads and cause performance degradation. Custom ICs offer muchbetter protection for intellectual property [33]. CPU/GPU software IPs have higher IP protection risks. The emerging trend isthat most IP exchange and reuse will be in the form of soft IPs because of thedesign flexibility they provide. The IP provider may also prefer to release soft IPsand leave the customer-dependent optimization process to the users [27]. From asecurity point of view, protecting soft IPs is a much more challenging task thanprotecting hard IPs. Soft IPs are hard to trace and therefore not preferred in highlysecure application scenarios. Compared to a CPU/GPU-based implementation, FPGA and custom IC designsare truly hard implementations. Software-based systems like CPUs and GPUs, onthe other hand, often involve several layers of abstraction to schedule tasks andshare resources among multiple processors or software threads. The driver layercontrols hardware resources and the operating system manages memory and pro-cessor utilization. For a given processor core, only one instruction can execute ata time, and hence processor-based systems continually run the risk of time-criticaltasks pre-empting one another. FPGAs and custom ICs, which do not use operatingsystems, minimize these concerns with true parallel execution and dedicated hard-ware. As a consequence, FPGA and custom IC implementations are more suitablefor applications that demand hard real-time computation guarantees.2.12 ApplicationsCustom ICs are a good match for space, military, and medical compute-intensiveapplications, where the footprint and weight constraints are tight. Due to their high20 2 Hardware Platformsperformance, several DSP-based applications make use of custom-designed ICs.A custom IC designer can create highly efficient special functions such as arithmeticunits, multi-port memories, and a variety of non-volatile storage units. Due to theircost and high performance, custom IC implementations are best suited for high-volume and high-performance applications. Applications for FPGA are primarily hybrid software/hardware-embedded appli-cations including DSP, video processing, robotics, radar processing, secure commu-nications, and many others. These applications are often instances of implementingnew and evolving standards, where the cost of designing custom ICs cannot be jus-tified. Further, the performance obtained from high-end FPGAs is reasonable. Ingeneral, FPGA solutions are used for low-to-medium volume applications that donot demand extreme high performance. GPUs are an upcoming field, but have already been used for accelerating scien-tific computations in fluid mechanics, image processing, and financial applicationsamong other areas. The number of commercial products using GPUs is currentlylimited, but this might change due to newer architectures and high-level languagesthat make it easy to program the powerful hardware.2.13 Chapter SummaryIn recent times, due to the power, memory, and ILP walls, single-threaded appli-cations do not see any significant gains in performance. Existing hardware-basedaccelerators such as custom-designed ICs, reconfigurable hardware such as FPGAs,and streaming processors such as GPUs are being heavily investigated as potentialsolutions. In this chapter we discussed these hardware platforms and pointed outseveral key differences among them. In the next chapter we discuss the CUDA programming environment, used forinterfacing with the GPUs. We describe the hardware, memory, and programmingmodels for the GPU devices used in this monograph. This discussion is intended toserve as background material for the reader, to ease the explanation of the detailsof the GPU-based implementations of several EDA algorithms described in thismonograph.References 1. ATI CrossFire. http://ati.amd.com/technology/crossfire/features.html 2. ATI Stream Computing. http://ati.amd.com/technology/streamcomputing/ sdkdwnld.html 3. CORE Generator System. http://www.xilinx.com/products/design-tools/ logic-design/design-entry/coregenerator.htm 4. CUDA Zone. http://www.nvidia.com/object/cuda.html 5. FPGA-based hardware acceleration of C/C++ based applications. http://www. pldesignline.com/howto/201800344References 21 6. Industry’s First GPU with Double-Precision Floating Point. http://ati.amd.com/ products/streamprocessor/specs.html 7. Intel Nehalem (microarchitecture). http://en.wikipedia.org/wiki/Nehalem- CPU-arc ...