Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3388333.3388656acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiwoclConference Proceedingsconference-collections
research-article

Characterizing Optimizations to Memory Access Patterns using Architecture-Independent Program Features

Published: 27 April 2020 Publication History

Abstract

High-performance computing developers are faced with the challenge of optimizing the performance of OpenCL workloads on diverse architectures. The Architecture-Independent Workload Characterization (AIWC) tool is a plugin for the Oclgrind OpenCL simulator that gathers metrics of OpenCL programs that can be used to understand and predict program performance on an arbitrary given hardware architecture. However, AIWC metrics are not always easily interpreted and do not reflect some important memory access patterns affecting efficiency across architectures. We propose a new metric of parallel spatial locality - the closeness of memory accesses simultaneously issued by OpenCL work-items (threads). We implement the parallel spatial locality metric in the AIWC framework and analyse gathered results on matrix multiply and the Extended OpenDwarfs OpenCL benchmarks. The differences in the observed parallel spatial locality metric across implementations of matrix multiply reflect the optimizations performed. The new metric can be used to distinguish between the OpenDwarfs benchmarks based on the memory access patterns affecting their performance on various architectures. The improvements suggested to AIWC will help HPC developers better understand memory access patterns of complex codes and guide optimization of codes for arbitrary hardware targets.

References

[1]
Extended OpenDwarfs. https://github.com/ANU-HPC/OpenDwarfs/commit/dee488cac9833f029dfada35ff6ae4077b68c4b5, Jan 2020.
[2]
Krste Asanovic, Ras Bodik, Bryan Christopher Catanzaro, Joseph James Gebis, Parry Husbands, Kurt Keutzer, David A Patterson, William Lester Plishker, John Shalf, Samuel Webb Williams, et al. The landscape of parallel computing research: A view from berkeley. Technical report, Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley, 2006.
[3]
Karthik Ganesan, Lizy John, Valentina Salapura, and James Sexton. A performance counter based workload characterization on Blue Gene/P. In International Conference on Parallel Processing (ICPP), pages 330--337. IEEE, 2008.
[4]
John L. Hennessy and David A. Patterson. Computer Architecture - A Quantitative Approach, 5th Edition. Morgan Kaufmann, 2012.
[5]
Kenneth Hoste and Lieven Eeckhout. Microarchitecture-independent Workload Characterization. IEEE Micro, 27(3), 2007.
[6]
Intel Corporation. Intel® 64 and IA-32 Architectures Optimization Reference Manual. 2016.
[7]
Beau Johnston and Josh Milthorpe. AIWC: OpenCL-based architecture-independent workload characterization. IEEE/ACM Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC), Nov 2018.
[8]
Beau Johnston and Josh Milthorpe. Dwarfs on accelerators: Enhancing OpenCL benchmarking for heterogeneous computing architectures. In Proceedings of the 47th International Conference on Parallel Processing Companion, ICPP '18, pages 4:1--4:10, New York, NY, USA, 2018. ACM.
[9]
Beau Johnston, James Price, Moritz Pflanzer, Petros Kalos, Tom Deakin, Nido Media, and Daniel Saier. BeauJoh/Oclgrind: Adding AIWC - An Architecture Independent Workload Characterisation Plugin. https://doi.org/10.5281/zenodo.1134175, December 2017.
[10]
Yooseong Kim and Aviral Shrivastava. CuMAPz: a tool to analyze memory access patterns in CUDA. In Leon Stok, Nikil D. Dutt, and Soha Hassoun, editors, Proceedings of the 48th Design Automation Conference, DAC 2011, San Diego, California, USA, June 5-10, 2011, pages 128--133. ACM, 2011.
[11]
Konstantinos Krommydas, Wu-chun Feng, Christos D Antonopoulos, and Nikolaos Bellas. OpenDwarfs: Characterization of dwarf-based benchmarks on fixed and reconfigurable architectures. Journal of Signal Processing Systems, 85(3):373--392, 2016.
[12]
Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In ACM SIGPLAN notices, volume 40, pages 190--200. ACM, 2005.
[13]
NVIDIA Corporation. CUDA C++ Best Practices Guide. 2019.
[14]
NVIDIA Corporation. CUDA C++ Programming Guide. 2019.
[15]
James Price and Simon McIntosh-Smith. Oclgrind: An extensible OpenCL device simulator. In Proceedings of the 3rd International Workshop on OpenCL, page 12. ACM, 2015.
[16]
Yakun Sophia Shao and David Brooks. ISA-independent workload characterization and its implications for specialized architectures. In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pages 245--255. IEEE, 2013.
[17]
Kyle Spafford, Jeremy Meredith, and Jeffrey Vetter. Maestro: data orchestration and tuning for OpenCL devices. Euro-Par 2010-Parallel Processing, pages 275--286, 2010.
  1. Characterizing Optimizations to Memory Access Patterns using Architecture-Independent Program Features

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    IWOCL '20: Proceedings of the International Workshop on OpenCL
    April 2020
    104 pages
    ISBN:9781450375313
    DOI:10.1145/3388333
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    In-Cooperation

    • Khronos: Khronos Group
    • Codeplay: Codeplay Software Ltd.
    • Intel: Intel
    • The University of Bristol: The University of Bristol
    • Tech Univ of Munich: Technical University of Munich

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 April 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Architecture Independent Analysis
    2. Heterogenous Computing
    3. Memory Access Patterns
    4. Workload Characterization

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    IWOCL '20
    IWOCL '20: International Workshop on OpenCL
    April 27 - 29, 2020
    Munich, Germany

    Acceptance Rates

    IWOCL '20 Paper Acceptance Rate 21 of 30 submissions, 70%;
    Overall Acceptance Rate 84 of 152 submissions, 55%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 120
      Total Downloads
    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 14 Feb 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media