Release Notes
What's New for 2019.1
The 2019.1 release of the SDAccel™ development environment introduces the following enhancements and features.
Alveo™ Shell Enhancements
- Support for Alveo U280, built on the Xilinx® 16 nm UltraScale™ 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 to PCIe®
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
- Alveo U250 shell floorplan has been enhanced to support Digital Rights Management (DRM)
SDAccel Tool Enhancements
- Support for QDMA development shells with direct host to kernel streaming
- Improved kernel-to-kernel streaming
- Supports streaming in C++ kernels
- New
--sc
option specifies kernel-to-kernel streaming connections for RTL and C++ kernels - Supports free-running RTL kernels, which do not require any start/done
synchronizationNote: 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_xo
independently.
- Improved SDAccel application timeline trace integrating new streaming features and PCIe peer-to-peer
- The dataflow ping-pong buffers can be sized through the stream pragma
Xilinx Runtime 2.2 (XRT)
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.
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 with libxilinxopencl.so must be able to locate this new
library during linking. Do this either by sourcing the XRT
setup.sh/.csh file, as described in Installing Platform-Specific Packages, or add the following to the xocc
linker command line in your makefile:
|
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 a
Xilinx shell designed for the U200 card
with a main customization level xdma
. The shell was
created with the 2018.3 release of the tools and has a minor shell revision
(release) level of 1
The Xilinx runtime (XRT) packages follow a similar nomenclature that also denotes the release number, such as xrt_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 BETA and otherwise ES for 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 with Alveo Data 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 the SDAccel development environment must have the same major release version.
- A shell for a given major release version can be used with the XRT and SDAccel development environment for the releases from the next calendar year. For example, 2018.3 shells will be supported with the XRT and SDAccel releases from 2019.
- A specific release of the SDAccel development environment and XRT supports the use shells with a major release version from the prior calendar year, although some additional setup may be required.
Same versions for shells and XRT and SDAccel | Older shell with newer versions of XRT and SDAccel | Newer shells and older versions of XRT and SDAccel |
---|---|---|
Supported | Supported1 | Not supported |
|
Supported Shells in 2019.1
The platforminfo
command 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 various 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 | |
|
Known Issues
Known Issues for the SDAccel development environment are available in AR#72237.