【问题标题】:How to use BLAS library in Spark?如何在 Spark 中使用 BLAS 库?
【发布时间】:2016-03-18 09:59:25
【问题描述】:

我是 Scala 新手,我正在用 Scala 编写 Spark 应用程序,我需要使用来自 org.apache.spark.mllib.linalg.BLASaxpy 函数。但是,用户似乎无法访问它。相反,我尝试导入 com.github.fomil.netlib 并直接访问它。但我也可以。我需要乘以 DenseVector。

【问题讨论】:

    标签: scala apache-spark blas


    【解决方案1】:

    现在,mllib 中的 BLAS 类在 spark source code 中标记为 private[spark]。这意味着,正如您似乎已经发现的那样,它无法从外部访问火花本身。总之,你不能在你的代码中使用它。

    如果你想直接使用netlib-java类,你需要在你的项目中添加如下依赖

    libraryDependencies += "com.github.fommil.netlib" % "all" % "1.1.2" pomOnly()
    

    这应该允许您导入 BLAS 类。请注意,我并没有真正尝试过使用它,但我可以毫无问题地执行BLAS.getInstance()。如此处所述 - https://github.com/fommil/netlib-java,在某些 Linux 平台上的安装可能会有些复杂。

    【讨论】:

      【解决方案2】:

      将 mllib 添加到您的项目中

      libraryDependencies += "org.apache.spark" %% "spark-mllib" % "1.3.0"

      【讨论】:

      • 我的项目中确实有它,并且包含了 11org.apache.spark.mllib.linalg.BLAS`` 但是当我写 ``BLAS.axpy()`` 时它说 'axpy`不是BLAS的成员~我在某处读到BLAS不向用户公开。有其他选择吗?
      • 是什么给了你这个错误? sbt 控制台中的编译器?一个ide?​​span>
      • 我在 Scala-IDE 中工作,它显示错误消息并且没有被编译。
      猜你喜欢
      • 1970-01-01
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多