SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
ASIA 2013 (LCA13)
Toolchain Working Group
LLVM Update
Matthew Gretton-Dann
Technical Lead - Toolchain Working Group
ASIA 2013 (LCA13)
www.linaro.org
Agenda
What is LLVM?
LLVM Team within TCWG
What's been done so far
What's next
Discussion about Future Direction
ASIA 2013 (LCA13)
www.linaro.org
LLVM – What is it?
Low Level Virtual Machine (not Virtualisation!)
http://llvm.org/
Compiler and Code Generation Framework
Not one project but many
LLVM core: Libraries, optimizations, back-ends
Clang: C/C++ front-end
Libc++: C++ STL
Compiler-rt: Run-time libraries
Dragon egg: GCC back-end (ie. Using GCC's front-end)
LLDB: Symbolic debugger, using JIT, disassembler, Clang's AST
Polly: Auto-parallelism using polyhedral model
Etc...
ASIA 2013 (LCA13)
www.linaro.org
LLVM Team in TCWG
Team of 1
Renato Golin
Started in January
Working at the Cambridge office
ASIA 2013 (LCA13)
www.linaro.org
LLVM Team Goals
Improve Performance on AArch32 and AArch64
Mostly back-end focused
Will do mid-end work where appropriate
Front-end agnostic
Support the Community
Support the Continuous Integration infrastructure
Investigate and fix ARM specific issues as they arise
Review patches that affect ARM on the short/medium term
Help organize LLVM social events and conferences
ASIA 2013 (LCA13)
www.linaro.org
Build Bots
Linaro have contributed to the LLVM Community Build Farm:
A PandaBoard for testing
http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9
Fine tuning improved performance and build time 10-fold
A ChromeBook for benchmarking
http://lab.llvm.org:8011/builders/clang-native-arm-lnt
http://llvm.org/perf/db_default/v4/nts/machine/10
Proposed a GsoC project to get better reports from LNT Perf DB
Working on an old (non-Linaro) ARMv5 bot
http://lab.llvm.org:8011/builders/llvm-armv5-linux
Commits are being tested on ARM boards immediately
Build breakages noticed within hours, some fixed independently
ARM bot is now recognized as always-green
Continuous work to keep it green is lower than fixing bugs after weeks
of it being introduced
ASIA 2013 (LCA13)
www.linaro.org
Auto-vectorisation
LLVM 3.3 will have auto-vectorization enabled by default
Making sure ARM support is enabled from day 1
Overnight testing with vectorizer enabled
Internal testing on micro-benchmarks
Discussing with the community
Working on the vectorizer to understand infrastructure
Added cost model infrastructure to ARM Target Transform Info
Added generic alias analysis for global structure members
Discussions about some problems with cost model
ASIA 2013 (LCA13)
www.linaro.org
What's next (March - July)
Build Bots
Re-introduce A15 buildbots
Increase number of LNT A15 buildbots
Add AArch64 build-bots
Performance
Continue supporting vectorization work
Update cost model tables
Cross-check Loop and BasicBlock vectorizers
Enhance cost model to account for side-effects
Enhance benchmark coverage and reporting
More LNT bots
Better reporting, warning system
Fine-tune LNT benchmarks for ARM
ASIA 2013 (LCA13)
www.linaro.org
What's Next (July onwards)
What's of interest to the room...
LLVM Integrated Assembler?
Use it instead of GAS for ELF emission
Re-enable GAS for Gnu-specific behaviour
Zero-Cost Exception Handling?
Only basic examples work on ARM
SjLj works on Darwin
Cross-compilation infrastructure?
Command-line options nightmare!
Will GsoC project proposal be taken?
Study big.LITTLE impact?
Discussion about IFUNC support in LLVM
OpenCL? LLVMpipe? Renderscript?
We're front-end agnostic, but IR produced by them is different
How important is it for that IR to run efficiently on NEON?
More about Linaro Connect: www.linaro.org/connect/
More about Linaro: www.linaro.org/about/
More about Linaro engineering: www.linaro.org/engineering/
ASIA 2013 (LCA13)

Contenu connexe

Plus de 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
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
Linaro
 

Plus de Linaro (20)

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
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

LCA13: Toolchain Working Group LLVM Update

  • 1. ASIA 2013 (LCA13) Toolchain Working Group LLVM Update Matthew Gretton-Dann Technical Lead - Toolchain Working Group
  • 2. ASIA 2013 (LCA13) www.linaro.org Agenda What is LLVM? LLVM Team within TCWG What's been done so far What's next Discussion about Future Direction
  • 3. ASIA 2013 (LCA13) www.linaro.org LLVM – What is it? Low Level Virtual Machine (not Virtualisation!) http://llvm.org/ Compiler and Code Generation Framework Not one project but many LLVM core: Libraries, optimizations, back-ends Clang: C/C++ front-end Libc++: C++ STL Compiler-rt: Run-time libraries Dragon egg: GCC back-end (ie. Using GCC's front-end) LLDB: Symbolic debugger, using JIT, disassembler, Clang's AST Polly: Auto-parallelism using polyhedral model Etc...
  • 4. ASIA 2013 (LCA13) www.linaro.org LLVM Team in TCWG Team of 1 Renato Golin Started in January Working at the Cambridge office
  • 5. ASIA 2013 (LCA13) www.linaro.org LLVM Team Goals Improve Performance on AArch32 and AArch64 Mostly back-end focused Will do mid-end work where appropriate Front-end agnostic Support the Community Support the Continuous Integration infrastructure Investigate and fix ARM specific issues as they arise Review patches that affect ARM on the short/medium term Help organize LLVM social events and conferences
  • 6. ASIA 2013 (LCA13) www.linaro.org Build Bots Linaro have contributed to the LLVM Community Build Farm: A PandaBoard for testing http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9 Fine tuning improved performance and build time 10-fold A ChromeBook for benchmarking http://lab.llvm.org:8011/builders/clang-native-arm-lnt http://llvm.org/perf/db_default/v4/nts/machine/10 Proposed a GsoC project to get better reports from LNT Perf DB Working on an old (non-Linaro) ARMv5 bot http://lab.llvm.org:8011/builders/llvm-armv5-linux Commits are being tested on ARM boards immediately Build breakages noticed within hours, some fixed independently ARM bot is now recognized as always-green Continuous work to keep it green is lower than fixing bugs after weeks of it being introduced
  • 7. ASIA 2013 (LCA13) www.linaro.org Auto-vectorisation LLVM 3.3 will have auto-vectorization enabled by default Making sure ARM support is enabled from day 1 Overnight testing with vectorizer enabled Internal testing on micro-benchmarks Discussing with the community Working on the vectorizer to understand infrastructure Added cost model infrastructure to ARM Target Transform Info Added generic alias analysis for global structure members Discussions about some problems with cost model
  • 8. ASIA 2013 (LCA13) www.linaro.org What's next (March - July) Build Bots Re-introduce A15 buildbots Increase number of LNT A15 buildbots Add AArch64 build-bots Performance Continue supporting vectorization work Update cost model tables Cross-check Loop and BasicBlock vectorizers Enhance cost model to account for side-effects Enhance benchmark coverage and reporting More LNT bots Better reporting, warning system Fine-tune LNT benchmarks for ARM
  • 9. ASIA 2013 (LCA13) www.linaro.org What's Next (July onwards) What's of interest to the room... LLVM Integrated Assembler? Use it instead of GAS for ELF emission Re-enable GAS for Gnu-specific behaviour Zero-Cost Exception Handling? Only basic examples work on ARM SjLj works on Darwin Cross-compilation infrastructure? Command-line options nightmare! Will GsoC project proposal be taken? Study big.LITTLE impact? Discussion about IFUNC support in LLVM OpenCL? LLVMpipe? Renderscript? We're front-end agnostic, but IR produced by them is different How important is it for that IR to run efficiently on NEON?
  • 10. More about Linaro Connect: www.linaro.org/connect/ More about Linaro: www.linaro.org/about/ More about Linaro engineering: www.linaro.org/engineering/ ASIA 2013 (LCA13)