问题标签 [jblas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 JBLAS 中构造子矩阵的矩阵
使用 JBLAS,我定义了以下矩阵:
我想构造一个由、和矩阵A
组成的矩阵,其形式如下:I
O
B
A
JBLAS 中有支持水平和垂直连接的函数,但我想知道是否有一种更简洁的构造方法A
,不涉及为每个子矩阵调用这些函数。任何帮助将不胜感激,再次感谢!
java - 我可以在没有临时文件的情况下使用 jblas mmul 吗?
我正在使用 jblas 进行 Apache 紧缩工作,但约束条件是我无法编写任何本地文件。我只需要执行一项写入临时文件的操作:mmul。例如,
尝试将本地文件写入如下目录:
有没有办法在不编写本地文件的情况下进行矩阵乘法?
谢谢你。
apache-spark - 如何在 Amazon EMR、EC2 上为 Breeze 配置高性能 BLAS/LAPACK
我正在尝试建立一个环境来支持集群上的探索性数据分析。根据对现有情况的初步调查,我的目标是使用 Scala/Spark 和 Amazon EMR 来预置集群。
目前,我只是尝试启动并运行一些基本示例,以验证我是否已正确配置所有内容。我遇到的问题是我没有看到我期望从 Amazon 机器实例上的 Atlas BLAS 库中获得的性能。
下面是我的简单基准测试的代码片段。它只是一个方阵乘法,然后是短胖乘法和一个高瘦乘法,以产生一个可以打印的小矩阵(我想确保 Scala 不会因为惰性求值而跳过计算的任何部分)。
我将 Breeze 用于线性代数库,并使用 netlib-java 为 BLAS/LAPACK 引入本地本机库
根据对基准的网络调查,我预计 3000x3000 矩阵乘法大约需要。2-4s 使用本地优化的 BLAS 库。当我在 MacBook Air 上本地运行时,这个基准测试在 1.8 秒内完成。当我在 EMR 上运行它时,它大约会完成。11s(使用 g2.2xlarge 实例,尽管在 m3.xlarge 实例上获得了类似的结果)。作为另一项交叉检查,我在相同的 EC2 实例类型 g2.2xlarge 上运行来自BIDMach 项目的预构建 EC2 AMI ,并获得了 2.2 秒(注意,相同计算的 GPU 基准测试产生了 0.047 秒)。
在这一点上,我怀疑 netlib-java 没有加载正确的库,但这就是我卡住的地方。我已经多次阅读 netlib-java 自述文件,似乎 ATLAS 库已按要求安装(见下文)
下面我展示了在 Amazon EMR 实例上运行基准测试的 2 个示例。第一个显示本机系统 BLAS 应该正确加载的时间。第二个显示当本机 BLAS 未加载并且包回退到参考实现时。因此,它似乎确实在根据消息和时间加载本机 BLAS。与在我的 Mac 上本地运行相比,no BLAS 案例的运行时间大致相同,但本机 BLAS 案例在我的 Mac 上的运行时间为 1.8 秒,而在下面的案例中为 15 秒。与 EMR 相比,我的 Mac 的信息消息相同(除了特定的目录/文件名等)。
在这一点上,我最好的猜测是它实际上正在加载一个本机库,但它正在加载一个通用库。关于如何验证它在运行时拾取的共享库有什么建议吗?我试过'ldd',但这似乎不适用于spark-submit。或者也许我对 Atlas 的期望是错误的,但如果它们没有运行相当有竞争力的速度,似乎很难相信 AWS 会预先安装这些库。
如果您发现这些库未在 EMR 上正确链接,请提供有关我需要做什么的指导,以便 Atlas 库被 netlib-java 拾取。
谢谢蒂姆
apache-spark - Apache Spark - MLlib - 矩阵乘法
我正在尝试将 MLlib 用于矩阵乘法问题。
我知道 Spark MLLib 使用本机库,这些库需要存在于节点上。(它不附带火花安装)。
所以我已经在所有节点上安装了 libgfortran 库(我做了和 Apache Spark 一样的——MlLib——协作过滤)
但是在集群上运行时我仍然遇到这个错误。
我该如何解决这个错误?
java - 如何将 JBLAS 库导入 Android Studio
该库以 zip 格式下载并解压缩到整个文件夹结构而不是 jar 文件。
https://github.com/mikiobraun/jblas-examples/blob/master/src/CG.java
我需要一些帮助才能将其导入 android studio。
java - 无法使用 Eigen 获得负特征向量。jblas中的特征向量方法
我正在尝试计算以下矩阵的特征向量和特征值。我能够得到结果,但所有特征向量都是正的
例子:
12.48 -1.88 -6.7
-1.88 26.7 4.32
-6.7 4.32 21.2
[1] 实特征值 = 8.8362 =S3
[1] 实特征向量:
-0.0247
[2] 实特征值 = 20.9867 =S2
[2] 实特征向量:
-0.6696
[3] 实特征值 = 30.5570 =S1
[3] 实特征向量:
-0.7731
-0.5643
以下是我测试时的方法和输出。
我的测试方法后的结果。
Principal EigenValues[8.84, 20.99, 30.56] Principal EigenVectors[0.8753, 0.0247, 0.483, 0.3873, 0.6337, 0.6696, 0.2895, 0.7731, 0.5643]
android - UnsatisfiedLinkError 在 Android 中使用 jblas 进行矩阵指数
我需要为我的Android应用程序使用矩阵指数函数。我使用了图书馆jblas (jblas.org)。但它返回以下错误并且应用程序崩溃!
java - How can I install libgfortran3 in Ubuntu/Lubuntu 20.04?
I'm using jBlas and it require libgfortran3 and tell me to install it from:
But I'm using Lubuntu 20.04, which use the same packages as Ubuntu 20.04. I can't find the package here https://packages.ubuntu.com/search?keywords=libgfortran3
So what should I do?
java - 将 jBLAS 与 NVBLAS 一起使用
我已经用 NVBLAS 编译了 jBLAS 和一个有点 hacky 的解决方案,因为配置脚本没有正确找到库。我像这样手动编辑了configure.out
jBLAS 文件,以包含 NVBLAS 库。
然后我运行命令make clean all
,并mvn clean package
按照此处记录。测试成功通过,但程序在退出时导致分段错误。
我决定运行mvn clean package -DskipTests
,因为测试似乎通过了正常,只是程序在终止时导致了分段错误。然而,当我在我的 Java 项目中使用该库时,nvblas.log
发现尽管 NVBLAS 拦截了对 BLAS 例程的调用,但它们实际上是在 CPU 而不是 GPU 上执行的。运行nvprof --print-gpu-summary
我的程序也得出了同样的结论。
内容nvblas.log
如下:
我真的不知道该怎么做,我希望有人可以提供任何建议,这似乎真的很糟糕。
java - jblas blas lapack - dsysv 比 dgesv 慢 - 为什么solveSymmetric 比solve 慢
我有一个制作线性代数的 Java 程序。我使用 jblas 库,根据我的理解,它应该调用实现 Blas 和 Lapack 的本机库以获得更快的结果。
此代码在 Docker 中运行并在 AWS Batch 托管作业中启动。
摘自 Dockerfile :
我尝试提高对 24000 x 24000 平方对称矩阵求逆的速度。我看到 jblas 库提供了 2 种方法。一种用于使用本机dgesv程序进行通用线性系统求解,另一种用于使用本机dsysv程序进行对称矩阵求解。
问题 1:当应该使用原生 Blas 和 Lapack 库时,求解 24k 方阵需要这么多时间是否正常?如果不是,如何提高在 AWS Batch 作业环境中运行时的速度?
问题 2:为什么求解对称 (dsysv) 比一般求解 (dgesv) 慢?我的期望是,如果我们让原生库知道输入矩阵是对称的,它会给它一个提示,让它能够更快地求解线性系统。
顺便说一句,我检查了这两种方法是否给出了相同的数值结果。情况就是这样。