AMD's A-Sync DMA Code Makes For Fast Performance

Posted by Michael Larabel on December 12, 2012

After the benchmarks of the Radeon Gallium3D sub-allocator that in some tests yields more than a 25% performance boost, initial testing was done of the new AMD a-sync DMA engine support for the open-source Radeon driver.

Earlier this week AMD released code to support the a-synchronous DMA engines. This support goes from the Radeon HD 2000 series up through the very latest Radeon HD 7000 series graphics hardware. The DRM side of this code will be merged into the Linux 3.8 kernel while other user-space code is still forthcoming.

Christian König of AMD described the a-sync DMA code as "The async DMA can do copy/moves independent of the shader engine. So while the shader part of the GPU is busy with the rendering we can still upload new data with the DMA at the same time. Additional to that it is quite a bit more efficient than the shader engine when you just want to copy some data from A to B, or just clear a specific region of memory (memcpy/memset). So using it should result in some very nice performance improvements for certain use cases, but what Alex has released is just kernel part of the implementation, and even that is missing the CS checker. It will probably just take some more time till mesa really picks that up."

Aaron Watry, the Phoronix reader who carried out the simple Radeon Gallium3D sub-allocator tests using the Phoronix Test Suite and OpenBenchmarking.org, has now begun tests on the Radeon DRM code for this a-sync DMA engine support.

Using an AMD Radeon HD 6850 graphics card on the open-source Linux graphics driver stack, Aaron is reporting nearly a 10x improvement in performance for Unigine Heaven as a result of this new code for Linux 3.8.

He notes these early results in this forum post and says he will be conducting additional tests soon. For those wanting to see the initial performance data of this new code from AMD, the data is within the async_dma_tests result file.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  2. Qt For Tizen Launches, Based On Qt 5.1
  3. KTAP Released For Linux Kernel Dynamic Tracing
  4. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  5. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  6. Handbrake 0.9.9 Supports OpenCL Offloading
  7. Freedreno Gallium3D Now Banging The Adreno A3XX
  8. Jolla Announces Their First Phone
  9. Mageia 3 Released, Still Using Legacy GRUB
  10. NetBSD 6.1 Brings In More Features
  11. Using Six Monitors With AMD's Open-Source Linux Driver
Latest Forum Talk
  1. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  2. Linux's "Ondemand" Governor Is No...
  3. Jolla Announces Their First Phone
  4. Logitech Begins Supporting Linux Users
  5. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  6. Intel Sandy/Ivy Bridge Gallium3D Driver Merged
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite