Недавно я скачал и собрал Spark 2.3.1. Я использовал эти команды для загрузки и выбора версии 2.3.1.
git clone https://github.com/apache/spark.git
cd spark
git checkout tags/v2.3.1
Я стремлюсь улучшить производительность своего приложения и наткнулся на статьи, в которых предлагалось обновить распределенную версию OpenBLAS, поэтому при сборке spark я использовал параметр -Pnetlib-lgpl
для установки netlib-java
.
Это команда, которую я использовал.
build/mvn -Pyarn -Phive -Phive-thriftserver -DskipTests -Pnetlib-lgpl clean package
Как мне узнать/убедиться, что spark теперь использует OpenBLAS из netlib-java, который я установил с помощью приведенной выше команды, а не той, которая распространяется с Ubuntu? Кроме того, это правильный способ обновить OpenBLAS или я что-то упускаю?
ПС
Я выполнил следующие команды, чтобы убедиться, что он правильно установлен.
import com.github.fommil.netlib.BLAS
println(BLAS.getInstance().getClass().getName())
приводит к
com.github.fommil.netlib.NativeSystemBLAS
Я использовал следующее для ссылок
sudo update-alternatives --display liblapack.so
sudo update-alternatives --install /usr/lib64/libblas.so libblas.so /usr/lib64/atlas/libtatlas.so.3 1000
sudo update-alternatives --install /usr/lib64/libblas.so.3 libblas.so.3 /usr/lib64/atlas/libtatlas.so.3 1000
sudo update-alternatives --install /usr/lib64/liblapack.so liblapack.so /usr/lib64/atlas/libtatlas.so.3 1000
sudo update-alternatives --install /usr/lib64/liblapack.so.3 liblapack.so.3 /usr/lib64/atlas/libtatlas.so.3 1000
Я использую Убунту
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial