Check out my first novel, midnight's simulacra!
Intel QAT: Difference between revisions
No edit summary |
No edit summary |
||
(One intermediate revision 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. It covers cryptography and compression. | 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 | 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]] | [[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.
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.