Arm Compiler for HPC Arm Performance Libraries Arm Forge Professional Arm Performance Reports

Total Page:16

File Type:pdf, Size:1020Kb

Arm Compiler for HPC Arm Performance Libraries Arm Forge Professional Arm Performance Reports Software Ecosystem for Arm-based HPC CUG 2018 - Stockholm © 2018 Arm Limited [email protected] Ecosystem for HPC List of components needed: • Linux OS availability • Compilers • Libraries • Job schedulers • Debuggers • Profilers Mix of open source and commercial products and applications… https://developer.arm.com/hpc/hpc-software 2 © 2018 Arm Limited Arm development tools portfolio for HPC Arm Allinea Studio Develop and run on today’s hardware Arm Compiler for HPC Arm Performance Libraries Arm Forge Professional Arm Performance Reports Linux user space compiler BLAS, LAPACK and FFT Multi-node interoperable Interoperable application for HPC applications profiler and debugger performance insight and also… Explore tomorrow’s architecture today Arm Code Advisor ArmInstruction Instruction Emulator Emulator Understand what the Run SVE Runbinaries SVE onbinaries today’s compiler could/could not do Armv8on today’s-A hardware hardware 3 © 2018 Arm Limited Arm Compiler – Building on LLVM, Clang and Flang projects Arm C/C++/Fortran Compiler Clang based LLVM based LLVM based C/C++ Files C/C++ Armv8-A Armv8-A Optimizer (.c/.cpp) Frontend Backend binary IR Optimizations LLVM IR LLVM IR Auto-vectorization PGI Flang based LLVM based Fortran Files Fortran Enhanced optimization for SVE (.f/.f90) ARMv8-A and SVE SVE Frontend Backend binary Language specific frontend Language agnostic optimization Architecture specific backend 4 © 2018 Arm Limited Arm Compiler – OpenMP scaling Better scaling at higher thread count Lulesh – size 40 Arm Compiler uses libomp based optimized OpenMP runtime For Lulesh (Livermore Unstructured Lagrangian Explicit Shock Hydrodynamics), Arm Compiler shows better scaling than GCC for higher thread count Zones per Second per Zones Number of threads armclang 18.0 gcc 7.1 5 © 2018 Arm Limited DGEMM performance on Cavium ThunderX2 Excellent serial and parallel performance DGEMM – 56 threads on Cavium ThunderX2 Achieving very high performance at the CN99 node level leveraging high core counts and 100% large memory bandwidth 90% 80% Single core performance at 70% 60% 95% of peak for DGEMM 50% 40% Parallel performance significantly higher 30% than OpenBLAS of peak Percentage 20% 10% 0% 0 2000 4000 6000 8000 10000 Matrix dimension (M=N=K) ARM Performance Libraries OpenBLAS 6 © 2018 Arm Limited Arm Performance Libraries 7 © 2018 Arm Limited Arm HPC ecosystem Porting to Arm Arm is engaging directly with partners and HPC scientific code developers to support porting and optimisation of common HPC libraries, tools and applications Initial focus on successfully building with both Arm and GCC compilers across a broad front Often only modest changes to environment variables, build scripts and architecture files are needed Degree of commonality between codes 8 © 2018 Arm Limited Example: Particle in Cell codes Two different approaches VPIC EPOCH Explicit 2nd order push, charge conserving Explicit 2nd order push, charge conserving FDTD fields FDTD fields C & C++ with MPI & pthreads Fortran with MPI Low particle order High order particles Flexible, extensible, versatile Heavily optimised push, previously tuned for specific platforms Linked list storage Vector kernel Dependencies: SDF https://github.com/lanl/vpic http://www.ccpp.ac.uk 9 © 2018 Arm Limited Example: Leveraging Arm intrinsics from C VPIC VPIC’s v4 kernel pushes four particles at a time – optimised with SSE SIMD calls 2 ) Arm’s NEON instructions offer similar functionality 1.5 Datatypes and intrinsic calls from SSE can be mapped over to NEON in many cases 1 normalised Projects like SIMD Everywhere: 0.5 https://github.com/nemequ/simde pushes ( pushes may help generate portable code able to exploit Arm’s 0 vector calls Standard NEON Could such vectorised kernels stand to benefit from Arm’s SVE instructions? Arm 10 © 2018 Arm Limited Example: Leveraging Arm intrinsics from Fortran EPOCH Particle prefetch Arm C compiler preload C wrapper Uses intel’s _mm_prefetch to improve Use __pld in place of _mm_prefetch src/housekeeping/arm_intrinsics.c performance of linked-list Requires Fortran 2003’s C-binding src/housekeeping/prefetch.f90 SUBROUTINE prefetch_particle(p) INTERFACE #include<arm_acle.h> TYPE(particle),INTENT(INOUT) :: p SUBROUTINE arm_prefetch(p, x, w) BIND(C) void arm_prefetch(void const* p) #ifdef PREFETCH USE, INTRINSIC :: iso_c_binding { CALL mm_prefetch(p%part_p(1)) REAL(c_double),DIMENSION(3) :: p __pld(p); CALL mm_prefetch(p%weight) REAL(c_double), DIMENSION(c_ndims) :: x return; #endif REAL(c_double) :: w } END SUBROUTINE prefetch_particle END SUBROUTINE arm_prefetch END INTERFACE A similar approach can be used to call GCC’s __builtin_prefetch 11 © 2018 Arm Limited Example: Performance improvement Speed-up memory-bound code Armflang vs. GNU Armflang with preload GNU with prefetch 1.2 1.2 1.2 1 1 1 0.8 0.8 0.8 0.6 0.6 0.6 108% 86% 93% 0.4 0.4 0.4 0.2 0.2 0.2 0 0 0 standard standard standard prefetch standard prefetch arm gnu arm gnu 12 © 2018 Arm Limited Meets the requirements of HPC developers on Arm Arm MAP Arm Performance Libraries Cross-platform lightweight profiler BLAS, LAPLACK, FFT Arm Performance Reports Maximize System Efficiency Optimize Profile Develop Debug and build Arm Compiler for HPC For C, C++ and Fortran codes Arm DDT Cross-platform parallel debugger 13 © 2018 Arm Limited Community building Outside the people we collaborate with, various complementary Arm HPC communities already exist: • Arm HPC User Group (SC) and GoingArm (ISC/ArmRS) • Arm HPC Google Group (https://groups.google.com/forum/#!forum/arm-hpc) • Arm HPC GitLab pages (https://gitlab.com/arm-hpc/) Encouraging our partners to use GitLab is a priority Our app work is engaging with code owners and users to get suitable test cases, to get Arm support built in, and including helping them make AArch64 testing part of their development processes 14 © 2018 Arm Limited Community site – gitlab.com/arm-hpc https://gitlab.com/arm-hpc/packages/wikis/home Dynamic list of common HPC applications Up-to-date summary of package status Provides focus for porting progress Community driven. Maintained by Arm, but anyone can join and contribute. Allows developers to share recipes, and learn from progress on other applications Provides a mechanism for tracking status of applications and package sets (e.g. OpenHPC packages, Mantevo, etc.) 15 © 2018 Arm Limited Tack! Thank You! Danke! Merci! 谢谢! ありがとう! Gracias! Kiitos! 감사합니다 धꅍयवाद 16 © 2018 Arm Limited Migrate and debug application to Arm Switch between OpenMP threads Visualise data structures Integrate to continuous integration tools Display pending communications 17 © 2018 Arm Limited Optimise for Arm platforms Detect MPI load imbalance Understand CPU usage Identify regions of high OpenMP synchronisation 18 © 2018 Arm Limited Maximize System Efficiency Aggregate data 19 © 2018 Arm Limited.
Recommended publications
  • Forge and Performance Reports Modules $ Module Load Intel Intelmpi $ Module Use /P/Scratch/Share/VI-HPS/JURECA/Mf/ $ Module Load Arm-Forge Arm-Reports
    Acting on Insight Tips for developing and optimizing scientific applications [email protected] 28/06/2019 Agenda • Introduction • Maximize application efficiency • Analyze code performance • Profile multi-threaded codes • Optimize Python-based applications • Visualize code regions with Caliper 2 © 2019 Arm Limited Arm Technology Already Connects the World Arm is ubiquitous Partnership is key Choice is good 21 billion chips sold by We design IP, we do not One size is not always the best fit partners in 2017 manufacture chips for all #1 in Infrastructure today with Partners build products for HPC is a great fit for 28% market shares their target markets co-design and collaboration 3 © 2019 Arm Limited Arm’s solution for HPC application development and porting Combines cross-platform tools with Arm only tools for a comprehensive solution Cross-platform Tools Arm Architecture Tools FORGE C/C++ & FORTRAN DDT MAP COMPILER PERFORMANCE PERFORMANCE REPORTS LIBRARIES 4 © 2019 Arm Limited The billion dollar question in “weather and forecasting” Is it going to rain tomorrow? 1. Choose domain 2. Gather Data 3. Create Mesh 4. Match Data to Mesh 5. Simulate 6. Visualize 5 © 2019 Arm Limited Weather forecasting workflow Deploy Production Staging environment Builds Scalability Performance Develop Fix Regressions CI Agents Optimize Commit Continuous Version Start CI job control integration Pull system framework • 24 hour timeframe 6 © 2019 Arm Limited • 2 to 3 test runs for 1 production run Application efficiency Scientist Developer System admin Decision maker • Efficient use of allocation • Characterize application • Maximize resource usage • High-level view of system time behaviour • Diagnose performance workload • Higher result throughput • Gets hints on next issues • Reporting figures and optimization steps analysis to help decision making 7 © 2019 Arm Limited Arm Performance Reports Characterize and understand the performance of HPC application runs Gathers a rich set of data • Analyses metrics around CPU, memory, IO, hardware counters, etc.
    [Show full text]
  • Adaptive Data Migration in Load-Imbalanced HPC Applications
    Louisiana State University LSU Digital Commons LSU Doctoral Dissertations Graduate School 10-16-2020 Adaptive Data Migration in Load-Imbalanced HPC Applications Parsa Amini Louisiana State University and Agricultural and Mechanical College Follow this and additional works at: https://digitalcommons.lsu.edu/gradschool_dissertations Part of the Computer Sciences Commons Recommended Citation Amini, Parsa, "Adaptive Data Migration in Load-Imbalanced HPC Applications" (2020). LSU Doctoral Dissertations. 5370. https://digitalcommons.lsu.edu/gradschool_dissertations/5370 This Dissertation is brought to you for free and open access by the Graduate School at LSU Digital Commons. It has been accepted for inclusion in LSU Doctoral Dissertations by an authorized graduate school editor of LSU Digital Commons. For more information, please [email protected]. ADAPTIVE DATA MIGRATION IN LOAD-IMBALANCED HPC APPLICATIONS A Dissertation Submitted to the Graduate Faculty of the Louisiana State University and Agricultural and Mechanical College in partial fulfillment of the requirements for the degree of Doctor of Philosophy in The Department of Computer Science by Parsa Amini B.S., Shahed University, 2013 M.S., New Mexico State University, 2015 December 2020 Acknowledgments This effort has been possible, thanks to the involvement and assistance of numerous people. First and foremost, I thank my advisor, Dr. Hartmut Kaiser, who made this journey possible with their invaluable support, precise guidance, and generous sharing of expertise. It has been a great privilege and opportunity for me be your student, a part of the STE||AR group, and the HPX development effort. I would also like to thank my mentor and former advisor at New Mexico State University, Dr.
    [Show full text]
  • Fairborn Camera & Video
    © 2006 The Dayton Microcomputer Association, Inc. V O L UM E 3 1 , I S S U E 6 P A G E 1 TM Volume 31 Issue 6 www.DMA.org November 2006 Association of PC User Groups (APCUG) Member Location for October 31 General Meeting Topic meeting & map inside ... Parking Permits Fairborn Camera & Video Available … Mike Petros - Guest Speaker As the holidays approach, the search be- for prints. RAW format allows the option of gins for the hottest items for Christmas. We manipulating details with photo-editing soft- generally look for some high-tech gadget ware on a PC. It’s a good thing that memory that could make our lives easier, more pro- cards hold more data than ever before. ductive, or just plain fun. The latest in cam- Mike Petros, Store Manager at Fairborn era equipment has always been a favorite Camera & Video, has agreed to demonstrate and the choices this year are impressive. several of this year’s latest digital cameras There seem to be a half dozen models for and help make sense of their many features. every application. Credit-card sized “point Mike draws from 30 years of experience in and shoot” cameras fit easily in a pocket and the business. He often gives presentations to travel well. Those best suited for sports pho- local organizations and once wrote articles tography are the ones marked “single-lens- for the Midwest PC Review magazine. reflex”. They tend to be more responsive Although he would not give away any de- and accept interchangeable lenses. Cameras tails on the specials they will be running this of all sizes offer digital viewfinders.
    [Show full text]
  • Performance Tuning Workshop
    Performance Tuning Workshop Samuel Khuvis Scientifc Applications Engineer, OSC February 18, 2021 1/103 Workshop Set up I Workshop – set up account at my.osc.edu I If you already have an OSC account, sign in to my.osc.edu I Go to Project I Project access request I PROJECT CODE = PZS1010 I Reset your password I Slides are the workshop website: https://www.osc.edu/~skhuvis/opt21_spring 2/103 Outline I Introduction I Debugging I Hardware overview I Performance measurement and analysis I Help from the compiler I Code tuning/optimization I Parallel computing 3/103 Introduction 4/103 Workshop Philosophy I Aim for “reasonably good” performance I Discuss performance tuning techniques common to most HPC architectures I Compiler options I Code modifcation I Focus on serial performance I Reduce time spent accessing memory I Parallel processing I Multithreading I MPI 5/103 Hands-on Code During this workshop, we will be using a code based on the HPCCG miniapp from Mantevo. I Performs Conjugate Gradient (CG) method on a 3D chimney domain. I CG is an iterative algorithm to numerically approximate the solution to a system of linear equations. I Run code with srun -n <numprocs> ./test_HPCCG nx ny nz, where nx, ny, and nz are the number of nodes in the x, y, and z dimension on each processor. I Download with: wget go . osu .edu/perftuning21 t a r x f perftuning21 I Make sure that the following modules are loaded: intel/19.0.5 mvapich2/2.3.3 6/103 More important than Performance! I Correctness of results I Code readability/maintainability I Portability -
    [Show full text]
  • Performance Tuning Workshop
    Performance Tuning Workshop Samuel Khuvis Scientific Applications Engineer, OSC 1/89 Workshop Set up I Workshop – set up account at my.osc.edu I If you already have an OSC account, sign in to my.osc.edu I Go to Project I Project access request I PROJECT CODE = PZS0724 I Slides are on event page: osc.edu/events I Workshop website: https://www.osc.edu/˜skhuvis/opt19 2/89 Outline I Introduction I Debugging I Hardware overview I Performance measurement and analysis I Help from the compiler I Code tuning/optimization I Parallel computing 3/89 Introduction 4/89 Workshop Philosophy I Aim for “reasonably good” performance I Discuss performance tuning techniques common to most HPC architectures I Compiler options I Code modification I Focus on serial performance I Reduce time spent accessing memory I Parallel processing I Multithreading I MPI 5/89 Hands-on Code During this workshop, we will be using a code based on the HPCCG miniapp from Mantevo. I Performs Conjugate Gradient (CG) method on a 3D chimney domain. I CG is an iterative algorithm to numerically approximate the solution to a system of linear equations. I Run code with mpiexec -np <numprocs> ./test HPCCG nx ny nz, where nx, ny, and nz are the number of nodes in the x, y, and z dimension on each processor. I Download with git clone [email protected]:khuvis.1/performance2019 handson.git I Make sure that the following modules are loaded: intel/18.0.3 mvapich2/2.3 6/89 More important than Performance! I Correctness of results I Code readability/maintainability I Portability - future systems
    [Show full text]
  • Best Practice Guide Modern Processors
    Best Practice Guide Modern Processors Ole Widar Saastad, University of Oslo, Norway Kristina Kapanova, NCSA, Bulgaria Stoyan Markov, NCSA, Bulgaria Cristian Morales, BSC, Spain Anastasiia Shamakina, HLRS, Germany Nick Johnson, EPCC, United Kingdom Ezhilmathi Krishnasamy, University of Luxembourg, Luxembourg Sebastien Varrette, University of Luxembourg, Luxembourg Hayk Shoukourian (Editor), LRZ, Germany Updated 5-5-2021 1 Best Practice Guide Modern Processors Table of Contents 1. Introduction .............................................................................................................................. 4 2. ARM Processors ....................................................................................................................... 6 2.1. Architecture ................................................................................................................... 6 2.1.1. Kunpeng 920 ....................................................................................................... 6 2.1.2. ThunderX2 .......................................................................................................... 7 2.1.3. NUMA architecture .............................................................................................. 9 2.2. Programming Environment ............................................................................................... 9 2.2.1. Compilers ........................................................................................................... 9 2.2.2. Vendor performance libraries
    [Show full text]
  • Arm in HPC the Future of Supercomputing Starts Now
    Arm in HPC The future of supercomputing starts now Marcin Krzysztofik and Eric Lalardie Arm © 2018 Arm Limited Arm’s business model (HPC focus) Armv8.x and extensions, Neoverse IP roadmap SVE Scalable Vector Extension © 2018 Arm Limited The Cloud to Edge Infrastructure Foundation for a World of 1T Intelligent Devices © 2018 Arm Limited Each generation brings faster performance and new infrastructure specific features 5nm 7nm+ 7nm Poseidon 16nm Zeus Platform Neoverse Platform Cosmos N1 Platform Platform 2021 2020 2019 Today 30% Faster System Performance per Generation + New Features Limited Arm © 2018 © The embargo for this content presented at Arm Tech Day will lift on Wednesday, Feb 20th at 6 a.m. Pacific Time. Corresponding UK time is: Wednesday, Feb 20th 2 p.m. BST World-class Neoverse Ecosystem AMPERE Tencent Cloud orange © 2018 Arm Limited Vanguard Astra by HPE (Top 500 system) • 2,592 HPE Apollo 70 compute nodes • Mellanox IB EDR, ConnectX-5 • 5,184 CPUs, 145,152 cores, 2.3 PFLOPs (peak) • 112 36-port edges, 3 648-port spine switches • Cavium Thunder-X2 ARM SoC, 28 core, 2.0 GHz • Red Hat RHEL for Arm • Memory per node: 128 GB (16 x 8 GB DR DIMMs) • HPE Apollo 4520 All–flash Lustre storage • Aggregate capacity: 332 TB, 885 TB/s (peak) • Storage Capacity: 403 TB (usable) • Storage Bandwidth: 244 GB/s © 2018 Arm Limited Arm HPC Software Ecosystem Job schedulers HPC Applications: and Resource Open-source, Owned, and Commercial ISV codes User-space Management: utilities, scripting, SLURM, IBM LSF, App/ISA specific optimizations, optimized libs and intrinsics: containers, and Altair PBS Pro, etc.
    [Show full text]
  • Debugging and Performance Analysis of Heterogenous HPC Applications
    DOI: 10.14529/jsfi200105 Tools for GPU Computing – Debugging and Performance Analysis of Heterogenous HPC Applications Michael Knobloch1, Bernd Mohr1 c The Authors 2020. This paper is published with open access at SuperFri.org General purpose GPUs are now ubiquitous in high-end supercomputing. All but one (the Japanese Fugaku system, which is based on ARM processors) of the announced (pre-)exascale systems contain vast amounts of GPUs that deliver the majority of the performance of these systems. Thus, GPU programming will be a necessity for application developers using high-end HPC systems. However, programming GPUs efficiently is an even more daunting task than tra- ditional HPC application development. This becomes even more apparent for large-scale systems containing thousands of GPUs. Orchestrating all the resources of such a system imposes a tremen- dous challenge to developers. Luckily a rich ecosystem of tools exist to assist developers in every development step of a GPU application at all scales. In this paper we present an overview of these tools and discuss their capabilities. We start with an overview of different GPU programming models, from low-level with CUDA over pragma- based models like OpenACC to high-level approaches like Kokkos. We discuss their respective tool interfaces as the main method for tools to obtain information on the execution of a kernel on the GPU. The main focus of this paper is on two classes of tools, debuggers and performance analysis tools. Debuggers help the developer to identify problems both on the CPU and GPU side as well as in the interplay of both.
    [Show full text]
  • High-Performance I/O Programming Models for Exascale Computing
    High-Performance I/O Programming Models for Exascale Computing SERGIO RIVAS-GOMEZ Doctoral Thesis Stockholm, Sweden 2019 KTH Royal Institute of Technology School of Electrical Engineering and Computer Science TRITA-EECS-AVL-2019:77 SE-100 44 Stockholm ISBN 978-91-7873-344-6 SWEDEN Akademisk avhandling som med tillstånd av Kungl Tekniska Högskolan framlägges till offentlig granskning för avläggande av teknologie doktorsexamen i högprestan- daberäkningar fredag den 29 Nov 2019 klockan 10.00 i B1, Brinellvägen 23, Bergs, våningsplan 1, Kungl Tekniska Högskolan, 114 28 Stockholm, Sverige. © Sergio Rivas-Gomez, Nov 2019 Tryck: Universitetsservice US AB iii Abstract The success of the exascale supercomputer is largely dependent on novel breakthroughs that overcome the increasing demands for high-performance I/O on HPC. Scientists are aggressively taking advantage of the available compute power of petascale supercomputers to run larger scale and higher- fidelity simulations. At the same time, data-intensive workloads have recently become dominant as well. Such use-cases inherently pose additional stress into the I/O subsystem, mostly due to the elevated number of I/O transactions. As a consequence, three critical challenges arise that are of paramount importance at exascale. First, while the concurrency of next-generation su- percomputers is expected to increase up to 1000 , the bandwidth and access × latency of the I/O subsystem is projected to remain roughly constant in com- parison. Storage is, therefore, on the verge of becoming a serious bottleneck. Second, despite upcoming supercomputers expected to integrate emerging non-volatile memory technologies to compensate for some of these limitations, existing programming models and interfaces (e.g., MPI-IO) might not provide any clear technical advantage when targeting distributed intra-node storage, let alone byte-addressable persistent memories.
    [Show full text]
  • Arm® Forge User Guide Copyright © 2021 Arm Limited Or Its Affiliates
    Arm® Forge Version 21.0.2 User Guide Copyright © 2021 Arm Limited or its affiliates. All rights reserved. 101136_21.0.2_00_en Arm® Forge Arm® Forge User Guide Copyright © 2021 Arm Limited or its affiliates. All rights reserved. Release Information Document History Issue Date Confidentiality Change 2100-00 01 March 2021 Non-Confidential Document update to version 21.0 2101-00 30 March 2021 Non-Confidential Document update to version 21.0.1 2102-00 30 April 2021 Non-Confidential Document update to version 21.0.2 Non-Confidential Proprietary Notice This document is protected by copyright and other related rights and the practice or implementation of the information contained in this document may be protected by one or more patents or pending patent applications. No part of this document may be reproduced in any form by any means without the express prior written permission of Arm. No license, express or implied, by estoppel or otherwise to any intellectual property rights is granted by this document unless specifically stated. Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use the information for the purposes of determining whether implementations infringe any third party patents. THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, Arm makes no representation with respect to, and has undertaken no analysis to identify or understand the scope and content of, third party patents, copyrights, trade secrets, or other rights.
    [Show full text]
  • Arm® Forge User Guide Copyright © 2021 Arm Limited Or Its Affiliates
    Arm® Forge Version 21.0 User Guide Copyright © 2021 Arm Limited or its affiliates. All rights reserved. 101136_2100_00_en Arm® Forge Arm® Forge User Guide Copyright © 2021 Arm Limited or its affiliates. All rights reserved. Release Information Document History Issue Date Confidentiality Change 2100-00 01 March 2021 Non-Confidential Document update to version 21.0 Non-Confidential Proprietary Notice This document is protected by copyright and other related rights and the practice or implementation of the information contained in this document may be protected by one or more patents or pending patent applications. No part of this document may be reproduced in any form by any means without the express prior written permission of Arm. No license, express or implied, by estoppel or otherwise to any intellectual property rights is granted by this document unless specifically stated. Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use the information for the purposes of determining whether implementations infringe any third party patents. THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, Arm makes no representation with respect to, and has undertaken no analysis to identify or understand the scope and content of, third party patents, copyrights, trade secrets, or other rights. This document may include technical inaccuracies or typographical errors. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    [Show full text]
  • Arm MAP and Performance Reports
    VI-HPS Tuning Workshop 2020 Arm MAP and Performance Reports Timothy Duthie & Ryan Hulguin 30th July 2020 © 2020 Arm Limited (or its affiliates) Agenda • 14:00 – Introduction • 14:15 – MAP & Performance Reports • 14:45 – Examples • 15:30 – (break) • 16:00 – Hands-On • 17:00 – (end of workshop) 2 © 2020 Arm Limited (or its affiliates) An Introduction to Arm Arm is the world's leading semiconductor intellectual property supplier We license to over 350 partners: present in 95% of smart phones, 80% of digital cameras, 35% of all electronic devices. Total of 60 billion Arm cores have been shipped since 1990* Our partners license: • Architectures and Technical Standards, e.g. Armv8-A or GIC-300 • Hardware Designs, e.g. Cortex-A72 • Software Development Tools, e.g. Arm Forge …and our IP extends beyond the CPU 3 © 2020 Arm Limited (or its affiliates) Allinea history 4 © 2020 Arm Limited (or its affiliates) Arm’s solution for HPC application development and porting Commercial tools for aarch64, x86_64, ppc64 and accelerators Cross-platform Tools Arm Architecture Tools FORGE C/C++ & FORTRAN DDT MAP COMPILER PERFORMANCE PERFORMANCE REPORTS LIBRARIES 5 © 2020 Arm Limited (or its affiliates) Arm’s solution for HPC application development and porting Commercial tools for aarch64, x86_64, ppc64 and accelerators Cross-platform Tools Arm Architecture Tools FORGE C/C++ & FORTRAN DDT MAP COMPILER PERFORMANCE PERFORMANCE REPORTS LIBRARIES 6 © 2020 Arm Limited (or its affiliates) Performance Reports © 2020 Arm Limited (or its affiliates) Hardware utilization 8 © 2020 Arm Limited (or its affiliates) Arm Performance Reports Characterize and understand the performance of HPC application runs Gathers a rich set of data • Analyses metrics around CPU, memory, IO, hardware counters, etc.
    [Show full text]