Ahmad Lashgar, PhD




I received my PhD in Computer Engineering at University of Victoria, BC, Canada in August 2017. For completing my PhD, I worked on developing hardware/software optimizations for accelerators. I developed IPMACC framework for translating OpenACC applications to CUDA, OpenCL, and ISPC backends. The framework is publically available at GitHub.



Contact: lashgar [at] uvic.ca




Education
Publications
Software






profile for ahmad at Stack Overflow, Q&A for professional and enthusiast programmers


me over the time










Fun fact: after I moved to Victoria, I realized that Victoria is located in British Columbia. Even worse, later I figured out that BC is the best place to live in Canada, in terms of nature, lifestyle, and climate. So I am happy with the move.

@Education:

January 2014 to August 2017

September 2010 to November 2012

more on education

*2006-2010
  • Jundi Shapor University of Technology, Dezful, Iran
  • B.S. in Computer Engineering (Hardware)
  • Thesis: GPU architecture and comparision with CPU Architecture (بررسي معماري هاي پردازنده گرافيكي و مقايسه آنها با پردازنده مركزي)
  • [Report (in persian), Slides]
  • Supervisor: Mojtaba Soltani
  • Completed a wide range of Computer Engineering courses including Operating systems, Object oriented analysis and design, Networking, Artificial intelligence, Computer Architecture, Internet Engineering, Data Bases, Digital Electronic, VLSI Circuits and Data Transmission.
*2005-2006
  • Motahary Pre-University, Tehran, Iran
  • Pre-University course
*2004-2005
*2002-2004
  • Dr. Shariati High School
  • Math and Science field

@Publications:

  1. Ahmad Lashgar, Ehsan Atoofian, and Amirali Baniasadi
    Loop Perforation in OpenACC
    To appear in 16th IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA2018)
    [Paper/Final version]
  2. Ahmad Lashgar and Amirali Baniasadi
    Efficient Implementation of OpenACC cache Directive on NVIDIA GPUs
    International Journal of High Performance Computing and Networking (IJHPCN), Special Issue on High-level Programming Approaches for Accelerators, Vol. 13, No. 1, 2019
    [Paper/Code/Final version]
  3. Ahmad Lashgar, Ehsan Atoofian, and Amirali Baniasadi
    TELEPORT: Hardware/Software Alternative To CUDA Shared Memory Programming
    Microprocessors and Microsystems: Embedded Hardware Design (MICPRO), Volume 63, 2018, Pages 169-181, ISSN 0141-9331
    [Paper/Final version]
  4. Ahmad Lashgar and Amirali Baniasadi
    OpenACC cache Directive: Opportunities and Optimizations
    In proceedings of Third Workshop on Accelerator Programming Using Directives (WACCPD2016), (in conjunction with SC2016)
    Salt Lake City, Utah, USA, November 14, 2016.
    [Paper/Slides/Code/Final version]
  5. Ebad Salehi, Ahmad Lashgar, and Amirali Baniasadi
    Employing Compression Solutions under OpenACC
    In proceedings of 21st International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPC2016), (in conjunction with IPDPS2016)
    Chicago, Illinois, USA, May 23-27, 2016.
    [Accepted version/Final version/Slides/Code]
  6. Ahmad Lashgar, Ebad Salehi, and Amirali Baniasadi
    A Case Study in Reverse Engineering GPGPUs: Outstanding Memory Handling Resources
    ACM SIGARCH Computer Architecture News - HEART '15, Volume 43 Issue 4
    [Accepted version/Final version/Code]
  7. Ahmad Lashgar and Amirali Baniasadi
    Employing Software-Managed Caches in OpenACC: Opportunities and Benefits
    ACM Transactions on Modeling and Performance Evaluation of Computing Systems (ToMPECS), Volume 1 Issue 1, March 2016
    [Accepted version/Final version]
  8. Ahmad Lashgar and Amirali Baniasadi
    Rethinking Prefetching in GPGPUs: Exploiting Unique Opportunities
    In proceedings of 17th IEEE International Conference on High Performance Computing and Communications (HPCC)
    New York, NY, USA, August 24-26, 2015.
    [Paper/Slides/Final version]
  9. Ahmad Lashgar, Ebad Salehi, and Amirali Baniasadi
    Understanding Outstanding Memory Request Handling Resources in GPGPUs
    In proceedings of The Sixth International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies (HEART)
    Best Paper Candidate
    Boston MA, USA, June 1-2, 2015.
    [Paper/Slides/Code]
  10. Ahmad Lashgar, Alireza Majidi, and Amirali Baniasadi
    IPMACC: Translating OpenACC API to OpenCL
    In poster session of the 3rd International Workshop on OpenCL (IWOCL)
    Stanford University, California, USA, May 11-13, 2015.
    [Accepted version/Paper/Poster]
  11. Ahmad Lashgar and Amirali Baniasadi
    A Case Against Small Data Types on GPGPUs
    The 25th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP)
    IBM Research, Zurich, Switzerland, June 18-20, 2014.
    [Paper/Slides/Final version]
  12. HARP: Harnessing Inactive Threads in Many-Core Processors
    Ahmad Lashgar, Ahmad Khonsari, and Amirali Baniasadi
    ACM Transactions on Embedded Computing Systems (TECS) - Special Issue on Design Challenges for Many-Core Processors (DCMP), Special Section on ESTIMedia'13 and Regular Papers, Volume 13 Issue 3s
    [Accepted version/Final version]
  13. Towards Green GPUs: Warp Size Impact Analysis
    Ahmad Lashgar, Amirali Baniasadi, and Ahmad Khonsari
    4th International Green Computing Conference (IGCC 2013) WorkInProgress Session
    Arlington, VA, USA, June 28, 2013.
    [Paper/Slides]
  14. Warp Size Impact in GPUs: Large or Small?
    Ahmad Lashgar, Amirali Baniasadi, and Ahmad Khonsari
    Sixth Workshop on General Purpose Processing Using GPUs (GPGPU6), (Held with ASPLOS XVIII)
    Houston, TX, USA, March 16, 2013.
    [Paper/Slides/Previous Technical Report]
  15. Inter-Warp Instruction Temporal Locality in Deep-Multithreaded GPUs
    Ahmad Lashgar, Amirali Baniasadi, and Ahmad Khonsari
    26th International Conference on Architecture of Computing Systems (ARCS 2013)
    Prague, Czech Republic, February 19, 2013.
    [Paper/Slides/Code]
  16. Dynamic Warp Resizing: Analysis and Benefits in High-Performance SIMT
    Ahmad Lashgar, Amirali Baniasadi, and Ahmad Khonsari
    The 30th IEEE International Conference on Computer Design (ICCD 2012) Poster Session
    Montreal, Quebec, Canada, October 1, 2012.
    [Paper/Extended version/Poster]
  17. Performance in GPU Architectures: Potentials and Distances
    Ahmad Lashgar and Amirali Baniasadi
    9th Annual Workshop on Duplicating, Deconstructing, and Debunking (WDDD 2011), (in conjunction with ISCA 2011)
    San Jose, CA, USA, June 5, 2011.
    [Paper/Slides]

@Software:


@Projects:

  • GlobeNow! Find What Is Happening In A City Right Now!
    Have you ever been bored and needed an app to tell you what events are happening around you right now? Ambitiously, this is the goal of this project! I started with the towns I'm living in, e.g. Victoria and Vancouver, and expanded the project to 16 major cities in north America so far, e.g. New York and Los Angeles. Latest services and more information are available at http://www.twitter.com/glbnow
  • PromoteBud! Commercial Service for Advertising Certain Product/Service
    PromoteBud! is a collection of tools to promote certain product/service via social media. Check the website to see how it works. For now, it supports Twitter and Telegram. Instagram is coming up next.

@Honors&Awards:



Read More


@Technical Reports:

  • Ahmad Lashgar
    Using OpenACC for Parallelizing Lawrence Livermore loops
    April 2017, [Report / Code]
  • Ahmad Lashgar, Alireza Majidi, and Amirali Baniasadi
    IPMACC: Open Source OpenACC to CUDA/OpenCL Translator
    December 2014, [Report / Code]
  • Ahmad Lashgar, Amirali Baniasadi and Ahmad Khonsari
    Investigating Warp Size Impact in GPUs
    May 2012, [Report]
  • Ahmad Lashgar, Amirali Baniasadi and Ahmad Khonsari
    COLD: Contention-aware Warp Scheduling for High-Performance SIMT
    May 2012, [Report]

@Talk:

  • CUDA Programming
    Two-Day Workshop on Multicore Programming, Institute for Research in Fundamental Sciences (IPM)
    Winter 2013, Slides
  • Getting Started with Directive-based Acceleration: OpenACC
    Institute for Research in Fundamental Sciences (IPM)
    Fall 2012, Slides
  • An Evaluation of Throughput Computing on CPU and GPU
    University of Tehran, Instructor: Sied Mehdi Fakhraie
    Fall 2011, Slides
  • GPU Architecture
    Sharif University of Technology
    Fall 2010
  • Clocking of Intel Xeon 45nm
    University of Tehran, Instructor: Sied Mehdi Fakhraie
    Fall 2010, Slides
  • Optical Processor
    Jundi Shapor University of Technology
    Spring 2009, Slides

@Volunteer:

  • Internet and Technical Chair at The 17th CSI International Symposium on Computer Architecture & Digital Systems [October 2013](CADS 2013).
  • Start Line Assistant at The 25th Annual Times Colonist 10K Running Competition [April 2014](TC10K). [Acknowledgment]
  • Donation Barrel Assistant at The 26th annual Victoria Symphony Splash [August 2015](VSP2015).
  • Coach at U13 Marpole Soccer Club [December 2015 - now](club's page)

@Teaching:

  • Laboratory Instructor of Real Time Computer Systems Design Project, Administrator Saman Khoshbakht,[Spring 2017],[University of Victoria]
  • Laboratory Instructor of Microprocessor-Based Systems, Administrator Daler N. Rakhmatov,[Fall 2016],[University of Victoria]
  • Teaching Assistant of Parallel Processing, Administrator Sied Mehdi Fakhraie,[Fall 2013],[University of Tehran]
  • Teaching Assistant of Parallel Processing, Administrator Sied Mehdi Fakhraie,[Fall 2011],[University of Tehran]
  • Teaching Assistant of Advanced Computer Architecture, Administrator Omid Fatemi,[Fall 2011],[University of Tehran]
  • Teaching Assistant of Language and Automata, Administrator Mehdi Enayat Zare,[Spring 2010],[Jundi Shapor University of Technology]
  • Teaching Assistant of Image Processing, Administrator Masoud Mazloom,[Spring 2010],[Jundi Shapor University of Technology]
  • Teaching Assistant of Foundation of Programming, Administrator Farshid Marbouti,[Spring 2009],[Jundi Shapor University of Technology]
  • Teaching Assistant of Programming Course, Administrator Mohsen Yoosefi,[Spring 2008],[Jundi Shapor University of Technology]
  • Teaching Assistant of Object-Oriented Programming, Administrator Mehdi Enayat Zare,[Fall 2007],[Jundi Shapor University of Technology]

@Skills:

*Knowledge of C/C++ programming, MATLAB programming and IPT toolbox, Pascal programming
*Programming accelrators with CUDA for C, OpenCL, OpenACC, and GPUmat toolbox for MATLAB
*Describing the hardware using VHDL
*Scripting in BASH and Python.
*Web Programming with HTML, JavaScript, PHP, ASP.NET
*Web Graphic Designing with Adobe Flash

@Academical Projects:

*NOC Switch, Instructor: Zainalabedin Navabi, [January 2011], [University of Tehran] Code
*Equality Comparator Layout, Instructor: Sied Mehdi Fakhraie, [November 2010], [University of Tehran] Report
*Images Noise reduction, Instructor: Masoud Mazloom, [June 2010], [Jundi Shapor University of Technology] Code
*Grand Master; Instructor: Masoud Mazloom; [January 2010], [Jundi Shapor University of Technology] Code
*Zebra Puzzle using RBT & MRV; Instructor: Masoud Mazloom; [November 2010], [Jundi Shapor University of Technology] Code
*Travelling Salesman Problem using Genetic Algorithml; Instructor: Masoud Mazloom; [December 2009], [Jundi Shapor University of Technology] Code
*Scientific Calculator with C++; Co-workers: Aliasghar Dashkhaneh; Instructor: Mehdi Enayatzare; [January 2008], [Jundi Shapor University of Technology]
*Snake Game with Pascla; Co-workers: Aliasghar Dashkhaneh, Asghar Mohamadpour; Instructor: Farshid Marbouti; [January 2007], [Jundi Shapor University of Technology] Code

@Research Interest:

*High-level programming languages
*Many-core Accelerators
*GPU Computing
*Computer Architecture
*Social Media Data Analysis