Skip to content

Latest commit

 

History

History
187 lines (130 loc) · 8.43 KB

version_history.md

File metadata and controls

187 lines (130 loc) · 8.43 KB

ROCm Version History

This file contains archived version history information for the ROCm project

Current ROCm Version: 2.0

New features and enhancements in ROCm 2.0

Adds support for RHEL 7.6 / CentOS 7.6 and Ubuntu 18.04.1

Adds support for Vega 7nm, Polaris 12 GPUs

Introduces MIVisionX

  • A comprehensive computer vision and machine intelligence libraries, utilities and applications bundled into a single toolkit.

Improvements to ROCm Libraries

  • rocSPARSE & hipSPARSE
  • rocBLAS with improved DGEMM efficiency on Vega 7nm

MIOpen

  • This release contains general bug fixes and an updated performance database
  • Group convolutions backwards weights performance has been improved
  • RNNs now support fp16

Tensorflow multi-gpu and Tensorflow FP16 support for Vega 7nm

  • TensorFlow v1.12 is enabled with fp16 support

PyTorch/Caffe2 with Vega 7nm Support

  • fp16 support is enabled
  • Several bug fixes and performance enhancements
  • Known Issue: breaking changes are introduced in ROCm 2.0 which are not addressed upstream yet. Meanwhile, please continue to use ROCm fork at https://github.com/ROCmSoftwarePlatform/pytorch

Improvements to ROCProfiler tool

  • Support for Vega 7nm

Support for hipStreamCreateWithPriority

  • Creates a stream with the specified priority. It creates a stream on which enqueued kernels have a different priority for execution compared to kernels enqueued on normal priority streams. The priority could be higher or lower than normal priority streams.

OpenCL 2.0 support

  • ROCm 2.0 introduces full support for kernels written in the OpenCL 2.0 C language on certain devices and systems.  Applications can detect this support by calling the “clGetDeviceInfo” query function with “parame_name” argument set to “CL_DEVICE_OPENCL_C_VERSION”.  In order to make use of OpenCL 2.0 C language features, the application must include the option “-cl-std=CL2.0” in options passed to the runtime API calls responsible for compiling or building device programs.  The complete specification for the OpenCL 2.0 C language can be obtained using the following link: https://www.khronos.org/registry/OpenCL/specs/opencl-2.0-openclc.pdf

Improved Virtual Addressing (48 bit VA) management for Vega 10 and later GPUs

  • Fixes Clang AddressSanitizer and potentially other 3rd-party memory debugging tools with ROCm
  • Small performance improvement on workloads that do a lot of memory management
  • Removes virtual address space limitations on systems with more VRAM than system memory

Kubernetes support

New features and enhancements in ROCm 1.9.2

RDMA(MPI) support on Vega 7nm

  • Support ROCnRDMA based on Mellanox InfiniBand

Improvements to HCC

  • Improved link time optimization

Improvements to ROCProfiler tool

  • General bug fixes and implemented versioning APIs

New features and enhancements in ROCm 1.9.2

RDMA(MPI) support on Vega 7nm

  • Support ROCnRDMA based on Mellanox InfiniBand

Improvements to HCC

  • Improved link time optimization

Improvements to ROCProfiler tool

  • General bug fixes and implemented versioning APIs

Critical bug fixes

New features and enhancements in ROCm 1.9.1

Added DPM support to Vega 7nm

  • Dynamic Power Management feature is enabled on Vega 7nm.

Fix for 'ROCm profiling' that used to fail with a “Version mismatch between HSA runtime and libhsa-runtime-tools64.so.1” error

New features and enhancements in ROCm 1.9.0

Preview for Vega 7nm

  • Enables developer preview support for Vega 7nm

System Management Interface

  • Adds support for the ROCm SMI (System Management Interface) library, which provides monitoring and management capabilities for AMD GPUs.

Improvements to HIP/HCC

  • Support for gfx906
  • Added deprecation warning for C++AMP. This will be the last version of HCC supporting C++AMP.
  • Improved optimization for global address space pointers passing into a GPU kernel
  • Fixed several race conditions in the HCC runtime
  • Performance tuning to the unpinned copy engine
  • Several codegen enhancement fixes in the compiler backend

Preview for rocprof Profiling Tool

Developer preview (alpha) of profiling tool rocProfiler. It includes a command-line front-end, rpl_run.sh, which enables:

  • Cmd-line tool for dumping public per kernel perf-counters/metrics and kernel timestamps
  • Input file with counters list and kernels selecting parameters
  • Multiple counters groups and app runs supported
  • Output results in CSV format

The tool can be installed from the rocprofiler-dev package. It will be installed into: /opt/rocm/bin/rpl_run.sh

Preview for rocr Debug Agent rocr_debug_agent

The ROCr Debug Agent is a library that can be loaded by ROCm Platform Runtime to provide the following functionality:

  • Print the state for wavefronts that report memory violation or upon executing a "s_trap 2" instruction.
  • Allows SIGINT (ctrl c) or SIGTERM (kill -15) to print wavefront state of aborted GPU dispatches.
  • It is enabled on Vega10 GPUs on ROCm1.9.

The ROCm1.9 release will install the ROCr Debug Agent library at /opt/rocm/lib/librocr_debug_agent64.so

New distribution support

  • Binary package support for Ubuntu 18.04

ROCm 1.9 is ABI compatible with KFD in upstream Linux kernels.

Upstream Linux kernels support the following GPUs in these releases: 4.17: Fiji, Polaris 10, Polaris 11 4.18: Fiji, Polaris 10, Polaris 11, Vega10

Some ROCm features are not available in the upstream KFD:

  • More system memory available to ROCm applications
  • Interoperability between graphics and compute
  • RDMA
  • IPC

To try ROCm with an upstream kernel, install ROCm as normal, but do not install the rock-dkms package. Also add a udev rule to control /dev/kfd permissions:

    echo 'SUBSYSTEM=="kfd", KERNEL=="kfd", TAG+="uaccess", GROUP="video"' | sudo tee /etc/udev/rules.d/70-kfd.rules

New features as of ROCm 1.8.3

  • ROCm 1.8.3 is a minor update meant to fix compatibility issues on Ubuntu releases running kernel 4.15.0-33

New features as of ROCm 1.8

DKMS driver installation

  • Debian packages are provided for DKMS on Ubuntu
  • RPM packages are provided for CentOS/RHEL 7.4 and 7.5 support
  • See the ROCT-Thunk-Interface and ROCK-Kernel-Driver for additional documentation on driver setup

New distribution support

  • Binary package support for Ubuntu 16.04 and 18.04
  • Binary package support for CentOS 7.4 and 7.5
  • Binary package support for RHEL 7.4 and 7.5

Improved OpenMPI via UCX support

  • UCX support for OpenMPI
  • ROCm RDMA

New Features as of ROCm 1.7

DKMS driver installation

  • New driver installation uses Dynamic Kernel Module Support (DKMS)
  • Only amdkfd and amdgpu kernel modules are installed to support AMD hardware
  • Currently only Debian packages are provided for DKMS (no Fedora suport available)
  • See the ROCT-Thunk-Interface and ROCK-Kernel-Driver for additional documentation on driver setup

New Features as of ROCm 1.5

Developer preview of the new OpenCL 1.2 compatible language runtime and compiler

  • OpenCL 2.0 compatible kernel language support with OpenCL 1.2 compatible runtime
  • Supports offline ahead of time compilation today; during the Beta phase we will add in-process/in-memory compilation.

Binary Package support for Ubuntu 16.04

Binary Package support for Fedora 24 is not currently available

Dropping binary package support for Ubuntu 14.04, Fedora 23

IPC support