SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
BUD17-406
Toolchain Coordination
Maxim Kuvyrkov (Linaro), Siddhesh Poyarekar (Linaro)
Joey Ye (ARM)
ENGINEERS AND DEVICES
WORKING TOGETHER
Upstream Toolchain Coordination
● Linaro TCWG
○ GNU Toolchain
○ LLVM Toolchain
● Linaro Services
○ GNU Toolchain
● ARM
○ GNU Toolchain
○ LLVM Toolchain
● ST
○ GNU Toolchain
○ LLVM Toolchain
ENGINEERS AND DEVICES
WORKING TOGETHER
Linaro TCWG: GNU Toolchain
● GCC: IPA-CP improvements
● GCC: IPA pure-const improvements
● GCC: Gimple reassociation optimizations
● GCC: Investigate LTO performance
● Glibc: C11 threads support in Glibc
● Glibc: Continue code cleanup and consolidation
● GDB: Kernel Awareness
ENGINEERS AND DEVICES
WORKING TOGETHER
Linaro TCWG: LLVM Toolchain
● LLD: Make LLD self-hosting with Clang on ARM + testsuite
● LLDB: Complete hardware breakpoint support
● LLVM: Global ISel for ARM (basic coverage)
● LLVM: Investigate libomp vs libgomp
● LLVM: Buildbot improvements
ENGINEERS AND DEVICES
WORKING TOGETHER
Linaro TCWG: Other tools
● OpenOCD: AArch64 & GDB Remote debugging interoperability
● ILP32 ABI: Review Glibc patches, assist with delivery
● LuaJIT: Performance improvement investigation
ENGINEERS AND DEVICES
WORKING TOGETHER
Linaro Services: GCC
● GCC optimizations for falkor
○ Pipeline description
○ Tuning
○ Loop Array Prefetching
● Generic GCC work
○ Bug fixes in the scheduler, vectorizer
○ Interplay of loop distribution and vectorizer passes
■ Make alias analysis smarter
■ Reverse CSE when it affects loop distribution adversely
ENGINEERS AND DEVICES
WORKING TOGETHER
Linaro Services: Glibc
● Glibc optimizations for falkor and aarch64
○ Optimized routines for falkor
○ Tunables support for IFUNC selection overrides
○ Feature parity with x86 - sysconf cache info
● Generic glibc work
○ Systemwide tunables
○ Tightening environment variable processing in AT_SECURE processes
ARM Update to BUD17
TCWG
Joey Ye
Senior Engineer Manager
9
GNU development in 2016
▪ Push architecture features, Performance optimizations and defect fixes into GCC7
▪ Architecture features
▪ ARMv8.2-A full support
▪ ARMv8-M full support
▪ New architectures (SVE, ARMv8.3-A)
▪ Reviewing ILP32
▪ Performance optimizations
▪ Vectorizer enhancement for aarch64
▪ IVOpts for aarch32/aarch64
▪ Store widening
▪ If conversion enhancement
▪ Observed performance gain on SPEC
▪ Defect fixes
▪ Required as aarch64 becomes a primary platform
▪ 7 engineers attended GCC Cauldron
10
GNU focus 2017
▪ Push architecture features, optimizations and defect fixes into GCC8
▪ Architecture features enabling
▪ Optimizing for server benchmark
▪ Improve CPU2006
▪ Look into new version of SPEC benchmark
▪ Optimization tasks
▪ Vect-math library enabling and optimization
▪ Math function optimization (libm & newlib)
▪ Vectorizer enhancement for aarch64
▪ GCC prefetcher
▪ Watching GCC aarch64 performance regression
▪ Cleanup GCC aarch64 correctness regression
11
LLVM development in late 2016, early 2017
▪ Architecture features
▪ ARMv8.3-A full support – ongoing
▪ SVE support – ongoing
▪ Optimizations
▪ More code size improvements: see Sjoerd Meijer’s upcoming presentation at EuroLLVM (March 27/28,
Saarbrücken).
▪ Continuous tracking of top-of-trunk performance on a range of benchmarks and cores; reacting to get
performance regressions fixed quickly. See Kristof Beyls’s FOSDEM2017 presentation last month.
▪ LLVM framework improvements
▪ Making it easier to write pipeline models for ARM code.
▪ Contributing to GlobalISel development.
▪ Other improvements
▪ Libc++: improve multi-threading support; making no-exceptions work.
▪ Debug info at optimization: significant improvement on correctly describing variables in loops.
▪ Android and Chromeos enabling: fixed a range of defects.
▪ Infrastructure: LNT improvements.
▪ Three presentations at LLVM developers meetings and FOSDEM
▪ Contributed to the organization of US/Euro LLVM dev meetings and FOSDEM
12
LLVM Focus 2017
▪ Enable architecture features
▪ More code size optimizations
▪ Continuous tracking of top-of-trunk performance
▪ Contributing to GlobalISel development
▪ Android and Chromeos enabling
▪ Infrastructure: LNT improvements
▪ Optimizing libomp
13
Expect Linaro to carry on
▪ Continue current contribution from Linaro
▪ LLD, GDB, Qemu
▪ Continue Linaro GNUTools binary release
▪ AArch64
▪ AArch32 A-profile
▪ Linux target
▪ Continue GCC/LLVM quality testing
▪ Continue GCC optimizations
14
Additional help needed
▪ SVE enabling?
▪ Qemu
▪ ACLE in GCC
▪ More LLVM quality test?
▪ Android build test and trunk perf test
▪ AArch32 R/M profile bare-metal binary release?
▪ Linux, Windows and Mac host
▪ Optimize libgomp?
▪ Find and verify major design flaws in GOMP
▪ Verify applicability of per-thread task queues approach
▪ Handle bigger scale project for re-designing GOMP to be more like LLVM libomp
▪ Help to verify correctness of proposed changes (e.g. check that OpenMP3.1 Validation Suite test
passes; tasking benchmarks, etc. are still working)
Thank You
#BUD17
For further information: www.linaro.org
BUD17 keynotes and videos on: connect.linaro.org

Más contenido relacionado

Más de Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 

Más de Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

BUD17-406: Toolchain Coordination

  • 1. BUD17-406 Toolchain Coordination Maxim Kuvyrkov (Linaro), Siddhesh Poyarekar (Linaro) Joey Ye (ARM)
  • 2. ENGINEERS AND DEVICES WORKING TOGETHER Upstream Toolchain Coordination ● Linaro TCWG ○ GNU Toolchain ○ LLVM Toolchain ● Linaro Services ○ GNU Toolchain ● ARM ○ GNU Toolchain ○ LLVM Toolchain ● ST ○ GNU Toolchain ○ LLVM Toolchain
  • 3. ENGINEERS AND DEVICES WORKING TOGETHER Linaro TCWG: GNU Toolchain ● GCC: IPA-CP improvements ● GCC: IPA pure-const improvements ● GCC: Gimple reassociation optimizations ● GCC: Investigate LTO performance ● Glibc: C11 threads support in Glibc ● Glibc: Continue code cleanup and consolidation ● GDB: Kernel Awareness
  • 4. ENGINEERS AND DEVICES WORKING TOGETHER Linaro TCWG: LLVM Toolchain ● LLD: Make LLD self-hosting with Clang on ARM + testsuite ● LLDB: Complete hardware breakpoint support ● LLVM: Global ISel for ARM (basic coverage) ● LLVM: Investigate libomp vs libgomp ● LLVM: Buildbot improvements
  • 5. ENGINEERS AND DEVICES WORKING TOGETHER Linaro TCWG: Other tools ● OpenOCD: AArch64 & GDB Remote debugging interoperability ● ILP32 ABI: Review Glibc patches, assist with delivery ● LuaJIT: Performance improvement investigation
  • 6. ENGINEERS AND DEVICES WORKING TOGETHER Linaro Services: GCC ● GCC optimizations for falkor ○ Pipeline description ○ Tuning ○ Loop Array Prefetching ● Generic GCC work ○ Bug fixes in the scheduler, vectorizer ○ Interplay of loop distribution and vectorizer passes ■ Make alias analysis smarter ■ Reverse CSE when it affects loop distribution adversely
  • 7. ENGINEERS AND DEVICES WORKING TOGETHER Linaro Services: Glibc ● Glibc optimizations for falkor and aarch64 ○ Optimized routines for falkor ○ Tunables support for IFUNC selection overrides ○ Feature parity with x86 - sysconf cache info ● Generic glibc work ○ Systemwide tunables ○ Tightening environment variable processing in AT_SECURE processes
  • 8. ARM Update to BUD17 TCWG Joey Ye Senior Engineer Manager
  • 9. 9 GNU development in 2016 ▪ Push architecture features, Performance optimizations and defect fixes into GCC7 ▪ Architecture features ▪ ARMv8.2-A full support ▪ ARMv8-M full support ▪ New architectures (SVE, ARMv8.3-A) ▪ Reviewing ILP32 ▪ Performance optimizations ▪ Vectorizer enhancement for aarch64 ▪ IVOpts for aarch32/aarch64 ▪ Store widening ▪ If conversion enhancement ▪ Observed performance gain on SPEC ▪ Defect fixes ▪ Required as aarch64 becomes a primary platform ▪ 7 engineers attended GCC Cauldron
  • 10. 10 GNU focus 2017 ▪ Push architecture features, optimizations and defect fixes into GCC8 ▪ Architecture features enabling ▪ Optimizing for server benchmark ▪ Improve CPU2006 ▪ Look into new version of SPEC benchmark ▪ Optimization tasks ▪ Vect-math library enabling and optimization ▪ Math function optimization (libm & newlib) ▪ Vectorizer enhancement for aarch64 ▪ GCC prefetcher ▪ Watching GCC aarch64 performance regression ▪ Cleanup GCC aarch64 correctness regression
  • 11. 11 LLVM development in late 2016, early 2017 ▪ Architecture features ▪ ARMv8.3-A full support – ongoing ▪ SVE support – ongoing ▪ Optimizations ▪ More code size improvements: see Sjoerd Meijer’s upcoming presentation at EuroLLVM (March 27/28, Saarbrücken). ▪ Continuous tracking of top-of-trunk performance on a range of benchmarks and cores; reacting to get performance regressions fixed quickly. See Kristof Beyls’s FOSDEM2017 presentation last month. ▪ LLVM framework improvements ▪ Making it easier to write pipeline models for ARM code. ▪ Contributing to GlobalISel development. ▪ Other improvements ▪ Libc++: improve multi-threading support; making no-exceptions work. ▪ Debug info at optimization: significant improvement on correctly describing variables in loops. ▪ Android and Chromeos enabling: fixed a range of defects. ▪ Infrastructure: LNT improvements. ▪ Three presentations at LLVM developers meetings and FOSDEM ▪ Contributed to the organization of US/Euro LLVM dev meetings and FOSDEM
  • 12. 12 LLVM Focus 2017 ▪ Enable architecture features ▪ More code size optimizations ▪ Continuous tracking of top-of-trunk performance ▪ Contributing to GlobalISel development ▪ Android and Chromeos enabling ▪ Infrastructure: LNT improvements ▪ Optimizing libomp
  • 13. 13 Expect Linaro to carry on ▪ Continue current contribution from Linaro ▪ LLD, GDB, Qemu ▪ Continue Linaro GNUTools binary release ▪ AArch64 ▪ AArch32 A-profile ▪ Linux target ▪ Continue GCC/LLVM quality testing ▪ Continue GCC optimizations
  • 14. 14 Additional help needed ▪ SVE enabling? ▪ Qemu ▪ ACLE in GCC ▪ More LLVM quality test? ▪ Android build test and trunk perf test ▪ AArch32 R/M profile bare-metal binary release? ▪ Linux, Windows and Mac host ▪ Optimize libgomp? ▪ Find and verify major design flaws in GOMP ▪ Verify applicability of per-thread task queues approach ▪ Handle bigger scale project for re-designing GOMP to be more like LLVM libomp ▪ Help to verify correctness of proposed changes (e.g. check that OpenMP3.1 Validation Suite test passes; tasking benchmarks, etc. are still working)
  • 15. Thank You #BUD17 For further information: www.linaro.org BUD17 keynotes and videos on: connect.linaro.org