Hi all, I am planning to add Native backend guide. The document should answer the following questions. Please, feel free to add new points or contribute to discussion. thanks.
User guide 1. BLAS Installation instructions 1a. Intel MKL Download Intel MKL from [1]. Version of MKL (2017 and higher), do we use MKL DNN primitives? 1b. OpenBLAS Compiling OpenBLAS with OpenMP is recommended instead of apt-get/yum. instructions are at [2]. 2. How to provide the location of native libraries? via commandline - Java: -Djava.library.path=/path/to/blas-n-other-dependencies - Spark: --conf spark.executorEnv.LD_LIBRARY_PATH=/path/to/blas-n-other-dependencies This can also be set with `sysds.native.blas.directory` 3. How to enable native BLAS? set sysds.native.blas[3] to either mkl, openblas Troubleshooting - 1. Unable to load gomp - 2. Unable to load mkl_rt - 3. Unable to load openblas - 4. Using OpenBLAS without OpenMP can lead to performance issues - 5. Using MKL can lead to slow performance for convolution instruction --- [1] https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html [2] https://github.com/xianyi/OpenBLAS#installation-from-source [3] https://github.com/apache/systemds/blob/master/conf/SystemDS-config.xml.template#L61 Thank you, Janardhan