Developer Guide

Intel® oneAPI DPC++/C++ Compiler Handbook for FPGAs

ID 785441
Date 6/24/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Zero-Copy Memory Access

Prior to the implementation of restricted USM, you had to access host data from the device using one of the following methods:

  • Through SYCL buffers
  • By copying data between the host and the device using explicit USM

With host allocations on devices supporting USM host allocation, a kernel can directly access data over PCIe (no copying required). By using host allocations in designs that have infrequent random accesses to large pieces of data, you can improve throughput and latency of the design as a large piece of data no longer requires copying in full to the device. For detailed explanation of this concept, refer to the Zero-copy Data Transfer tutorial on GitHub.

SYCL* buffers created with host allocations set as hostData in the constructor still result in data copy from the host to the device memory.