问题标签 [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.
linear-algebra - ATLAS 调优是如何工作的?
众所周知,ATLAS 使用矩阵计算算法的“分块”或“平铺”版本,这大大提高了性能。
ATLAS 似乎也有一些架构默认值,这些默认值是手动计算的。并且可以进行搜索以确定NB
(#define
我认为代表块数的宏)的其他值。
但它是如何工作的?数值是如何确定的?算法是否只是以不同的值(蒙特卡洛风格)运行多次,直到找到某种最优值?
这也是一个假设。假设您将一个阻塞的 ATLAS 算法复制到 C++ 模板中,并且有一个 128 位的有理类型。您能否NB
以某种方式从算法NB
的双重版本中的 ATLAS 调整值推导出算法的理性版本?
installation - 在 ATLAS 中构建共享库
我已经阅读了整个 ATLAS 安装指南,它说构建共享 (.so) 库所需要做的就是将--shared
标志传递给配置脚本。但是,当我构建时,我的文件夹中.so
出现的唯一文件是and ,尽管指南说应该还有其他六个:lib
libsatlas.so
libtatlas.so
安装后,由于缺少这些库,某些测试会失败。此外,FFPACK 在安装期间需要这些库。
有没有人遇到过这个?我做错了什么?
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 。
有人知道我如何通过一些实验来了解我的机器吗?
linux - Linux下numpy中使用Atlas的线程错误
我有一个使用在 Linux 机器上运行的多进程模块的多进程(不是多线程!)应用程序。此应用程序使用该numpy.linalg.solve
功能,如果我尝试创建多个进程,则会收到错误消息:
请注意,在我开始使用 中的函数之前numpy.linalg
,我没有遇到任何问题。
知道问题可能是什么吗?
编辑:我尝试使用scipy.linalg.solve
,问题是一样的!
编辑:通过用 blas 替换 atlas,问题就消失了。所以看起来问题确实在地图集中
python - 在 Windows 上安装 Numpy 和 Scipy
我已经成功安装了 Numpy。但是在网站上,我有很多事情要做,比如构建 Numpy、Scipy、下载 ATLAS、LAPACK 等。我真的很困惑,甚至我也检查了其他一些查询。还是无法理解。
谁能解释一下我到底该怎么做?我的电脑上安装了 cygwin。
- 如何构建 Numpy?建立numpy有什么用?
- 如何安装 Scipy?
- 什么是 ATLAS、LAPACK 等?
非常感谢(提前)。
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()
调用有什么问题导致它在行主要存储顺序中失败?
linux - ATLAS 安装:确实需要通过 CPU 油门检查
ATLAS 3.10.1 不会安装在我组织的 CentOS 6.x 平台上,因为它检测到 CPU 节流。在旧版本的软件包中,有一个配置标志可以关闭油门检查 ( -Si cputhrchk 0
) 并继续前进。该选项在几个版本前被取消。我理解该决定背后的原因——开发人员担心他们的软件的性能和声誉,而 CPU 节流使 ATLAS 无法自行调整。美好的。我的问题是,不管 ATLAS 的性能如何,我只需要构建这个东西. 我知道有一些方法可以停止节流,但我没有也可能不会获得在这台机器上弄乱 CPU 频率的权限。所以我需要的是一种通过 ATLAS 油门检查的方法。我看过一些关于破解配置脚本的讨论,但我自己看不到如何去做。没有人在 ATLAS sourceforge 网站上回答,这并不是要批评那里的任何人。只是想表明我的情况。所以:有人知道如何通过 ATLAS 的油门检查吗?谢谢。
python - scikit-learn 无法加载
我安装了 scikit-learn 0.13 和pip install scikit-learn
.
失败了
NumPy 和 SciPytest()
在 1.7.0 和 0.11.0 版本中似乎没有问题(通过),从源代码安装。机器上安装了最新的 ATLAS 3.10.1,也来自源代码。
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 不可用。
在此先感谢您的帮助 !
吉克斯
python - Numpy、Atlas 和 Lapack
我正在使用 numpy 进行一些数组操作,它目前非常慢。matlab 中的相同操作(计算协方差矩阵)只需要一秒钟。我已经安装了 atlas 和 lapack,但我不确定我的 numpy 是否真的在使用它们。有谁知道如何检查?我正在使用 Mac