Parallelizing Digital Signal Processing for GPU ______Hannes Ekstam Ljusegren Hannes Jonsson

Total Page:16

File Type:pdf, Size:1020Kb

Parallelizing Digital Signal Processing for GPU ______Hannes Ekstam Ljusegren Hannes Jonsson Linköpings universitet | Institutionen för datavetenskap Examensarbete på grundnivå, 16 hp | Datateknik Vårterminen 2020 | LIU-IDA/LITH-EX-G-20/033-SE Parallelizing Digital Signal Processing for GPU _______________ Hannes Ekstam Ljusegren Hannes Jonsson Supervisor: George Osipov ​ Examiner: Peter Jonsson External Supervisors: Fredrik Bjurefors & Daniel Fransson Linköpings universitet SE-581 83 Linköping 013-28 10 00, www.liu.se ​ Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under 25 år från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/. ​ Copyright The publishers will keep this document online on the Internet – or its possible replacement – for a period of 25 years starting from the date of publication barring exceptional circumstances. The online availability of the document implies permanent permission for anyone to read, to download, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: http://www.ep.liu.se/. ​ © Hannes Ekstam Ljusegren © Hannes Jonsson 1 Abstract Because of the increasing importance of signal processing in today's society, there is a need to easily experiment with new ways to process signals. Usually, fast-performing digital signal processing is done with special-purpose hardware that are difficult to develop for. GPUs pose an alternative for fast performing digital signal processing. The work in this thesis is an analysis and implementation of a GPU version of a digital signal processing chain provided by SAAB. Through an iterative process of development and testing, a final implementation was achieved. Two benchmarks, both comprised of 4.2 M test samples, were made to compare the CPU implementation with the GPU implementation. The benchmark was run on three different platforms: a desktop computer, a NVIDIA Jetson AGX Xavier and a NVIDIA Jetson TX2. The results show that the parallelized version can reach several magnitudes higher throughput than the CPU implementation. 2 Table of Contents Abstract 2 1. Introduction 5 1.1 Background 5 1.2 Problem Statement 6 2. Theory 6 2.1 Digital Processing Chain 6 2.1.1 Electromagnetic Waves 7 2.1.2 ADC Sampling 7 2.1.3 Fourier Transform 7 2.1.4 Window Function 8 2.1.5 Window Overlap 9 2.1.6 WOLA 9 2.1.7 Batching 9 2.1.8 Pulse Detection 10 2.2 Hardware 10 2.2.1 Central Processing Unit 10 2.2.2 Graphics Processing Unit 10 2.2.3 NVIDIA Jetson AGX Xavier 11 2.2.4 Air-T NVIDIA Jetson TX2 11 2.3 Software 11 2.3.1 Compute Unified Device Architecture 11 2.3.2 CUFFT 12 2.3.3 NVIDIA profiler 12 2.4 Related Works 12 3. Method 13 3.1 Parallelizing DP-chain 13 3.2 Benchmarks 13 3.3 Hardware Setup 14 3.4 Software Setup 14 4. Results 15 4.1 Parallelizing DP-chain 15 4.2 Benchmarks 16 5. Discussion 20 5.1 Batch Size 20 5.2 Latency Sacrifice 21 5.3 Pulse Activity Dependence 21 5.4 Throughput Deviation 21 3 5.5 Jetson Optimizations 21 5.6 Power Mode Divergences 22 5.7 Criticism of Methodology 22 5.8 Credibility of Sources 23 5.9 Ethics 23 6. Conclusion 23 References 24 4 1. Introduction 1.1 Background Signal processing is an important part of many applications today, such as: audio manipulation, image processing, data compression techniques, radar and many more. In a lot of these cases the processing of signal data needs to be carried out very fast. For instance, when using radar in an airplane or a naval vessel it is of vital importance to quickly identify a recorded signal. Consequently, the usual solution of using a central processing unit (CPU) to carry out the computations is generally not enough to reach the desired performance requirements [1]. Therefore, the usage of special purpose hardware is common when there is a need for time-critical signal processing. Traditionally, signal processing has mainly been computed on highly specialized digital signal processors and field-programmable gate arrays (FPGA) due to their low energy consumption combined with high computational power. A drawback when using these technologies is their high development cost, which is caused by the difficulties and required technical knowledge to utilize parallel programming [1]. Graphics processing units (GPU) provide opportunities to lower the development cost [1] and could possibly be used as a replacement for signal processing computations. GPUs are rapidly improving in performance and efficiency. With its highly parallel structure, it makes for an excellent general-purpose computing unit, especially for large independent data sets as seen in computer graphics- and image processing. The modern GPU manufacturers also allow connecting several GPUs to work in unison, further increasing performance. Furthermore, GPUs are relatively simple to work with, using libraries such as CUDA and OpenCL. GPUs are also relatively cheap, both in terms of price and development cost compared to DSPs and FPGAs. [2] GPUs and FPGAs both have in common that they efficiently compute in parallel. Despite that, FPGAs still outperform the GPUs at some specialized tasks in terms of processing speed and generally require less power and are thus widely used in many areas. Saab works with special-purpose hardware to perform signal processing efficiently. But, because of the higher development costs associated with developing for special purpose hardware, they are looking for other ways that are easier to work with to speed up development and the possibility to test new functionality. Previously, a software-based implementation has been under development which would ease prototyping of new solutions. The first part of the thesis work would be to revise certain parts of the software-based implementation to enable GPU utilization. The second part of the thesis is to compare their current software implementation with a parallelized approach with GPUs on a number of platforms. 5 1.2 Problem Statement The signal processing chain has three steps, an analog-to-digital converter, a channelizer and a pulse detector. The digital processing chain (DP-chain) is only the channelizer and the pulse detector part. The analog-to-digital converter receives an electromagnetic wave from an antenna and converts it to digital samples. The samples are fed into the channelizer which consists of a window function and a Fast Fourier Transform (FFT). The channelizer produces bins which represent how well the samples correlate to a certain frequency bandwidth. The final step is a pulse detector that takes the information in the frequency bins from the FFT and attempts to detect pulses. These steps will be explained in further detail in chapter 2. The study contains the following research questions: 1. What parts of the DP-chain are parallelizable on GPU? 2. How does the parallelized DP-chain perform in comparison to the CPU implementation? The platforms that were used include two embedded computer modules and a desktop computer. The two embedded computer modules were the NVIDIA Jetson AGX Xavier and an AIR-T platform with a NVIDIA Jetson TX2. The desktop had a NVIDIA RTX 2080 Super GPU and an i9-9900 CPU. The chain was also measured using different power modes on the Jetson platforms. 2. Theory To develop a parallel digital processing chain, some theory needs to be understood. This chapter will go through related works and the theory behind the digital processing chain will be explained. 2.1 Digital Processing Chain In this part, the entire digital DP-chain will be discussed, including details and the theory. The DP-chain is the channelizer and the pulse detector of the signal processing chain. Figure 1 shows the signal processing chain. 6 Figure 1. Visualization of the signal processing chain. Each step shows its input and output. The digital signal processing chain contains two major parts, the channelizer and the pulse detector. However, the channelizer has been split up into smaller parts containing the window function and FFT. 2.1.1 Electromagnetic Waves The phenomenon of an electromagnetic wave arises because a changing magnetic field induces a changing electric field, which in turn induces a magnetic field and so on. This process continues and the wave propagates through space at a constant speed. Electromagnetic waves, unlike usual mechanical waves, do not need a medium to travel through. The speed at which an electromagnetic wave travels is the speed of light, which is approximately 3 · 108 m/s.
Recommended publications
  • Accelerating HPL Using the Intel Xeon Phi 7120P Coprocessors
    Accelerating HPL using the Intel Xeon Phi 7120P Coprocessors Authors: Saeed Iqbal and Deepthi Cherlopalle The Intel Xeon Phi Series can be used to accelerate HPC applications in the C4130. The highly parallel architecture on Phi Coprocessors can boost the parallel applications. These coprocessors work seamlessly with the standard Xeon E5 processors series to provide additional parallel hardware to boost parallel applications. A key benefit of the Xeon Phi series is that these don’t require redesigning the application, only compiler directives are required to be able to use the Xeon Phi coprocessor. Fundamentally, the Intel Xeon series are many-core parallel processors, with each core having a dedicated L2 cache. The cores are connected through a bi-directional ring interconnects. Intel offers a complete set of development, performance monitoring and tuning tools through its Parallel Studio and VTune. The goal is to enable HPC users to get advantage from the parallel hardware with minimal changes to the code. The Xeon Phi has two modes of operation, the offload mode and native mode. In the offload mode designed parts of the application are “offloaded” to the Xeon Phi, if available in the server. Required code and data is copied from a host to the coprocessor, processing is done parallel in the Phi coprocessor and results move back to the host. There are two kinds of offload modes, non-shared and virtual-shared memory modes. Each offload mode offers different levels of user control on data movement to and from the coprocessor and incurs different types of overheads. In the native mode, the application runs on both host and Xeon Phi simultaneously, communication required data among themselves as need.
    [Show full text]
  • Intel Cirrascale and Petrobras Case Study
    Case Study Intel® Xeon Phi™ Coprocessor Intel® Xeon® Processor E5 Family Big Data Analytics High-Performance Computing Energy Accelerating Energy Exploration with Intel® Xeon Phi™ Coprocessors Cirrascale delivers scalable performance by combining its innovative PCIe switch riser with Intel® processors and coprocessors To find new oil and gas reservoirs, organizations are focusing exploration in the deep sea and in complex geological formations. As energy companies such as Petrobras work to locate and map those reservoirs, they need powerful IT resources that can process multiple iterations of seismic models and quickly deliver precise results. IT solution provider Cirrascale began building systems with Intel® Xeon Phi™ coprocessors to provide the scalable performance Petrobras and other customers need while holding down costs. Challenges • Enable deep-sea exploration. Improve reservoir mapping accuracy with detailed seismic processing. • Accelerate performance of seismic applications. Speed time to results while controlling costs. • Improve scalability. Enable server performance and density to scale as data volumes grow and workloads become more demanding. Solution • Custom Cirrascale servers with Intel Xeon Phi coprocessors. Employ new compute blades with the Intel® Xeon® processor E5 family and Intel Xeon Phi coprocessors. Cirrascale uses custom PCIe switch risers for fast, peer-to-peer communication among coprocessors. Technology Results • Linear scaling. Performance increases linearly as Intel Xeon Phi coprocessors “Working together, the are added to the system. Intel® Xeon® processors • Simplified development model. Developers no longer need to spend time optimizing data placement. and Intel® Xeon Phi™ coprocessors help Business Value • Faster, better analysis. More detailed and accurate modeling in less time HPC applications shed improves oil and gas exploration.
    [Show full text]
  • Power Measurement Tutorial for the Green500 List
    Power Measurement Tutorial for the Green500 List R. Ge, X. Feng, H. Pyla, K. Cameron, W. Feng June 27, 2007 Contents 1 The Metric for Energy-Efficiency Evaluation 1 2 How to Obtain P¯(Rmax)? 2 2.1 The Definition of P¯(Rmax)...................................... 2 2.2 Deriving P¯(Rmax) from Unit Power . 2 2.3 Measuring Unit Power . 3 3 The Measurement Procedure 3 3.1 Equipment Check List . 4 3.2 Software Installation . 4 3.3 Hardware Connection . 4 3.4 Power Measurement Procedure . 5 4 Appendix 6 4.1 Frequently Asked Questions . 6 4.2 Resources . 6 1 The Metric for Energy-Efficiency Evaluation This tutorial serves as a practical guide for measuring the computer system power that is required as part of a Green500 submission. It describes the basic procedures to be followed in order to measure the power consumption of a supercomputer. A supercomputer that appears on The TOP500 List can easily consume megawatts of electric power. This power consumption may lead to operating costs that exceed acquisition costs as well as intolerable system failure rates. In recent years, we have witnessed an increasingly stronger movement towards energy-efficient computing systems in academia, government, and industry. Thus, the purpose of the Green500 List is to provide a ranking of the most energy-efficient supercomputers in the world and serve as a complementary view to the TOP500 List. However, as pointed out in [1, 2], identifying a single objective metric for energy efficiency in supercom- puters is a difficult task. Based on [1, 2] and given the already existing use of the “performance per watt” metric, the Green500 List uses “performance per watt” (PPW) as its metric to rank the energy efficiency of supercomputers.
    [Show full text]
  • Towards Better Performance Per Watt in Virtual Environments on Asymmetric Single-ISA Multi-Core Systems
    Towards Better Performance Per Watt in Virtual Environments on Asymmetric Single-ISA Multi-core Systems Viren Kumar Alexandra Fedorova Simon Fraser University Simon Fraser University 8888 University Dr 8888 University Dr Vancouver, Canada Vancouver, Canada [email protected] [email protected] ABSTRACT performance per watt than homogeneous multicore proces- Single-ISA heterogeneous multicore architectures promise to sors. As power consumption in data centers becomes a grow- deliver plenty of cores with varying complexity, speed and ing concern [3], deploying ASISA multicore systems is an performance in the near future. Virtualization enables mul- increasingly attractive opportunity. These systems perform tiple operating systems to run concurrently as distinct, in- at their best if application workloads are assigned to het- dependent guest domains, thereby reducing core idle time erogeneous cores in consideration of their runtime proper- and maximizing throughput. This paper seeks to identify a ties [4][13][12][18][24][21]. Therefore, understanding how to heuristic that can aid in intelligently scheduling these vir- schedule data-center workloads on ASISA systems is an im- tualized workloads to maximize performance while reducing portant problem. This paper takes the first step towards power consumption. understanding the properties of data center workloads that determine how they should be scheduled on ASISA multi- We propose that the controlling domain in a Virtual Ma- core processors. Since virtual machine technology is a de chine Monitor or hypervisor is relatively insensitive to changes facto standard for data centers, we study virtual machine in core frequency, and thus scheduling it on a slower core (VM) workloads. saves power while only slightly affecting guest domain per- formance.
    [Show full text]
  • Comparing the Power and Performance of Intel's SCC to State
    Comparing the Power and Performance of Intel’s SCC to State-of-the-Art CPUs and GPUs Ehsan Totoni, Babak Behzad, Swapnil Ghike, Josep Torrellas Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL 61801, USA E-mail: ftotoni2, bbehza2, ghike2, [email protected] Abstract—Power dissipation and energy consumption are be- A key architectural challenge now is how to support in- coming increasingly important architectural design constraints in creasing parallelism and scale performance, while being power different types of computers, from embedded systems to large- and energy efficient. There are multiple options on the table, scale supercomputers. To continue the scaling of performance, it is essential that we build parallel processor chips that make the namely “heavy-weight” multi-cores (such as general purpose best use of exponentially increasing numbers of transistors within processors), “light-weight” many-cores (such as Intel’s Single- the power and energy budgets. Intel SCC is an appealing option Chip Cloud Computer (SCC) [1]), low-power processors (such for future many-core architectures. In this paper, we use various as embedded processors), and SIMD-like highly-parallel archi- scalable applications to quantitatively compare and analyze tectures (such as General-Purpose Graphics Processing Units the performance, power consumption and energy efficiency of different cutting-edge platforms that differ in architectural build. (GPGPUs)). These platforms include the Intel Single-Chip Cloud Computer The Intel SCC [1] is a research chip made by Intel Labs (SCC) many-core, the Intel Core i7 general-purpose multi-core, to explore future many-core architectures. It has 48 Pentium the Intel Atom low-power processor, and the Nvidia ION2 (P54C) cores in 24 tiles of two cores each.
    [Show full text]
  • NVIDIA Ampere GA102 GPU Architecture Whitepaper
    NVIDIA AMPERE GA102 GPU ARCHITECTURE Second-Generation RTX Updated with NVIDIA RTX A6000 and NVIDIA A40 Information V2.0 Table of Contents Introduction 5 GA102 Key Features 7 2x FP32 Processing 7 Second-Generation RT Core 7 Third-Generation Tensor Cores 8 GDDR6X and GDDR6 Memory 8 Third-Generation NVLink® 8 PCIe Gen 4 9 Ampere GPU Architecture In-Depth 10 GPC, TPC, and SM High-Level Architecture 10 ROP Optimizations 11 GA10x SM Architecture 11 2x FP32 Throughput 12 Larger and Faster Unified Shared Memory and L1 Data Cache 13 Performance Per Watt 16 Second-Generation Ray Tracing Engine in GA10x GPUs 17 Ampere Architecture RTX Processors in Action 19 GA10x GPU Hardware Acceleration for Ray-Traced Motion Blur 20 Third-Generation Tensor Cores in GA10x GPUs 24 Comparison of Turing vs GA10x GPU Tensor Cores 24 NVIDIA Ampere Architecture Tensor Cores Support New DL Data Types 26 Fine-Grained Structured Sparsity 26 NVIDIA DLSS 8K 28 GDDR6X Memory 30 RTX IO 32 Introducing NVIDIA RTX IO 33 How NVIDIA RTX IO Works 34 Display and Video Engine 38 DisplayPort 1.4a with DSC 1.2a 38 HDMI 2.1 with DSC 1.2a 38 Fifth Generation NVDEC - Hardware-Accelerated Video Decoding 39 AV1 Hardware Decode 40 Seventh Generation NVENC - Hardware-Accelerated Video Encoding 40 NVIDIA Ampere GA102 GPU Architecture ii Conclusion 42 Appendix A - Additional GeForce GA10x GPU Specifications 44 GeForce RTX 3090 44 GeForce RTX 3070 46 Appendix B - New Memory Error Detection and Replay (EDR) Technology 49 Appendix C - RTX A6000 GPU Perf ormance 50 List of Figures Figure 1.
    [Show full text]
  • Using Intel Processors for DSP Applications
    Using Intel® Processors for DSP Applications: Comparing the Performance of Freescale MPC8641D and Two Intel Core™2 Duo Processors Mike Delves N.A. Software Ltd David Tetley GE Fanuc Intelligent Platforms Introduction The high performance embedded DSP processor market has moved steadily over the past decade from one dominated by specialised fixed point processors towards those with recognisable similarities to the general- purpose processor market: DSP processors have provided floating point, substantial caches, and capable C/C++ compilers, as well as SIMD (Single Instruction Multiple Data) features providing fast vector operations. The inclusion of SIMD features to general purpose processors has led to them replacing specialised DSPs in many high performance embedded applications (such as Radar, SAR, SIGINT and image processing). Indeed, probably the most widely used general purpose processor for DSP in the past five years is the PowerPC family, which was used for a long while in the Apple range of PCs. The G4 generation of the PowerPC has dominated the embedded high performance computing market for over 8 years.If the PowerPC can be accepted both in the general-purpose and the embedded DSP markets, what about other processor families? This question is motivated by the very fast rate of development of general- purpose silicon over the past four years: faster cycle times, larger caches, faster front side buses, lower-power variants, multi-core technology, vector instruction sets, and plans for more of everything well into the future, with development funded by the huge general-purpose market. Here, we look in particular at how well the current family of Intel® low power processors perform against the PowerPC.
    [Show full text]
  • Quantitative Analysis Modern Processor Design: Fundamentals of Superscalar Processors
    Chapter 1: Quantitative Analysis Modern Processor Design: Fundamentals of Superscalar Processors Mark Heinrich School of Computer Science University of Central Florida Define and quantify power ( 1 / 2) • For CMOS chips, traditional dominant energy consumption has been in switching transistors, called dynamic power 2 Powerdynamic = 1/ 2 × CapacitiveLoad ×Voltage × FrequencySwitched • For mobile devices, energy better metric 2 Energydynamic = CapacitiveLoad ×Voltage • For a fixed task, slowing clock rate (frequency switched) reduces power, but not energy • Capacitive load is a function of number of transistors connected to output and technology, which determines capacitance of wires and transistors • Dropping voltage helps both, so went from 5V to 1V • To save energy & dynamic power, most CPUs now turn off clock of inactive modules (e.g. Fl. Pt. Unit) 2 Example of quantifying power • Suppose 15% reduction in voltage results in a 15% reduction in frequency. What is impact on dynamic power? 2 Powerdynamic =1/ 2 × CapacitiveLoad ×Voltage × FrequencySwitched 2 =1/ 2 × .85 × CapacitiveLoad × (.85×Voltage) × FrequencySwitched 3 = (.85) × OldPowerdynamic ≈ 0.6 × OldPowerdynamic • Because turning down the voltage and performance are linear but voltage and power are cubic, be careful statements like I saved x% in power with ONLY a y% performance decrease!!! USE BETTER METRICS 3 Define and quantify power (2 / 2) • Because leakage current flows even when a transistor is off, now static power important too Powerstatic = Currentstatic ×Voltage • Leakage
    [Show full text]
  • High Performance Embedded Computing in Space
    High Performance Embedded Computing in Space: Evaluation of Platforms for Vision-based Navigation George Lentarisa, Konstantinos Maragosa, Ioannis Stratakosa, Lazaros Papadopoulosa, Odysseas Papanikolaoua and Dimitrios Soudrisb National Technical University of Athens, 15780 Athens, Greece Manolis Lourakisc and Xenophon Zabulisc Foundation for Research and Technology - Hellas, POB 1385, 71110 Heraklion, Greece David Gonzalez-Arjonad GMV Aerospace & Defence SAU, Tres Cantos, 28760 Madrid, Spain Gianluca Furanoe European Space Agency, European Space Technology Centre, Keplerlaan 1 2201AZ Noordwijk, The Netherlands Vision-based navigation has become increasingly important in a variety of space ap- plications for enhancing autonomy and dependability. Future missions, such as active debris removal for remediating the low Earth orbit environment, will rely on novel high-performance avionics to support advanced image processing algorithms with sub- stantial workloads. However, when designing new avionics architectures, constraints relating to the use of electronics in space present great challenges, further exacerbated by the need for significantly faster processing compared to conventional space-grade central processing units. With the long-term goal of designing high-performance em- bedded computers for space, in this paper, an extended study and trade-off analysis of a diverse set of computing platforms and architectures (i.e., central processing units, a Research Associate, School of Electrical and Computer Engineering, NTUA, Athens. [email protected] b Associate Professor, School of Electrical and Computer Engineering, NTUA, Athens. [email protected] c Principal Researcher, Institute of Computer Science, FORTH, Heraklion. [email protected] d Avionics and On-Board Software Engineer, GMV, Madrid. e On-Board Computer Engineer, Microelectronics & Data Systems Division, ESA ESTEC, Noordwijk.
    [Show full text]
  • Low-Power High Performance Computing
    Low-Power High Performance Computing Panagiotis Kritikakos August 16, 2011 MSc in High Performance Computing The University of Edinburgh Year of Presentation: 2011 Abstract The emerging development of computer systems to be used for HPC require a change in the architecture for processors. New design approaches and technologies need to be embraced by the HPC community for making a case for new approaches in system design for making it possible to be used for Exascale Supercomputers within the next two decades, as well as to reduce the CO2 emissions of supercomputers and scientific clusters, leading to greener computing. Power is listed as one of the most important issues and constraint for future Exascale systems. In this project we build a hybrid cluster, investigating, measuring and evaluating the performance of low-power CPUs, such as Intel Atom and ARM (Marvell 88F6281) against commodity Intel Xeon CPU that can be found within standard HPC and data-center clusters. Three main factors are considered: computational performance and efficiency, power efficiency and porting effort. Contents 1 Introduction 1 1.1 Report organisation . 2 2 Background 3 2.1 RISC versus CISC . 3 2.2 HPC Architectures . 4 2.2.1 System architectures . 4 2.2.2 Memory architectures . 5 2.3 Power issues in modern HPC systems . 9 2.4 Energy and application efficiency . 10 3 Literature review 12 3.1 Green500 . 12 3.2 Supercomputing in Small Spaces (SSS) . 12 3.3 The AppleTV Cluster . 13 3.4 Sony Playstation 3 Cluster . 13 3.5 Microsoft XBox Cluster . 14 3.6 IBM BlueGene/Q .
    [Show full text]
  • PAKCK: Performance and Power Analysis of Key Computational Kernels on Cpus and Gpus
    PAKCK: Performance and Power Analysis of Key Computational Kernels on CPUs and GPUs Julia S. Mullen, Michael M. Wolf and Anna Klein MIT Lincoln Laboratory Lexington, MA 02420 Email: fjsm, michael.wolf,anna.klein [email protected] Abstract—Recent projections suggest that applications and (PAKCK) study was funded by DARPA to gather performance architectures will need to attain 75 GFLOPS/W in order to data necessary to address both requirements. support future DoD missions. Meeting this goal requires deeper As part of the PAKCK study, several key computational understanding of kernel and application performance as a function of power and architecture. As part of the PAKCK kernels from DoD applications were identified and charac- study, a set of DoD application areas, including signal and image terized in terms of power usage and performance for sev- processing and big data/graph computation, were surveyed to eral architectures. A key contribution of this paper is the identify performance critical kernels relevant to DoD missions. methodology we developed for characterizing power usage From that survey, we present the characterization of dense and performance for kernels on the Intel Sandy Bridge and matrix-vector product, two dimensional FFTs, and sparse matrix- dense vector multiplication on the NVIDIA Fermi and Intel NVIDIA Fermi architectures. We note that the method is Sandy Bridge architectures. extensible to additional kernels and mini-applications. An We describe the methodology that was developed for charac- additional contribution is the power usage and performance terizing power usage and performance on these architectures per Watt results for three performance critical kernels.
    [Show full text]
  • EPYC: Designed for Effective Performance
    EPYC: Designed for Effective Performance By Linley Gwennap Principal Analyst June 2017 www.linleygroup.com EPYC: Designed for Effective Performance By Linley Gwennap, Principal Analyst, The Linley Group Measuring server-processor performance using clock speed (GHz) or even the traditional SPEC_int test can be misleading. AMD’s new EPYC processor is designed to deliver strong performance across a wide range of server applications, meeting the needs of modern data centers and enterprises. These design capabilities include advanced branch prediction, data prefetching, coherent interconnect, and integrated high-bandwidth DRAM and I/O interfaces. AMD sponsored the creation of this white paper, but the opinions and analysis are those of the author. Trademark names are used in an editorial fashion and are the property of their respective owners. Although many PC users can settle for “good enough” performance, data-center opera- tors are always seeking more. Web searches demand more performance as the Internet continues to expand. Newer applications such as voice recognition (for services such as Alexa and Siri) and analyzing big data also require tremendous performance. Neural networks are gaining in popularity for everything from image recognition to self-driving cars, but training these networks can tie up hundreds of servers for days at a time. Processor designers must meet these greater performance demands while staying within acceptable electrical-power ratings. Server processors are often characterized by core count and clock speed (GHz), but these characteristics provide only a rough approximation of application performance. As important as speed is, the amount of work that a processor can accomplish with each tick of the clock, a parameter known as instructions per cycle (IPC), is equally important.
    [Show full text]