Updating the Compiler?
|
|
- Verity McDonald
- 6 years ago
- Views:
Transcription
1 Updating the Compiler? Take Advantage of The New Development Toolchain Andreas Jaeger Product Manager
2 Programming Languages C C++ Fortran And Go 2
3 Why new compiler? Faster applications Support for new CPUs New compiler optimizations Improved compiler optimizations Take advantage of new language features Write better code due to improved diagnostics Easier to spot problems due to improved debugging 3
4 Toolchain Module for SUSE Linux Enterprise 12 Yearly release Deliver new Compiler and toolchain GCC ( GNU Compiler Collection) development tools via Toolchain Module GCC runtime libraries, binutils, gdb as updates for SLE Core Versions for 2016 update of Toolchain Module for SUSE Linux Enterprise 12: GCC 6.2 with C, C++, Fortran support Binutils Gdb Package build compiler (GCC 4.8) stays as default New module is supported (latest version of SW, overlap of 6 months) 4
5 Package Hub - Contains community build software for SUSE Linux Enterprise Including: Google GO compiler and runtime Erlang Glasgow Haskell Compiler ghc R project for statistical computing 5
6 Compare with SUSE Linux Enterprise 11 Update of toolchain with each Service Pack Deliver GCC new development tool via SDK Deliver GCC runtime libraries, binutils, gdb as part of SLE core No support for newer GCC 6
7 How to use new tools? Binutils, gdb: No change GCC: Use XXX-6 instead of XXX, for example: gcc-6 g++-6 7
8 Note: GCC versioning scheme Previously (until GCC 4.9): Major release every year: 4.0, 4.1,... First release: Minor releases: 4.8.1, Now: Major release every year: 5, 6, 7 First release: 5.1 Minor release: 5.2, 5.3 8
9 Advantages of new toolchain 9
10 Why new compiler? Compiler optimizations Support for CPUs New language features Diagnostics and debugging 10
11 Diagnostics and debugging Better display of wrong code 11
12 Diagnostics and debugging Fix-it hints 12
13 Diagnostics and debugging Suggestions for wrong field names 13
14 Diagnostics and debugging Check indentation -Wmisleading-indentation (in -Wall) would have avoided CVE : 14
15 Diagnostics and debugging New warnings -fsanitze=thread UndefinedBehaviorSanitizer (-fsanitize=undefined) enhanced: -fsanitize=bounds-strict: Strict checking of array bounds New warning options: -Wshift-negative-value: Left shifting a negative value. -Wshift-overflow: Left shift overflows (default). -Wtautological-compare: Self-comparison always evaluates to true or false (in -Wall). -Wnull-dereference: Compiler detects paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. -Wduplicated-cond: Duplicated conditions in an if-else-if chain. 15
16 Compiler optimizations in GCC 6 Value Range propagation Cave-at! Value Range propagation: This pointer of C++ member function is considered non-null This breaks non-conforming code like Chromium, KDevelop, Qt-5. Use -fno-delete-null-pointer-checks To identify wrong code: -fsanitize=undefined 16
17 Compiler optimizations in GCC 6 Link Time Optimization Robustness fixes C and Fortran compatibility Smaller LTO objects (11 %) Interprocedural Optimization Function cloning more aggressive Improved heuristics Thread improvements: OpenMP 4.5 OpenACC 2.0a 17
18 Support for newer CPUs X86-64: AVX-512 extensions for Skylake AMD family 17h processors (Zen core) Segment register AArch64: LTO support Processor support: ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, Qualcomm QDF24xx, Samsung Exynos M1 Power: Power9 support Vector support z Systems IBM z13 support 18
19 New language features GNU C 11 is default (ISO C 11 plus GNU extensions)[since GCC 5] GNU C++ 14 is default (ISO C++ 14 plus GNU extensions) 19
20 New libstdc++ Libstdc++ contains Dual ABI: New ABI is C++11 conforming Old ABI for compatibility with previous compilers C++11 conforming std::list with O(1) size() function std::string uses small string optimization instead of copy-on-write reference counting SUSE Linux Enterprise Server 12 uses Old ABI by default, since system libraries are compiled using the Old ABI 20
21 Optimization Tips To optimize for current machine: -march=native To optimize for pool of machines: Use -march=x and select lowest common dominator or don't set it at all Optimization flags: -O2 -O3 -Ofast: includes -O3, -ffast-math, unsafe optimizations Speed optimizations: 1) Use FDO 2) Use FDO+LTO 21
22 Feedback Driven Optimization Use information about common paths from run-time to optimize the common case, including value profiling Usage: Build binary for profiling: $ gcc -Ofast program.c -o program -fprofile-generate Execute binary and create profile data Recompile binary using profile: $ gcc -Ofast program.c -o program -fprofile-use=program.gcda Note: Profiling collection not thread-safe 22
23 Link Time Optimization Whole-program optimization instead of single source file optimization Files get compiled into.o: streaming presentation of internal data Optimization happens at link time for the whole program Allows interprocedural analysis across files 23
24 Link Time Optimization: Usage Build binaries using: $ gcc -Ofast -flto -c file1.c $ gcc -Ofast -flto -c file2.c Link using: $ gcc -flto -o program file1.o file2.o 24
25 Vectorized Math Routines Vectorizer now can use glibc s math vector routines for vector sine etc. Note: Needs Glibc from SLE 12 SP2, supported on x86-64 only 25
26 References
27 Outlook GCC 7 Note: GCC 7 will come out in Q and is under development Further fix-its LTO debugging Experimental C++17 support 27
28 Why new toolchain? GDB: Understand new debug information by compiler Binutils: Support for new toolchain Support for new CPUs 28
29 GDB and Binutils 2.26 GDB: Thread signal handling improved, user gets informed about which thread triggers event More explicit syntax for breakpoints ( break -s main.c -li 3 ) Bug fixes Binutils: Support for compressed DWARF debug format, currently gas, ld IBM z13 support Bug fixes 29
30 Distributing Self-Compiled Software Software build with new Toolchain Module will run on updated SLE 12 systems Need updates for runtime libraries installed 30
31 Support Support via the usual channel Our GCC team needs self-contained code to reproduce issues Concentrate on -g/-g0, -O[0123], -ffast-math, -Ofast 31
32 The Go Programming Language 32
33 Go Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Created 2007 at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Designed for writing servers. Compiled, statically typed, with garbage collection, memory safety, concurrent features. 33
34 Why developers use Go? Docker and docker eco-system uses Go as main language. Faster than shell scripts More powerful than C Shines: Netowork and Webserver Stand-alone command line programs and scripts Not so good for: Desktop or GUI based apps System level programming 34
35 Where does SUSE use Go? Development of Docker Machinery 35
36 Go 1.7 Release Support now for all our architectures AARCH64, PowerPC64, x86-64, and z Systems. (New: z Systems) New compiler back end. 36
37 PackageHub Go packages are available on the PackageHub Compiler package is named go Add PackageHub to your system via YaST Also, available for opensuse in devel:languages:go project 37
38 Installation 38
39 Modules - Overview Module Name Content (examples) Lifecycle Advanced Systems The configuration management tools cfengine, Continuous Management Module puppet, salt and the new "machinery" tool Integration Container Module Docker and container related functionality such as ECS integration Continuous Integration Legacy Module Sendmail, old IMAP stack, old Java etc. 3 years Public Cloud Module Instance initialization code, command line tools for management Continuous Integration Toolchain Module GCC Yearly delivery Web and Scripting PHP, Python 3 years, 18 months Module overlap 39
40 Module Software Install 40
41
SUSE Linux Enterprise Server 12 Modules
White Paper Server SUSE Linux Enterprise Server 12 Modules Server White Paper SUSE Linux Enterprise Server 12 Modules What Can Modular Packaging Do for You? What if you could use a reliable operating system
More informationWhat's New with SUSE Linux Enterprise Server for z Systems
What's New with SUSE Linux Enterprise Server for z Systems Ihno Krumreich Projectmanager Ihno@suse.de August 10th, 2015 Session 17484 SUSE Linux Enterprise A highly reliable, scalable and secure server
More informationWelcome to SUSE Expert Days 2017 Service Delivery with DevOps
Welcome to SUSE Expert Days 2017 Service Delivery with DevOps Changing Application Service Delivery with DevOps 2 Key Components for DevOps Success Good habits and people Development done now Automate
More informationNios II Embedded Design Suite Release Notes
Nios II Embedded Design Suite Release Notes Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1...3 1.1 Product Revision History... 3 1.2 Nios II EDS v15.0 Updates...4 1.3
More informationPatching and Updating your VM SUSE Manager. Donald Vosburg, Sales Engineer, SUSE
Patching and Updating your VM SUSE Manager Donald Vosburg, Sales Engineer, SUSE dvosburg@suse.com Why should I care? I just clone my base VM image, and after that it is not my problem... Understand the
More informationGCC and LLVM collaboration
GCC and LLVM collaboration GNU Tools Cauldron 2014, Cambridge, UK Renato Golin LLVM Tech-Lead Linaro 1 Agenda What we should discuss: Why & How to collaborate Common projects we already share (the good)
More informationCSE 374 Programming Concepts & Tools
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2017 Lecture 11 gdb and Debugging 1 Administrivia HW4 out now, due next Thursday, Oct. 26, 11 pm: C code and libraries. Some tools: gdb (debugger)
More informationSystem Administration and Network Security
System Administration and Network Security Master SSCI, M2P subject Duration: up to 3 hours. All answers should be justified. Clear and concise answers will be rewarded. 1 Network Administration To keep
More informationIntroduction to Software Defined Infrastructure SUSE Linux Enterprise 15
Introduction to Software Defined Infrastructure SUSE Linux Enterprise 15 Matthias G. Eckermann Director Product Management SUSE Linux Enterprise Helsinki, 2018-03-08 SUSE Software-defined Infrastructure
More informationThe Art of Debugging: How to think like a programmer. Melissa Sulprizio GEOS-Chem Support Team
The Art of Debugging: How to think like a programmer Melissa Sulprizio GEOS-Chem Support Team geos-chem-support@as.harvard.edu Graduate Student Forum 23 February 2017 GEOS-Chem Support Team Bob Yantosca
More informationIntel Parallel Studio XE 2015 Composer Edition for Linux* Installation Guide and Release Notes
Intel Parallel Studio XE 2015 Composer Edition for Linux* Installation Guide and Release Notes 23 October 2014 Table of Contents 1 Introduction... 1 1.1 Product Contents... 2 1.2 Intel Debugger (IDB) is
More informationGDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
More informationlld: A Fast, Simple and Portable Linker Rui Ueyama LLVM Developers' Meeting 2017
lld: A Fast, Simple and Portable Linker Rui Ueyama LLVM Developers' Meeting 2017 Talk overview 1. Implementation status 2. Design goals 3. Comparisons with other linkers 4. Concurrency
More informationExercise Session 6 Computer Architecture and Systems Programming
Systems Group Department of Computer Science ETH Zürich Exercise Session 6 Computer Architecture and Systems Programming Herbstsemester 2016 Agenda GDB Outlook on assignment 6 GDB The GNU Debugger 3 Debugging..
More informationHow to cross compile with LLVM based tools. Peter Smith, Linaro
How to cross compile with LLVM based tools Peter Smith, Linaro Introduction and assumptions What we are covering Today About me What is cross compilation? How does cross compilation work with Clang and
More informationEmbedded Systems Programming
Embedded Systems Programming OS Linux - Toolchain Iwona Kochańska Gdansk University of Technology Embedded software Toolchain compiler and tools for hardwaredependent software developement Bootloader initializes
More informationRED HAT DEVELOPER TOOLSET: Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux
RED HAT DEVELOPER TOOLSET: Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux Dr. Matt Newsome Engineering Manager Tools 13/JUN/13 v0.8 -> Introduction Dr. Matt Newsome
More informationEmbest IDE Pro for ARM 2005
Embest IDE Pro for ARM 2005 1.1 About Embest IDE Pro for ARM2005 Embest IDE Pro for ARM2005 is a new release of Embest IDE for ARM based on 2004 version. It is an Integrated Development Environment for
More informationCS2141 Software Development using C/C++ Debugging
CS2141 Software Development using C/C++ Debugging Debugging Tips Examine the most recent change Error likely in, or exposed by, code most recently added Developing code incrementally and testing along
More informationCompiler Options. Linux/x86 Performance Practical,
Center for Information Services and High Performance Computing (ZIH) Compiler Options Linux/x86 Performance Practical, 17.06.2009 Zellescher Weg 12 Willers-Bau A106 Tel. +49 351-463 - 31945 Ulf Markwardt
More informationReviewing gcc, make, gdb, and Linux Editors 1
Reviewing gcc, make, gdb, and Linux Editors 1 Colin Gordon csgordon@cs.washington.edu University of Washington CSE333 Section 1, 3/31/11 1 Lots of material borrowed from 351/303 slides Colin Gordon (University
More informationBuilding opensuse with link-time optimizations. Jan Hubička and Martin Liška SUSElabs
Building opensuse with link-time optimizations Jan Hubička and Martin Liška SUSElabs jh@suse.cz, mliska@suse.cz Outlilne What is link-time optimization? Link-time optimization and GCC Benchmarks Can we
More informationOracle Developer Studio 12.6
Oracle Developer Studio 12.6 Oracle Developer Studio is the #1 development environment for building C, C++, Fortran and Java applications for Oracle Solaris and Linux operating systems running on premises
More informationUsing Intel VTune Amplifier XE and Inspector XE in.net environment
Using Intel VTune Amplifier XE and Inspector XE in.net environment Levent Akyil Technical Computing, Analyzers and Runtime Software and Services group 1 Refresher - Intel VTune Amplifier XE Intel Inspector
More informationCS354 gdb Tutorial Written by Chris Feilbach
CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that
More informationRED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux
RED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux Dr. Matt Newsome Senior Engineering Manager, Tools v1.4 RED HAT ENTERPRISE LINUX RED HAT
More informationRethinking the core OS in 2015
Rethinking the core OS in 2015 Presented by Bernhard "Bero" Rosenkränzer Are alternatives to gcc, libstdc++ and glibc viable yet? Date Linux Plumbers Conference 2015 The traditional approach Building a
More informationCSE 374 Programming Concepts & Tools. Brandon Myers Winter 2015 Lecture 11 gdb and Debugging (Thanks to Hal Perkins)
CSE 374 Programming Concepts & Tools Brandon Myers Winter 2015 Lecture 11 gdb and Debugging (Thanks to Hal Perkins) Hacker tool of the week (tags) Problem: I want to find the definition of a function or
More informationUsing a debugger. Segmentation fault? GDB to the rescue!
Using a debugger Segmentation fault? GDB to the rescue! But first... Let's talk about the quiz Let's talk about the previous homework assignment Let's talk about the current homework assignment K findkey(v
More informationPorting Linux to x86-64
Porting Linux to x86-64 Andi Kleen SuSE Labs ak@suse.de Abstract... Some implementation details with changes over the existing i386 port are discussed. 1 Introduction x86-64 is a new architecture developed
More informationRethinking the core OS in 2015
Rethinking the core OS in 2015 Presented by Bernhard "Bero" Rosenkränzer Date Embedded Linux Conference Europe, 2015 Are alternatives to gcc, libstdc++ and glibc viable yet? (And how do I use them?) The
More informationRELEASE NOTES. BeyondStudio for NXP JN-SW Build NXP Semiconductors
RELEASE NOTES BeyondStudio for NXP JN-SW-4141 Build 1308 NXP Semiconductors For the contact details of your local NXP office or distributor, refer to: www.nxp.com CONTENTS BeyondStudio for NXP Build 1308
More informationRED HAT SOFTWARE COLLECTIONS RED HAT DEVELOPER TOOLSET Fresh Tools for Developers
RED HAT SOFTWARE COLLECTIONS RED HAT DEVELOPER TOOLSET Fresh Tools for Developers Dr. Matt Newsome Senior Engineering Manager, Tools v2.3 % RED HAT SOFTWARE COLLECTIONS RED HAT DEVELOPER TOOLSET YOUR
More informationIntroduction to Linux
Introduction to Linux EECS 211 Martin Luessi April 14, 2010 Martin Luessi () Introduction to Linux April 14, 2010 1 / 14 Outline 1 Introduction 2 How to Get Started 3 Software Development under Linux 4
More informationTrends in Open Source Security. FOSDEM 2013 Florian Weimer Red Hat Product Security Team
Trends in Open Source Security FOSDEM 2013 Florian Weimer fweimer@redhat.com Red Hat Product Security Team 2013-02-02 Overview 2 Vulnerability tracking Tool-chain hardening Distribution-wide defect analysis
More informationWelcome. HRSK Practical on Debugging, Zellescher Weg 12 Willers-Bau A106 Tel
Center for Information Services and High Performance Computing (ZIH) Welcome HRSK Practical on Debugging, 03.04.2009 Zellescher Weg 12 Willers-Bau A106 Tel. +49 351-463 - 31945 Matthias Lieber (matthias.lieber@tu-dresden.de)
More informationINSTALLING INSTALLING INSTALLING
Concurrent F77 Version 7.3 Release Notes (PowerMAX) November 2006 0890536-7.3 READ READ READ ME ME ME BEFORE BEFORE BEFORE INSTALLING INSTALLING INSTALLING THIS THIS THIS PRODUCT PRODUCT PRODUCT Copyright
More informationIntro to Segmentation Fault Handling in Linux. By Khanh Ngo-Duy
Intro to Segmentation Fault Handling in Linux By Khanh Ngo-Duy Khanhnd@elarion.com Seminar What is Segmentation Fault (Segfault) Examples and Screenshots Tips to get Segfault information What is Segmentation
More informationJackson Marusarz Software Technical Consulting Engineer
Jackson Marusarz Software Technical Consulting Engineer What Will Be Covered Overview Memory/Thread analysis New Features Deep dive into debugger integrations Demo Call to action 2 Analysis Tools for Diagnosis
More informationIntroduction. CS 2210 Compiler Design Wonsun Ahn
Introduction CS 2210 Compiler Design Wonsun Ahn What is a Compiler? Compiler: A program that translates source code written in one language to a target code written in another language Source code: Input
More informationStatic Analysis in C/C++ code with Polyspace
1 Static Analysis in C/C++ code with Polyspace Yongchool Ryu Application Engineer gary.ryu@mathworks.com 2016 The MathWorks, Inc. 2 Agenda Efficient way to find problems in Software Category of Static
More informationUsing the Go Programming Language in Practice
Using the Go Programming Language in Practice Erik Westrup & Fredrik Pettersson Department of Computer Science, Lund University Axis Communications, Sweden May 28, 2014 Supervisors: Jonas Skeppstedt
More informationConcurrency, Thread. Dongkun Shin, SKKU
Concurrency, Thread 1 Thread Classic view a single point of execution within a program a single PC where instructions are being fetched from and executed), Multi-threaded program Has more than one point
More informationRISC-V. Palmer Dabbelt, SiFive COPYRIGHT 2018 SIFIVE. ALL RIGHTS RESERVED.
RISC-V Palmer Dabbelt, SiFive Why Instruction Set Architecture matters Why can t Intel sell mobile chips? 99%+ of mobile phones/tablets are based on ARM s v7/v8 ISA Why can t ARM partners sell servers?
More informationLanguage Translation. Compilation vs. interpretation. Compilation diagram. Step 1: compile. Step 2: run. compiler. Compiled program. program.
Language Translation Compilation vs. interpretation Compilation diagram Step 1: compile program compiler Compiled program Step 2: run input Compiled program output Language Translation compilation is translation
More informationINSTALLING INSTALLING INSTALLING
Concurrent F77 Version 7.2 Release Notes (Linux Cross) April 2006 0898536-7.2 READ READ READ ME ME ME BEFORE BEFORE BEFORE INSTALLING INSTALLING INSTALLING THIS THIS THIS PRODUCT PRODUCT PRODUCT Copyright
More informationEclipse Debug Find Current Instruction Pointer
Eclipse Debug Find Current Instruction Pointer Here in this code, in eclipse the code is running, but when I debug it, I get in line 9 (the constructor with Multiple markers at this line - Debug Current
More informationIntel C++ Compiler Professional Edition 11.1 for Linux* In-Depth
Intel C++ Compiler Professional Edition 11.1 for Linux* In-Depth Contents Intel C++ Compiler Professional Edition 11.1 for Linux*.... 3 Intel C++ Compiler Professional Edition Components:......... 3 s...3
More informationRed Hat Developer Toolset 6.1
Red Hat Developer Toolset 6.1 User Guide Installing and Using Red Hat Developer Toolset Last Updated: 2017-10-11 Red Hat Developer Toolset 6.1 User Guide Installing and Using Red Hat Developer Toolset
More informationCOP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher
COP4020 ming Languages Compilers and Interpreters Robert van Engelen & Chris Lacher Overview Common compiler and interpreter configurations Virtual machines Integrated development environments Compiler
More informationUnderstanding Undefined Behavior
Session Developer Tools #WWDC17 Understanding Undefined Behavior 407 Fred Riss, Clang Team Ryan Govostes, Security Engineering and Architecture Team Anna Zaks, Program Analysis Team 2017 Apple Inc. All
More informationIntel C++ Compiler Professional Edition 11.0 for Linux* In-Depth
Intel C++ Compiler Professional Edition 11.0 for Linux* In-Depth Contents Intel C++ Compiler Professional Edition for Linux*...3 Intel C++ Compiler Professional Edition Components:...3 Features...3 New
More informationTesting and Debugging C Programming and Software Tools. N.C. State Department of Computer Science
Testing and Debugging C Programming and Software Tools N.C. State Department of Computer Science Introduction Majority of software development is testing, debugging, and bug fixing The best software developers
More informationUsing the Command Line
1 Unit 15 Debugging COMPILATION 2 3 Using the Command Line While it has a GUI interface like your Mac or Windows PC much of its power lies in its rich set of utilities that are most easily run at the command
More informationNDK OVERVIEW OF THE ANDROID NATIVE DEVELOPMENT KIT
ANDROID NDK OVERVIEW OF THE ANDROID NATIVE DEVELOPMENT KIT Peter R. Egli INDIGOO.COM 1/16 Contents 1. What you can do with NDK 2. When to use native code 3. Stable APIs to use / available libraries 4.
More informationF28HS2 Hardware-Software Interfaces. Lecture 6: ARM Assembly Language 1
F28HS2 Hardware-Software Interfaces Lecture 6: ARM Assembly Language 1 CISC & RISC CISC: complex instruction set computer original CPUs very simple poorly suited to evolving high level languages extended
More informationECE/ME/EMA/CS 759 High Performance Computing for Engineering Applications
ECE/ME/EMA/CS 759 High Performance Computing for Engineering Applications Elements of Program Debugging Dan Negrut, 2017 ECE/ME/EMA/CS 759 UW-Madison Debugging on Euler [with gdb] Slides on gdb include
More informationLecture 07 Debugging Programs with GDB
Lecture 07 Debugging Programs with GDB In this lecture What is debugging Most Common Type of errors Process of debugging Examples Further readings Exercises What is Debugging Debugging is the process of
More informationUpgrading XL Fortran Compilers
Upgrading XL Fortran Compilers Oeriew Upgrading to the latest IBM XL Fortran compilers makes good business sense. Upgrading puts new capabilities into the hands of your programmers making them and your
More informationECS 153 Discussion Section. April 6, 2015
ECS 153 Discussion Section April 6, 2015 1 What We ll Cover Goal: To discuss buffer overflows in detail Stack- based buffer overflows Smashing the stack : execution from the stack ARC (or return- to- libc)
More informationAMD CodeXL 1.3 GA Release Notes
AMD CodeXL 1.3 GA Release Notes Thank you for using CodeXL. We appreciate any feedback you have! Please use the CodeXL Forum to provide your feedback. You can also check out the Getting Started guide on
More informationIntel Parallel Studio XE 2015
2015 Create faster code faster with this comprehensive parallel software development suite. Faster code: Boost applications performance that scales on today s and next-gen processors Create code faster:
More informationDynamic code analysis tools
Dynamic code analysis tools Stewart Martin-Haugh (STFC RAL) Berkeley Software Technical Interchange meeting Stewart Martin-Haugh (STFC RAL) Dynamic code analysis tools 1 / 16 Overview Introduction Sanitizer
More informationRed Hat Developer Toolset 2.x 2.0 Release Notes
Red Hat Developer Toolset 2.x 2.0 Release Notes Release Notes for Red Hat Developer Toolset 2.0 Eliška Slobodová Red Hat Developer Toolset 2.x 2.0 Release Notes Release Notes for Red Hat Developer Toolset
More informationDownload, Install and Setup the Linux Development Workload Create a New Linux Project Configure a Linux Project Configure a Linux CMake Project
Table of Contents Download, Install and Setup the Linux Development Workload Create a New Linux Project Configure a Linux Project Configure a Linux CMake Project Connect to Your Remote Linux Computer Deploy,
More informationSUSE Linux Entreprise Server for ARM
FUT89013 SUSE Linux Entreprise Server for ARM Trends and Roadmap Jay Kruemcke Product Manager jayk@suse.com @mr_sles ARM Overview ARM is a Reduced Instruction Set (RISC) processor family British company,
More informationOpenMP 4.0 implementation in GCC. Jakub Jelínek Consulting Engineer, Platform Tools Engineering, Red Hat
OpenMP 4.0 implementation in GCC Jakub Jelínek Consulting Engineer, Platform Tools Engineering, Red Hat OpenMP 4.0 implementation in GCC Work started in April 2013, C/C++ support with host fallback only
More informationSoftware Development Using Full System Simulation with Freescale QorIQ Communications Processors
Patrick Keliher, Simics Field Application Engineer Software Development Using Full System Simulation with Freescale QorIQ Communications Processors 1 2013 Wind River. All Rights Reserved. Agenda Introduction
More informationAMD gdebugger 6.2 for Linux
AMD gdebugger 6.2 for Linux by vincent Saturday, 19 May 2012 http://www.streamcomputing.eu/blog/2012-05-19/amd-gdebugger-6-2-for-linux/ The printf-funtion in kernels isn t the solution to everything, so
More informationTools of the Trade The C Language Laboration 04. Outline. 1 Tools of the Trade. 2 The C Language. 3 Laboration 04
Outline 1 2 3 GNU Project GNU Project - Free Software(?) Licensed under GPL(v2 v3) - GNU Public Licence. Freedom to modify, bound to distribute source (if you distribute it!). Effort initiated (announced)
More informationThe Go Programming Language. Frank Roberts
The Go Programming Language Frank Roberts frank.roberts@uky.edu - C++ (1983), Java (1995), Python (1991): not modern - Java is 18 years old; how has computing changed in 10? - multi/many core - web programming
More informationMalware
reloaded Malware Research Team @ @xabiugarte Motivation Design principles / architecture Features Use cases Future work Dynamic Binary Instrumentation Techniques to trace the execution of a binary (or
More informationReal-World Buffer Overflow Protection in User & Kernel Space
Real-World Buffer Overflow Protection in User & Kernel Space Michael Dalton, Hari Kannan, Christos Kozyrakis Computer Systems Laboratory Stanford University http://raksha.stanford.edu 1 Motivation Buffer
More informationAddressing the Increasing Challenges of Debugging on Accelerated HPC Systems. Ed Hinkel Senior Sales Engineer
Addressing the Increasing Challenges of Debugging on Accelerated HPC Systems Ed Hinkel Senior Sales Engineer Agenda Overview - Rogue Wave & TotalView GPU Debugging with TotalView Nvdia CUDA Intel Phi 2
More informationPierce Ch. 3, 8, 11, 15. Type Systems
Pierce Ch. 3, 8, 11, 15 Type Systems Goals Define the simple language of expressions A small subset of Lisp, with minor modifications Define the type system of this language Mathematical definition using
More informationReproducible Builds. Valerie Young (spectranaut) Linux Conf Australia 2016
Reproducible Builds Valerie Young (spectranaut) Linux Conf Australia 2016 Valerie Young F96E 6B8E FF5D 372F FDD1 DA43 E8F2 1DB3 3D9C 12A9 spectranaut on OFTC/freenode Studied physics and computer science
More informationCoding Tools. (Lectures on High-performance Computing for Economists VI) Jesús Fernández-Villaverde 1 and Pablo Guerrón 2 March 25, 2018
Coding Tools (Lectures on High-performance Computing for Economists VI) Jesús Fernández-Villaverde 1 and Pablo Guerrón 2 March 25, 2018 1 University of Pennsylvania 2 Boston College Compilers Compilers
More informationImplementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications
Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications By, Janakiram MSV Executive Summary Application development has gone through a fundamental shift in the recent past.
More informationShort-term Memory for Self-collecting Mutators. Martin Aigner, Andreas Haas, Christoph Kirsch, Ana Sokolova Universität Salzburg
Short-term Memory for Self-collecting Mutators Martin Aigner, Andreas Haas, Christoph Kirsch, Ana Sokolova Universität Salzburg CHESS Seminar, UC Berkeley, September 2010 Heap Management explicit heap
More informationC++ Developer Survey "Lite": C++ and Cloud
Q1 This month we focus on how C++ is used, or could be better for use, in cloud-related applications and environments. In what (if any) kinds of cloud computing-related workloads do you use C++? (select
More informationTransitioning from uclibc to musl for embedded development. Embedded Linux Conference 2015 Rich Felker, maintainer, musl libc March 24, 2015
Transitioning from uclibc to musl for embedded development Embedded Linux Conference 2015 Rich Felker, maintainer, musl libc March 24, 2015 What is musl? musl is a libc, an implementation of the user-space
More informationContinue: How do I learn C? C Primer Continued (Makefiles, debugging, and more ) Last Time: A Simple(st) C Program 1-hello-world.c!
Continue: How do I learn C? C Primer Continued (Makefiles, debugging, and more ) Hello Word! ~/ctest/ In addition to syntax you need to learn: the Tools the Libraries. And the Documentation. Maria Hybinette,
More informationSoK: Eternal War in Memory
SoK: Eternal War in Memory László Szekeres, Mathias Payer, Tao Wei, Dawn Song Presenter: Wajih 11/7/2017 Some slides are taken from original S&P presentation 1 What is SoK paper? Systematization of Knowledge
More informationVisual Studio 2008 Load Symbols Manually
Visual Studio 2008 Load Symbols Manually Microsoft Visual Studio 2008 SP1 connects to the Microsoft public symbol are loaded manually if you want to load symbols automatically when you launch. Have you
More informationSUSE Linux Enterprise 15. #MultimodalOS
SUSE Linux Enterprise 15 #MultimodalOS SUSE is Redefining What it Means to be Open Open Source Community Customers & Partners Committed to open source Being a leader and contributor within the open source
More informationPyROOT: Seamless Melting of C++ and Python. Pere MATO, Danilo PIPARO on behalf of the ROOT Team
PyROOT: Seamless Melting of C++ and Python Pere MATO, Danilo PIPARO on behalf of the ROOT Team ROOT At the root of the experiments, project started in 1995 Open Source project (LGPL2) mainly written in
More informationA program execution is memory safe so long as memory access errors never occur:
A program execution is memory safe so long as memory access errors never occur: Buffer overflows, null pointer dereference, use after free, use of uninitialized memory, illegal free Memory safety categories
More informationVisual Profiler. User Guide
Visual Profiler User Guide Version 3.0 Document No. 06-RM-1136 Revision: 4.B February 2008 Visual Profiler User Guide Table of contents Table of contents 1 Introduction................................................
More informationIntel Parallel Studio XE 2017 Composer Edition BETA C++ - Debug Solutions Release Notes
Developer Zone Intel Parallel Studio XE 2017 Composer Edition BETA C++ - Debug Solutions Release Notes Submitted by Georg Z. (Intel) on August 5, 2016 This page provides the current Release Notes for the
More informationDEBUGGING ON FERMI PREPARING A DEBUGGABLE APPLICATION GDB. GDB on front-end nodes
DEBUGGING ON FERMI Debugging your application on a system based on a BG/Q architecture like FERMI could be an hard task due to the following problems: the core files generated by a crashing job on FERMI
More informationIntegrating Open Source Tools for Developing Embedded Linux Applications
Integrating Open Source Tools for Developing Embedded Linux Applications Raul Fernandes Herbster 1, Hyggo Almeida 1, Angelo Perkusich 1, Dalton Guerrero 1 1 Embedded Systems and Pervasive Computing Laboratory
More informationTopic 6: A Quick Intro To C
Topic 6: A Quick Intro To C Assumption: All of you know Java. Much of C syntax is the same. Also: Many of you have used C or C++. Goal for this topic: you can write & run a simple C program basic functions
More informationDavid R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.
Whitepaper Introduction A Library Based Approach to Threading for Performance David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.
More informationImproving Error Checking and Unsafe Optimizations using Software Speculation. Kirk Kelsey and Chen Ding University of Rochester
Improving Error Checking and Unsafe Optimizations using Software Speculation Kirk Kelsey and Chen Ding University of Rochester Outline Motivation Brief problem statement How speculation can help Our software
More informationWHITEPAPER. Embracing Containers & Microservices for future-proof application modernization
WHITEPAPER Embracing Containers & Microservices for future-proof application modernization The need for application modernization: Legacy applications are typically based on a monolithic design, which
More informationProfiling and Debugging OpenCL Applications with ARM Development Tools. October 2014
Profiling and Debugging OpenCL Applications with ARM Development Tools October 2014 1 Agenda 1. Introduction to GPU Compute 2. ARM Development Solutions 3. Mali GPU Architecture 4. Using ARM DS-5 Streamline
More informationCompiling and Interpreting Programming. Overview of Compilers and Interpreters
Copyright R.A. van Engelen, FSU Department of Computer Science, 2000 Overview of Compilers and Interpreters Common compiler and interpreter configurations Virtual machines Integrated programming environments
More informationC++ Undefined Behavior What is it, and why should I care?
C++ Undefined Behavior What is it, and why should I care? Marshall Clow Qualcomm marshall@idio.com http://cplusplusmusings.wordpress.com (intermittent) Twitter: @mclow ACCU 2014 April 2014 What is Undefined
More informationProgramming Studio #9 ECE 190
Programming Studio #9 ECE 190 Programming Studio #9 Concepts: Functions review 2D Arrays GDB Announcements EXAM 3 CONFLICT REQUESTS, ON COMPASS, DUE THIS MONDAY 5PM. NO EXTENSIONS, NO EXCEPTIONS. Functions
More informationApplication Compatibility Guide
Application Compatibility Guide Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright Micro Focus 2018. All rights reserved. MICRO FOCUS, the Micro
More information