问题标签 [atlas]

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.

0 投票
0 回答
122 浏览

linear-algebra - ATLAS 调优是如何工作的?

众所周知,ATLAS 使用矩阵计算算法的“分块”或“平铺”版本,这大大提高了性能。

ATLAS 似乎也有一些架构默认值,这些默认值是手动计算的。并且可以进行搜索以确定NB#define我认为代表块数的宏)的其他值。

但它是如何工作的?数值是如何确定的?算法是否只是以不同的值(蒙特卡洛风格)运行多次,直到找到某种最优值?

这也是一个假设。假设您将一个阻塞的 ATLAS 算法复制到 C++ 模板中,并且有一个 128 位的有理类型。您能否NB以某种方式从算法NB的双重版本中的 ATLAS 调整值推导出算法的理性版本?

0 投票
3 回答
7125 浏览

installation - 在 ATLAS 中构建共享库

我已经阅读了整个 ATLAS 安装指南,它说构建共享 (.so) 库所需要做的就是将--shared标志传递给配置脚本。但是,当我构建时,我的文件夹中.so出现的唯一文件是and ,尽管指南说应该还有其他六个:liblibsatlas.solibtatlas.so

安装后,由于缺少这些库,某些测试会失败。此外,FFPACK 在安装期间需要这些库。

有没有人遇到过这个?我做错了什么?

0 投票
1 回答
743 浏览

linux - 确定用于构建 ATLAS 的独立 CPU(使用关联 ID 指定)

我正在尝试确定用于在具有 4 个 Intel CPU 和超线程(ubuntu 12.04)的 linux 机器上构建 ATLAS 的独立 CPU(用关联 ID 指定)。

我这样做的原因是 ATLAS 手册说在具有超线程的机器上只使用物理内核,关于如何实现这一点它说: “......如果你学习,你可以告诉 ATLAS 只使用真正的内核关于您的机器的一些信息。不幸的是,ATLAS 目前无法自动检测这些功能,但是如果您进行实验,您可以发现哪些亲和 ID 是单独的核心,......”

进一步提示如何实际进行此实验:“...在 Linux 下,我可以使用 cat /proc/cpuinfo... 发现这一点。”

在我的机器上,文件 /proc/cpuinfo 包含八个虚拟处理器的以下信息:

    • 处理器:0
    • vendor_id : 正版英特尔
    • CPU系列:6
    • 型号:42
    • 型号名称:Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
    • 步进:7
    • 微码:0x1b
    • 中央处理器兆赫:3392.333
    • 缓存大小:8192 KB
    • 物理ID:0
    • 兄弟姐妹:8
    • 核心编号:0

...

处理器 0 和 4 共享相同的核心 ID(处理器 1 和 5、2 和 6、3 和 7 以此类推)。但是,如果我将 --force-tids="4 0 1 2 3" 指定给 ATLAS 配置脚本,则构建失败(首先对我来说是由于 make pcheck 失败而引起的)。如果我不使用此标志,则 pcheck 可以正常工作,如下所示:http: //sourceforge.net/tracker/ ?func=detail&aid=3577908&group_id=23725&atid=379483 。

有人知道我如何通过一些实验来了解我的机器吗?

0 投票
1 回答
1685 浏览

linux - Linux下numpy中使用Atlas的线程错误

我有一个使用在 Linux 机器上运行的多进程模块的多进程(不是多线程!)应用程序。此应用程序使用该numpy.linalg.solve功能,如果我尝试创建多个进程,则会收到错误消息:

请注意,在我开始使用 中的函数之前numpy.linalg,我没有遇到任何问题。

知道问题可能是什么吗?

编辑:我尝试使用scipy.linalg.solve,问题是一样的!

编辑:通过用 blas 替换 atlas,问题就消失了。所以看起来问题确实在地图集中

0 投票
5 回答
15551 浏览

python - 在 Windows 上安装 Numpy 和 Scipy

我已经成功安装了 Numpy。但是在网站上,我有很多事情要做,比如构建 Numpy、Scipy、下载 ATLAS、LAPACK 等。我真的很困惑,甚至我也检查了其他一些查询。还是无法理解。

谁能解释一下我到底该怎么做?我的电脑上安装了 cygwin。

  1. 如何构建 Numpy?建立numpy有什么用?
  2. 如何安装 Scipy?
  3. 什么是 ATLAS、LAPACK 等?

非常感谢(提前)。

0 投票
1 回答
316 浏览

c++ - 具有行主要存储顺序的 ATLAS clapack_sgesv

当我尝试将ATLAS的方法clapack_sgesv(对应的 FORTRAN 方法:sgesv.f)与以行主要存储顺序存储的矩阵一起使用时,我遇到了问题。

我在我的应用程序中将 Eigen3用于大多数线性代数任务,但最近开始用调用 ATLAS 的 cblas 和clapack方法来替换一些内部 Eigen 例程。我的应用程序必须支持通过定义 EigenEIGEN_DEFAULT_TO_ROW_MAJOR标志来将矩阵存储顺序切换为行优先。这当然可以使用 Eigen 的方法开箱即用,但clapack_调用需要不同的代码路径。.partialPivLu().solve()用 ATLAS 的clapack_sgesv方法替换 Eigen 的调用时遇到了问题。这是一个说明问题的最小代码示例:

我用g++ -std=c++11 -Wall -Wextra -g -llapack -lcblas -latlas. clapack_sgesv只要EIGEN_DEFAULT_TO_ROW_MAJOR未定义,上述调用给出与 Eigen 求解器相同的结果。

如果我定义它,则 ATLAS 的结果是错误的。

我的第一个怀疑当然是我把电话搞砸了clapack_sgesv()。但是除了设置存储顺序和将前导维度从行数切换到列数之外,似乎没有任何必要。

我注意到的另一件真正令人困惑的事情如下:当我尝试仅解决一个右侧的问题时,clapack_sgesv()调用失败并显示Parameter 8 to routine clapack_sgesv was incorrect, ldb must be >= MAX(N,1): ldb=1 N=4. 这在数学上没有任何意义。

我怀疑我的错误一定很明显,但我没有看到。

我的clapack_sgesv()调用有什么问题导致它在行主要存储顺序中失败?

0 投票
5 回答
8116 浏览

linux - ATLAS 安装:确实需要通过 CPU 油门检查

ATLAS 3.10.1 不会安装在我组织的 CentOS 6.x 平台上,因为它检测到 CPU 节流。在旧版本的软件包中,有一个配置标志可以关闭油门检查 ( -Si cputhrchk 0) 并继续前进。该选项在几个版本前被取消。我理解该决定背后的原因——开发人员担心他们的软件的性能和声誉,而 CPU 节流使 ATLAS 无法自行调整。美好的。我的问题是,不管 ATLAS 的性能如何,我只需要构建这个东西. 我知道有一些方法可以停止节流,但我没有也可能不会获得在这台机器上弄乱 CPU 频率的权限。所以我需要的是一种通过 ATLAS 油门检查的方法。我看过一些关于破解配置脚本的讨论,但我自己看不到如何去做。没有人在 ATLAS sourceforge 网站上回答,这并不是要批评那里的任何人。只是想表明我的情况。所以:有人知道如何通过 ATLAS 的油门检查吗?谢谢。

0 投票
1 回答
1260 浏览

python - scikit-learn 无法加载

我安装了 scikit-learn 0.13 和pip install scikit-learn.

失败了

NumPy 和 SciPytest()在 1.7.0 和 0.11.0 版本中似乎没有问题(通过),从源代码安装。机器上安装了最新的 ATLAS 3.10.1,也来自源代码。

0 投票
1 回答
2326 浏览

configuration - ATLAS on ARM 配置失败

我正在尝试在 Ubuntu 11.04 操作系统下的 Tegra3 ARM CPU(cortex-a9)上安装 ATLAS 库(v3.10.1),但我无法通过配置步骤。当我启动“./configure”可执行文件时,我得到以下输出:

所以,我有三个问题:

第一:为什么“ Bad CPU MHZ value=0, res='CPU MHZ=0 ”?我准确地说所有内核的 CPU 节流设置为 0(我检查了 /sys/devices/system/cpu/cpu*/cpufreq/throttle 文件)。有没有办法将 ARM cpu 的时钟频率作为参数传递?

第二:为什么“ sh:语法错误:反引号替换中的EOF ”?

第三:“无法为 ICC 找到可用的编译器;abortingMake.. ”有没有办法在 ./configure 可执行文件中说不寻找 ICC?因为我正在尝试在 ARM 上构建 ATLAS,因此 ICC 不可用。

在此先感谢您的帮助 !

吉克斯

0 投票
1 回答
1132 浏览

python - Numpy、Atlas 和 Lapack

我正在使用 numpy 进行一些数组操作,它目前非常慢。matlab 中的相同操作(计算协方差矩阵)只需要一秒钟。我已经安装了 atlas 和 lapack,但我不确定我的 numpy 是否真的在使用它们。有谁知道如何检查?我正在使用 Mac