Part 2 : Quick Start
The program phoenix_hpc_proxy is a code generator which automates linking to a proper library by respect to the host architecture.
To run phoenix_hpc_proxy :
phoenix_hpc_proxy -i header.h -l lib_name --avx=/path/to/your/lib_nameavx.so -o output/dir/
Where parameters are :
--header=FILENAME , -i FILENAME : list of input headers to be used to describe the main library This argument has to be set --library=STRING , -l STRING : name of the library to be created Default value : lib_shadok This argument is optional --libdir=DIRECTORY , -d DIRECTORY : directory where the sub libraries are installed This argument is optional --anyarch=FILENAME : file name of the library to be used for any architectures (kind of security if the other architectures are not found) This argument is optional --sse=FILENAME : file name of the library to be used for sse architecture This argument is optional --sse2=FILENAME : file name of the library to be used for sse2 architecture This argument is optional --ssse3=FILENAME : file name of the library to be used for ssse3 architecture This argument is optional --sse4.1=FILENAME : file name of the library to be used for sse4.1 architecture This argument is optional --sse4.2=FILENAME : file name of the library to be used for sse4.2 architecture This argument is optional --avx=FILENAME : file name of the library to be used for avx architecture This argument is optional --avx2=FILENAME : file name of the library to be used for avx2 architecture This argument is optional --avx512f=FILENAME : file name of the library to be used for avx512f architecture This argument is optional --avx512wb=FILENAME : file name of the library to be used for avx512wb architecture This argument is optional --output=STRING , -o STRING : Output directory Default value : . This argument is optional
This will produce a proxy library which will choose the right library to use on the fly.