an llvm based loop profiler
play

An LLVM based Loop Profiler Shalini Jain * , Kamlesh Kumar + , Suresh - PowerPoint PPT Presentation

An LLVM based Loop Profiler Shalini Jain * , Kamlesh Kumar + , Suresh Purini $ , Dibyendu Das , Ramakrishna Upadrasta * Indian Institute of Technology, Hyderabad * National Institute of Technology, Manipur + International Institute of Information


  1. An LLVM based Loop Profiler Shalini Jain * , Kamlesh Kumar + , Suresh Purini $ , Dibyendu Das £ , Ramakrishna Upadrasta * Indian Institute of Technology, Hyderabad * National Institute of Technology, Manipur + International Institute of Information Technology, Hyderabad $ AMD India Pvt. Ltd £

  2. Profiling Profiling: A way to calculate run-time information ○ Execution-time, Cache-misses, Iteration Count, etc … ○ Helps to analyze the code to fix performance related issues ○ Need to do instrumentation to calculate profile information Currently: No Loop Profiler in LLVM ○ For analyzing run time metrics Our Contribution: Implemented an Loop based Profiler ○ Calculates clock ticks ○ Calculates iteration count 2

  3. An LLVM based Loop Profiler: Flow Graph 3

  4. Implementation Instrumentation For Each Loop ● ○ At end of pre-header block Appended Instructions for first Call Instruction to clock function ■ Loop Pre-Header 4

  5. Implementation Instrumentation For Each Loop ● ○ Before First Non ɸ Node of All Possible Exit Blocks Append instructions for ■ ● Second Call Instruction to clock function ● Store Difference of Two calls ● Add current difference with previous value and Store it 5

  6. 6

  7. Results: SPEC CPU 2006 (Inner Loop) 7

  8. Results: SPEC CPU 2006 (Outer Loop) 8

  9. Results: SPEC CPU 2006 (All Loops) 9

  10. Result Analysis: SPEC CPU 2006 (INT) hmmer (SPEC 2006 INT) xalancbmk (SPEC 2006 INT) 10

  11. Result Analysis: SPEC CPU 2006 (FP) Povray (SPEC 2006 FP) namd (SPEC 2006 FP) 11

  12. Results: SPEC CPU 2017 (Inner Loop) 12

  13. Results: SPEC CPU 2017 (Outer Loop) 13

  14. Results: SPEC CPU 2017 (All Loops) 14

  15. Result Analysis: SPEC CPU 2017 (INT) omnetpp (SPEC CPU xalancbmk (SPEC CPU 2017 2017 INT) INT) 15

  16. Result Analysis: SPEC CPU 2017 (FP) partst (SPEC CPU 2017 imagick(SPEC CPU 2017 FP) FP) 16

  17. Thank You! 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend