Release Notes

What's New for 2019.1

The 2019.1 release of theSDAccel™development environment introduces the following enhancements and features.

Alveo™Shell Enhancements

  • Support forAlveoU280, built on theXilinx®16 nmUltraScale™architecture with 8 GB of HBM2 of in-package memory capable of 410 GB/s data transfers
  • New Queue DMA (QDMA) platform supports low latency direct streaming between host and kernels. The new QDMA shell also offers kernel memory-to-memory direct access (M2M) to share buffers stored in DDR banks without involving orchestration from host
  • Newest shells now default toPCIe®64-bit Base Address Registers (BARs)
    • No mixing of 32-bit and 64-bit BARs
    • Extended support of High-end servers with multiple acceleration cards
    • Servers must have BIOS turned on above 4 GB PCIe addressing
    • Support for reconfigurable BAR size (in other words, 4 GB to 64 GB)
  • Platforms with M2M IP improve the performance of the clEnqueueCopyBuffer API, allowing much faster transfers of buffers from one DDR bank to another (within the same device)
  • Improved general interoperability with other acceleration cards that are also present on the server
  • AlveoU250 shell floorplan has been enhanced to support Digital Rights Management (DRM)

SDAccelTool Enhancements

  • Support for QDMA development shells with direct host to kernel streaming
  • Improved kernel-to-kernel streaming
    • Supports streaming in C++ kernels
    • New--scoption specifies kernel-to-kernel streaming connections for RTL and C++ kernels
    • Supports free-running RTL kernels, which do not require any start/done synchronization
      Note:Control-free kernels with an ap_ctrl_none execution model should only be packaged through scripts generated from the RTL Kernel Wizard. You cannot use package_xoindependently.
  • ImprovedSDAccelapplication timeline trace integrating new streaming features andPCIepeer-to-peer
  • The dataflow ping-pong buffers can be sized through the stream pragma

XilinxRuntime 2.2 (XRT)

  • Support forPCIepeer-to-peer, QDMA, M2M
  • Newxrt.iniconfiguration file, which replacesSDAccel.ini
  • Newexampleson theXilinxMedia Accelerator (XMA) GitHub repository
  • For more information on the XRT 2.2 release, see thechangelogon the XRT GitHub repository

Changed Behavior

Migrating from 2018.3

The following table specifies changes to existing flows and scripts that are required when using the 2019.1 release vs. the 2018.3 release.

Table 1.Migration Summary
Area 2018.3 Behavior Changes for 2019.1
Buffer allocation in XRT In previous releases, if the buffer could not be allocated on the designated bank, XRT would try to allocate a random buffer for the application. If the buffer cannot be allocated on the designated bank, it will return an error.
CAUTION:
If the xclbin does not contain proper connectivity information, then some applications might fail.
Linking XRT adds an indirect dependency on a new shared library,libxrt_coreutil.so. Host applications linking withlibxilinxopencl.somust be able to locate this new library during linking. Do this either by sourcing the XRT setup.sh/.csh file, as described inInstalling Platform-Specific Packages, or add the following to the xocc linker command line in your makefile:
-Wl,-rpath-link,$(XILINX_XRT)/lib

Prior Release Notes

For more information on prior changes, refer to the Release Notes for the release:

Xilinx Runtime (XRT) and Shell Nomenclature

Nomenclature

Alveo™Linux package shell names adhere to the nomenclature depicted in the figure shown below. The example denotes aXilinxshell designed for the U200 card with a main customization levelxdma. The shell was created with the 2018.3 release of the tools and has a minor shell revision (release) level of1

Figure:Shell Nomenclature Example

TheXilinxruntime (XRT) packages follow a similar nomenclature that also denotes the release number, such asxrt_u200_xdma_201830_1.

Life Cycle for the Alveo XRT and Shells

Beta
A pre-production version that is typically distributed through Xilinx-hosted secured web lounges. Shells are marked BETAand otherwise ESfor cards relying on engineering sample devices.
Production
Production shells are available on https://www.xilinx.com/, under their respective card product web page. They are supported with the servers and OS combinations documented in Getting Started withAlveoData Center Accelerator Cards(UG1301), or the VCU1525 Reconfigurable Acceleration Platform User Guide(UG1268).
Major Release
The major release version of a shell is denoted in the customization substring of its file name, as shown in the previous figure (for example, xdma_201830). A major release can include new features or capabilities.
Minor Release
Shell updates (bug fixes or enabling specific new features) have an incremented suffix (>1). It is recommended to update to the latest minor release of a shell whenever possible.
Superseded
Runtime or shells updated and replaced by a newer version, typically a minor release with backward compatibility.
Discontinued
XRT or shells that are no longer supported.

Shells and Tool Compatibility

  • When developing applications, the XRT and theSDAcceldevelopment environment must have the same major release version.
  • A shell for a given major release version can be used with the XRT andSDAcceldevelopment environment for the releases from the next calendar year. For example, 2018.3 shells will be supported with the XRT andSDAccelreleases from 2019.
  • A specific release of theSDAcceldevelopment environment and XRT supports the use shells with a major release version from the prior calendar year, although some additional setup may be required.
Table 2.Shells and Tool Compatibility
Same versions for shells and XRT andSDAccel Older shell with newer versions of XRT andSDAccel Newer shells and older versions of XRT andSDAccel
Supported Supported1 Not supported
  1. A shell for a given release will be supported in the next calendar year’s releases of XRT and theSDAcceldevelopment environment.

Supported Shells in 2019.1

Theplatforminfocommand line utility can be used to report platform meta-data including information on interface, clock, valid super logic regions (SLRs) and allocated resources, and memory in a structured format. This information can be referenced when allocating kernels to SLRs or memory resources, for instance.

The following table shows the supported shells for the variousAlveocards.

Table 3.Supported Shells for Alveo Cards
Alveo Card Shell Version1 Notes 2018.3 Tools+XRT 2019.1 Tools+XRT
U200 XDMA xilinx_u200_xdma_201820_1 - Superseded -
xilinx_u200_xdma_201830_1 SLR Assignments/PLRAM Production Production
xilinx_u200_xdma_201830_2 Bug Fixes/2019.1 Features (64b BAR, DRM) Beta Production
QDMA xilinx_u200_qdma_201830_1 QDMA (Stream+MM) Beta Superseded
xilinx_u200_qdma_201910_1 QDMA (Stream+MM) - Beta
U250 XDMA xilinx_u250_xdma_201820_1 - Superseded -
xilinx_u250_xdma_201830_1 Profile + Debug Production Production
xilinx_u250_xdma_201830_2 Bug Fixes/2019.1 Features (64b BAR, DRM) Beta Production
QDMA xilinx_u250_qdma_201910_1 QDMA (Stream+MM) - Beta
U280-ES1 XDMA xilinx_u280-es1_xdma_201830_1 - Beta Superseded
xilinx_u280-es1_xdma_201910_1 Bug Fixes/2019.1 Features (HBM ECC & Temp Mon) - Beta
U280 XDMA xilinx_u280_xdma_201910_1 - - Production
QDMA xilinx_u280_qdma_201910_1 QDMA (Stream+MM) - Beta
  1. XilinxRuntime andSDAcceltools releases must be aligned. Older shells can be used with newer tools, but xclbin kernels must be recompiled.

Known Issues

Known Issues for theSDAcceldevelopment environment are available inAR#72237.