Check out my first novel, midnight's simulacra!

Intel QAT: Difference between revisions

From dankwiki
(Created page with "QuickAssist Technology is a family of Intel PCIe and on-die accelerators, plus associated software. It's available on some Xeon Scalable 4th Gen processors, and [https://www.intel.com/content/www/us/en/products/sku/125199/intel-quickassist-adapter-8960/specifications.html QAA 8960]/[https://www.intel.com/content/www/us/en/products/sku/125200/intel-quickassist-adapter-8970/specifications.html QAA 8970] PCIe cards.")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
QuickAssist Technology is a family of Intel PCIe and on-die accelerators, plus associated software. It's available on some Xeon Scalable 4th Gen processors, and [https://www.intel.com/content/www/us/en/products/sku/125199/intel-quickassist-adapter-8960/specifications.html QAA 8960]/[https://www.intel.com/content/www/us/en/products/sku/125200/intel-quickassist-adapter-8970/specifications.html QAA 8970] PCIe cards.
QuickAssist Technology is a family of Intel PCIe and on-die accelerators, plus associated software. It's available on some Xeon Scalable 4th Gen processors, and [https://www.intel.com/content/www/us/en/products/sku/125199/intel-quickassist-adapter-8960/specifications.html QAA 8960]/[https://www.intel.com/content/www/us/en/products/sku/125200/intel-quickassist-adapter-8970/specifications.html QAA 8970] PCIe cards. It covers cryptography and compression.
 
On Linux, QAT requires (out-of-tree as of 2023) kernel modules, firmware, and a userspace component. <tt>qat_service</tt> is a [[systemd]] service responsible for loading necessary kernel modules and enabling endpoints via the <tt>adf_ctl</tt> binary. VFIO/UIO are used together with a standard TX/RX ringbuffer (or alternately callbacks) to submit work and get results from the QAT endpoints, typically through the QuickAssist API.
 
==Shared Virtual Memory==
QAT hardware 2.0 and above support shared virtual memory, rather than requiring work be submitted in physically contiguous, pinned memory. This requires Linux 6.2 or above, and the kernel command line parameter <tt>intel_iommu=on,sm_on</tt>.
 
==External links==
* [https://cdrdv2.intel.com/v1/dl/getContent/743912 Hardware 2.0 Programming Guide]
 
[[CATEGORY:Hardware]]

Latest revision as of 11:45, 8 April 2023

QuickAssist Technology is a family of Intel PCIe and on-die accelerators, plus associated software. It's available on some Xeon Scalable 4th Gen processors, and QAA 8960/QAA 8970 PCIe cards. It covers cryptography and compression.

On Linux, QAT requires (out-of-tree as of 2023) kernel modules, firmware, and a userspace component. qat_service is a systemd service responsible for loading necessary kernel modules and enabling endpoints via the adf_ctl binary. VFIO/UIO are used together with a standard TX/RX ringbuffer (or alternately callbacks) to submit work and get results from the QAT endpoints, typically through the QuickAssist API.

Shared Virtual Memory

QAT hardware 2.0 and above support shared virtual memory, rather than requiring work be submitted in physically contiguous, pinned memory. This requires Linux 6.2 or above, and the kernel command line parameter intel_iommu=on,sm_on.

External links