Using Custom Library Tool#
Follow the steps below to build a custom dynamic/shared library using the Custom Library Tool:
Define a list of Intel® Cryptography Primitives Library functions that the Custom Library Tools should export to your custom dynamic/shared library. See the example text file
my_functions.txtbelow:ippcpGetLibVersion ippsDESGetSize ippsDESInit ippsDESPack ippsDESUnpack
Run
python clt.pywith the following parameters:-c--consoleDoes nothing. The option is left for compatibility with previous versions of Custom Library Tool.
-g--generate-g={none|dynamic|static}--generate={none|dynamic|static}Enables the script generation mode (the build mode is used by default). For more information, see Operation Modes. If no arguments are provided to the options
-g/--generate, dynamic dispatcher generation mode is used.-n <name>--name <name>Output library name.
-p <path>--path <path>Path to the output directory.
-root <root_path>Path to Intel® Cryptography Primitives Library package root directory
-f <function>--function <function>Name of a function to be included into your custom dynamic/shared library.
-ff <functions_file>--functions_file <functions_file>Path to a file with a list of functions to be included into your custom dynamic/shared library (the
-for--functionflag can be used to add functions on the command line).-arch={intel64}--architecture={intel64}Enables all actions for the Intel® 64 architecture. This is enabled by default. It is left for compatibility with previous versions of Custom Library Tool.
-tl={tbb|openmp}--threading_layer_type={tbb|openmp}Does nothing. This option is not applicable in case of Intel® Cryptography Primitives Library.
-d <cpu_set>--custom_dispatcher <cpu_set>Sets the exact list of CPUs that must be supported by custom dynamic/shared library and generates a C-file with the custom dispatcher.
--prefix <prefix>Renames selected functions with specified prefix in the custom dispatcher files.
-h--helpPrints command help.
For example:
# Generate build scripts # with the output shared library name "my_custom_lib" # with functions defined in the "my_functions.txt" file # optimized only for processors with # Intel® Advanced Vector Extensions 512 (Intel® AVX-512) # using Intel® Cryptography Primitives Library python3 clt.py \ -g \ -n my_custom_lib \ -p "~/my_project" \ -ff "~/my_project/my_functions.txt" \ -d avx512bw