In the example compilation command below, INT_LIB is either LP64 or ILP64
for 32 and 64 bit integers respectively.
cl <example_name>.cpp /I \<path to aocl-da headers>\include\<INT_LIB> /EHsc /MD
\<path to aocl-da>\lib\<INT_LIB>\aocl-da.lib
\<path to amd-sparse>\lib\<INT_LIB>\shared\aoclsparse.lib
\<path to amd-libflame>\lib\<INT_LIB>\AOCL-LibFlame-Win-MT-dll.lib
\<path to amd-blis>\lib\<INT_LIB>\AOCL-LibBlis-Win-MT-dll.lib
\<path to amd-utils>\lib\libaoclutils.lib /openmp:llvm
The same command will work with cl replaced by clang-cl (in which case, simply use /openmp) and linking statically using /MT.
If you are using serial libraries, then the OpenMP flag is not required and -MT should be
omitted from the BLIS and libFLAME library names.
Note
You should ensure the folders containing the libraries to be linked are on your
Windows PATH environment variable e.g. using set PATH=%PATH%;C:\<path_to_BLAS_and_LAPACK>.
Depending on how your system is set up, and which functions you are using, you may also need to
link to some Fortran runtime libraries such as libfifcore-mt.lib.
The easiest way to do this is to source the ifort compiler using e.g. C:\Program Files (x86)\Intel\oneAPI\setvars.bat.