GPU-SM: Shared memory multi-GPU programming

Javier Cabezas, Marc Jordà, Isaac Gelado, Nacho Navarro, Wen Mei Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Discrete GPUs in modern multi-GPU systems can transparently access each other's memories through the PCIe interconnect. Future systems will improve this capability by including better GPU interconnects such as NVLink. However, remote memory access across GPUs has gone largely unnoticed among programmers, and multi-GPU systems are still programmed like distributed systems in which each GPU only accesses its own memory. This increases the complexity of the host code as programmers need to explicitly communicate data across GPU memories. In this paper we present GPU-SM, a set of guidelines to program multi-GPU systems like NUMA shared memory systems with minimal performance overheads. Using GPU-SM, data structures can be decomposed across several GPU memories and data that resides on a different GPU is accessed remotely through the PCI interconnect. The programmability benefits of the shared-memory model on GPUs are shown using a finite difference and an image filtering applications. We also present a detailed performance analysis of the PCIe interconnect and the impact of remote accesses on kernel performance. While PCIe imposes long latency and has limited bandwidth compared to the local GPU memory, we show that the highly-multithreaded GPU execution model can help reducing its costs. Evaluation of finite difference and image filtering GPU-SM implementations shows close to linear speedups on a system with 4 GPUs, with much simpler code than the original implementations (e.g., a 40% SLOC reduction in the host code of finite difference).

Original languageEnglish (US)
Title of host publicationACM International Conference Proceeding Series
EditorsXiang Gong
PublisherAssociation for Computing Machinery
Number of pages12
ISBN (Electronic)9781450334075
StatePublished - Feb 7 2015
Event8th Annual Workshop on General Purpose Processing using Graphics Processing Unit, GPGPU 2015 - San Francisco, United States
Duration: Feb 7 2015 → …

Publication series

NameACM International Conference Proceeding Series


Other8th Annual Workshop on General Purpose Processing using Graphics Processing Unit, GPGPU 2015
Country/TerritoryUnited States
CitySan Francisco
Period2/7/15 → …


  • I/O interconnects
  • Shared memory machines

ASJC Scopus subject areas

  • Software
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Networks and Communications


Dive into the research topics of 'GPU-SM: Shared memory multi-GPU programming'. Together they form a unique fingerprint.

Cite this