New Release of the AMP Algorithms Library

If you are fond of high-performance algorithms, you will be pleased to find out that our friend Ade Miller has just issued a new iteration of the AMP Algorithms Library. As usual, Ade's work is top notch, and it brings notable improvements across the board; in his own words:

Finally, there is a new release of the C++ AMP Algorithms Library! It has taken a while, largely due to other things, like CppCon taking up my time. This release contains the following:

  • New C++ AMP features:

    • AMP and STL algorithms no longer depend on DirectX scan implementation.

    • New implementation of amp_algorithms::scan that does not have a direct dependency on the ID3DX11Scan and ID3DX11SegmentedScan interfaces.

    • The amp_stl_algorithms::copy_if and remove_if algorithms use the new scan implementation now, for improved performance.

    • Implementation of radix sort amp_algorithms::radix_sort.

    • New utility functions: log2, is_power_of_two, count_bits, padded_read, padded_write, pack_byte and unpack_byte.

    • New namespace added for DirectX dependent features, amp_algorithms::direct3d. All DirectX code now in a separate header file amp_algorithms_direct3d.h.

  • New C++ AMP STL features:

    • inner_product

    • minmax

    • pair<T1, T2>

    • rotate_copy

  • New SAXPY example.

  • Reorganized unit tests, consistent names and test categories.

As usual, you can download the latest iteration from:, and enjoy the benefits of heterogeneous parallelism.