Profile Picture of Amir H. Ashouri

Amir H. Ashouri

PhD., P. Eng.

Compilers — Machine Learning — Code Optimizations — ML Accelerations

Former Postdoctoral Researcher and Lecturer @ Electrical and Computer Engineering Dept.

Advised by Tarek Abdelrahman

University of Toronto, Canada

I am currently a Staff R&D Compiler Eng. @ Huawei Canada

Latest News

Research

Interested Topics

Autotuning

Autotuning addresses automatic code-generation and optimization by using different scenarios and architectures. It constructs techniques for automatic optimization of different parameters in order to maximize or minimize the satisfiability of an objective function. This method can be employed with Machine Learning and other optimization heuristic to speed up the exploration of domain specific applications and I am insterested in leveraging it for many computer architecture problems.

ML-based Compiler Optimization

State-of-the-art optimization problems, i.e. compiler phase-ordering, autotuning problems, selection of right set of optimization from many available optimizations, etc., have significantly large optimization space and it is simply not feasible to traverse such space using an exhaustive search. My research looks into ways of adapting applications of machine learning to focus on tuning optimization parameter,s specially for compilers, GPGPUs, and embedded devices.

Inference on Mobile Devices

Deep Learning algorithms are nearly used in everyday applications, i.e. image recognition, translation, navigation, etc. However, it has not yet fully exploit the specific DSP and hardware modules available in modern embedded devices such as cellphones. Althought, training a deep learning model is indeed computational intensive, but the inference can be optimized to be mapped and executed on a cellphone's specialized deep learning enabled processors. I am looking into differnt ways of optimizing this proces by various methods.

Teaching

  • [EECS2021Z - Winter 2020] Computer Organization and Design (RISC-V Edition), “Lassonde School of Engineering @ York University [Lecture Videos]
    [EECS4404 - Fall 2019] Machine Learning and Pattern Recognition, “Lassonde School of Engineering @ York University [Lecture Videos]
    [EECS2021E - Fall 2019] Computer Organization and Design (RISC-V Edition), “Lassonde School of Engineering @ York University [Lecture Videos]
    [ECE421H1 - Winter 2019] Introduction to Machine Learning, “Edward S. Rogers Sr. Dept. of ECE @ University of Toronto [Lecture Videos]

Selected Publications

[Full list @ My Google Scholar]

  • [Conference-2022] AH. Ashouri, Mostafa Elhoushi, Yuzhe Hua, Xiang Wang, Muhammad Asif Manzoor, Bryan Chan, Yaoqing Gao“ MLGOPerf: An ML Guided Inliner to Optimize Performance,” ACM/IEEE CASES – 2022. [arXiv][Slides][Video] CASES1 compilers reinforcement learning Inlining
  • [Journal-2019] AH. Ashouri, T. Abdelrahman, A. Dos Remedios“ Retraining-Free Methods for Fast On-the-fly Pruning of Convolutional Neural Networks,” Elsevier, Neurocomputing – 2019. [DOI] Neurocomputing1 sparsity deep learning CNN
  • [WORKSHOP-2018] AH. Ashouri, T. Abdelrahman, A. Dos Remedios“ Fast On-the-fly Retraining-free Sparsification of Convolutional Neural Networks,” NIPS, CDNNRIA Workshop – 2018. [OpenReview], [arXiv], [Poster], [Presentation(1min)]. NIPS Workshop1 sparsity deep learning CNN
  • [JOURNAL-2018] AH. Ashouri, W. Killian, J. Cavazos, G. Palermo and C, Silvano, “A Survey on Compiler Autotuning using Machine Learning,” ACM Transactions on Computing Surveys – ACM CSUR, 2018. [DOI], [HTML_version], [PRESENTATION_VIDEO]ACM-CSUR1 phase-ordering problemselection problem machine learning autotuning survey
  • [BOOK-2018] AH. Ashouri, G. Palermo, J. Cavazos, C, Silvano, “Automatic Tuning of Compilers Using Machine Learning,” – Springer, 2018. [ISBN 978-3-319-71489-9] [DOI] Springer1 phase-ordering problem selection problem machine learning autotuning
  • [JOURNAL-2017] AH. Ashouri, A. Bignoli, G. Palermo, C, Silvano, S. Kulkarni, J. Cavazos, “MiCOMP: Mitigating the Compiler Phase-ordering Problem using Optimization Sub-sequences and Machine Learning,” ACM Transactions on Architecture and Code Optimization – ACM TACO, 2017. [PDF], [DOI], [SLIDES], [PRESENTATION_VIDEO]ACM-TACO2 phase-ordering problem machine learning autotuning
  • [JOURNAL-2016] AH. Ashouri, G. Mariani, G. Palermo, EJ, Park, J. Cavazos, “COBAYN: Compiler Autotuning Framework Using Bayesian Networks,” ACM Transactions on Architecture and Code Optimization – ACM CSUR, 2016. [PDF], [DOI], [SOURCE CODE+ Datasets]. ACM-TACO1 selection problem machine learning autotuning
  • [WORKSHOP-2016] AH. Ashouri, A. Bignoli, G. Palermo, C. Silvano, “Predictive Modeling Methodology for Compiler Phase-Ordering,” HiPEAC International Workshop on Parallel Programming and Run-Time Management Techniques for Many-core Architectures (PARMA-DITAM) – ACM , 2016. [PDF], [DOI]. ACMPARMA-DITAM1 phase-ordering problem machine learning autotuning
  • [CONFERENCE-2013] AH. Ashouri, V. Zaccaria, S. Xydis, G. Palermo, C. Silvano, “A Framework for Compiler Level Statistical Analysis over Customized VLIW Architecture,” International Conference on Very Large Scale Integration (VLSI-SoC) – IEEE VLSI-SOC, 2013. [PDF], [DOI]. IEEE-vlsi-soc1 design space exploration autotuning

  • Talks

    • [Invited Talk @ LLVM's MLGO Meeting - 2022 September] AH. Ashouri, “MLGOPerf: An ML Guided Inliner to Optimize Performance” [Slides][Presentation Video]
      [Invited Talk @ Google Brain - 2019 October] AH. Ashouri, “Compiler Autotuning using Machine Learning: A State-of-the-art Review” [Slides]
      [Invited Talk @ Politecnico di Milano - 2018 July] AH. Ashouri, “Compiler Autotuning using Machine Learning: A State-of-the-art Review” [Slides] [PRESENTATION_VIDEO]

    Theses

    • [PHD THESIS] AH. Ashouri, “Compiler Autotuning using Machine Learning Techniques,” Politecnico di Milano – Theses Archive, 2016. [DOI] [PDF] [PRESENTATION_VIDEO]
    • [M.SC THESIS] AH. Ashouri, “Design Space Exploration Methodology For Compiler Parameters in VLIW Processors,” Politecnico di Milano – Theses Archive, 2012. [DOI][PDF]

    Education

    Ph.D. Computer Engineering — December 2016 (cum laude)

    ——— Advisor: Cristina Silvano Co-advisors: Gianluca Palermo, John Cavazos

    M.Sc. Computer Engineering — December 2012

    ——— Advisor: Cristina Silvano Co-advisors: Vittorio Zaccaria, Sotiris Xydis

    B.Sc. Computer Engineering — September 2009

    ——— Advisor: Ahmad Akbari

    Volunteerism and Service

    [See the full list @ My CV]

  • [Reviewer]

    ——— TACO (ACM Transactions on Arch. and Code Optimizations) 

    ——— JCST (Springer Journal of Computer Science and Technology) 

    ——— JPDC (Elsevir Journal of Parallel and Distributed Computing) 

    [Subreviewer]

    ——— ICTAI (IEEE Conference on Tools with Artificial Intelligence) 

    ——— DSD (Euromicro Conference on Digital System Design)

    ——— ASAP 2017  

    ——— ASAP 2016  

    [Student Volunteer]

    ——— HiPEAC Computing Week 2016 (Milan - Italy) 

    ——— Computing Frontiers 2016 (Como - Italy) 

    ——— SC 2015 (Austin, TX - USA) 

    ——— FPL 2015 (London - UK) 

  • Awards & Grants

    [See the full list @ My CV]

  • [July 2017 - Dec 2017] HiPEAC Junior Postdoc Collaboration Grant
  • [July 2017 - July 2019] Mitacs Elevate Postdoc Fellowship - Advisor: prof. Tarek Abdelrahman - Industrial partner Qualcomm Canada Inc.
  • [April 2017]  Best IEEE (Italy Section) PhD Thesis Award [More Info]
  • [Sep 2014 - April 2015] HiPEAC PhD Collaboration Grant - Visiting scholar of prof. John Cavazos @ University of Delaware, USA [More Info]
  • Twitter