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.