Migrating Applications

This section provides a detailed guide for migrating an application from the Intel QuickAssist Technology (QAT) out-of-tree driver to the in-tree QAT driver and QATlib. The in-tree driver is integrated into the Linux kernel, offering a streamlined update process and better compatibility with kernel updates. QATlib is a user-space library that facilitates interaction with QAT hardware through a high-level API.

  1. Remove the Out-of-Tree Driver

    Before installing the in-tree driver, you must first remove the out-of-tree driver to prevent conflicts. If the out-of-tree driver is currently loaded, you will need to unload it and ensure it does not load on boot. You may need to remove or disable any startup scripts or systemd services that load the out-of-tree driver.

    Refer to the Uninstall Acceleration Software section of the Getting Started Guide for details.

  2. Install In-Tree Driver Stack

    The in-tree driver stack is part of the Linux kernel, and you may need to enable it through your distribution’s kernel configuration. Instructions on platform configuration and library installation are included in the Installation section.

    Start with the System Requirements section.

  3. Update Application Dependencies

    Adapt your application to use QATlib instead of the out-of-tree driver’s libraries.

    • Link against libqat.so and libusdm.so instead of libqat_s.so and libusdm_s.so

    • Use system includes with the prefix qat, e.g. #include <qat/cpa.h>

  4. Test the Application

    Thoroughly test your application to ensure that it works correctly with the in-tree driver and QATlib.

  5. Update Deployment and Configuration

    Update any deployment scripts, configuration files, or documentation to reflect the changes made to the application and its dependencies.

    Refer to the Configuration and Tuning section of this document for details.