2016-03-29 34 views
5

Çalışmayan apache kıvılcım ve netlib kurulumumu gidermeye çalışıyorum ve bundan sonra ne yapacağımı bilmiyorum. İşteSpark netlib-java BLAS

bazı bilgi: 1.3.1 (aynı zamanda 1.5.1 çalıştı)

  • Spark 3 Düğümler ile
  • Mesos Küme her düğümde
  • Ubuntu Trusty ve aşağıdaki yüklü BLAS paketi

    $ dpkg -l | grep 'blas\|atlas\|lapack' 
    ii libopenblas-base     0.2.8-6ubuntu1     amd64  Optimized BLAS (linear algebra) library based on GotoBLAS2 
    
    $ update-alternatives --get-selections | grep 'blas\|lapack' 
    libblas.so.3     auto  /usr/lib/openblas-base/libblas.so.3 
    

Ben test için örnek bir kavanoz yerleşikeğeraşağıdaki kodla, bu kütüphaneleri algılayabilir:

object Main extends App { 
    println(com.github.fommil.netlib.BLAS.getInstance().getClass().getName()) 
    println(com.github.fommil.netlib.LAPACK.getInstance().getClass().getName()) 
} 

ben bu kodu çalıştırdığınızda i yanıtı şu olsun:

$ java -jar artifacts/BLAStest-assembly-1.0.jar 
Mar 29, 2016 3:43:33 PM com.github.fommil.netlib.BLAS <clinit> 
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS 
Mar 29, 2016 3:43:33 PM com.github.fommil.jni.JniLoader liberalLoad 
INFO: successfully loaded /tmp/jniloader6790966128222263615netlib-native_ref-linux-x86_64.so 
com.github.fommil.netlib.NativeRefBLAS 
Mar 29, 2016 3:43:33 PM com.github.fommil.netlib.LAPACK <clinit> 
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemLAPACK 
Mar 29, 2016 3:43:33 PM com.github.fommil.jni.JniLoader load 
INFO: already loaded netlib-native_ref-linux-x86_64.so 
com.github.fommil.netlib.NativeRefLAPACK 

Bu yüzden burada sadece iyi çalışıyor gibi görünüyor. Ancak, kıvılcım kütüphaneleri tespit edemiyor. Ben bu işe yaramazsa bu paketteki bir kıvılcım kabuk başlatmak çalışırsanız benim montaj için bu java bağımlılık da

com.github.fommil.netlib:all:1.1.2 

kavanozumuzu ekledik.

spark-shell --packages com.github.fommil.netlib:all:1.1.2 

cevap

3

Bu sizin netlib-java uygulama NativeSystemBLAS NativeRefBLAS yüklenirken değil, gibi görünüyor. Bu, "com.github.fommil.netlib: all" kelimesinin çalışmaya dahil olduğu anlamına gelir, çünkü o olmadan doğal olmayan F2J uygulamasını kullanırsınız. Sorun, netlib-java ile gelen referans uygulaması yerine sistem tarafından sağlanan BLAS (OpenBLAS) kullanmak istediğinizdir. Muhtemelen bu sadece, bu kıvılcım yöneticilerinizin görebileceği bir yerde doğru paylaşılan kütüphaneleri edinme meselesidir.

Sen liblapack.so, sen libblas.so.3 bağlantılı ama netlib-java readme açıklandığı gibi, ayrıca libblas.so yapılandırmanız gerekir söyledi ve liblapack.so.3:

sudo apt-get install libatlas3-base libopenblas-base 
sudo update-alternatives --config libblas.so 
sudo update-alternatives --config libblas.so.3 
sudo update-alternatives --config liblapack.so 
sudo update-alternatives --config liblapack.so.3 
+0

Teşekkür cevap için. Libblas.so veya liblapack.so için herhangi bir alternatif bulunamadı. Bunun zaten bir neden olup olmadığını bilmiyorum. Yine de küçük aracım şimdi NativeSystemBLAS'a bağlanıyor. Ancak kıvılcım kabuğu ve herhangi bir kıvılcım işi hala F2J uygulamasına bağlanıyor ve orada ne fark olduğunu anlayamıyorum: / – wobu