我正在尝试设置 ATLAS(以便以后可以使用 ATLAS 支持编译 octave)。
如果我没记错的话,由于环境特定的优化,我仍然需要手动构建它。我确实看到了一个用于 ATLAS 的包,但它似乎使用了跨平台通用构建选项(例如“它会很慢”)。
因此,按照文档似乎进展不顺利。作为一名 Java 开发人员,我从来不擅长在这些构建过程中发现错误。我是否缺少依赖项(如果是,是否有任何关于我需要的文档)?
allusers@vbubuntu:~/Downloads/atlas3.10.1/build_vbubuntu$ ../configure -b 64 -D c -DPentiumCPS=3000 --with-netlib-lapack-tarfile=/home/allusers/Downloads/lapack-3.5.0.tgz
make: `xconfig' is up to date.
./xconfig -d s /home/allusers/Downloads/atlas3.10.1/build_vbubuntu/../ -d b /home/allusers/Downloads/atlas3.10.1/build_vbubuntu -b 64 -D c -DPentiumCPS=3000 -Si lapackref 1
OS configured as Linux (1)
Assembly configured as GAS_x8664 (2)
Vector ISA Extension configured as SSE3 (6,448)
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
Architecture configured as Corei1 (25)
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
Clock rate configured as 2350Mhz
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
Maximum number of threads configured as 4
Parallel make command configured as '$(MAKE) -j 4'
ERROR: enum fam=3, chip=2, mach=0
make[3]: *** [atlas_run] Error 44
make[2]: *** [IRunArchInfo_x86] Error 2
Cannot detect CPU throttling.
rm -f config1.out
make atlas_run atldir=/home/allusers/Downloads/atlas3.10.1/build_vbubuntu exe=xprobe_comp redir=config1.out \
args="-v 0 -o atlconf.txt -O 1 -A 25 -Si nof77 0 -V 448 -b 64 -d b /home/allusers/Downloads/atlas3.10.1/build_vbubuntu"
make[1]: Entering directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
cd /home/allusers/Downloads/atlas3.10.1/build_vbubuntu ; ./xprobe_comp -v 0 -o atlconf.txt -O 1 -A 25 -Si nof77 0 -V 448 -b 64 -d b /home/allusers/Downloads/atlas3.10.1/build_vbubuntu > config1.out
make[2]: gfortran: Command not found
make[2]: *** [IRunF77Comp] Error 127
make[2]: g77: Command not found
make[2]: *** [IRunF77Comp] Error 127
make[2]: f77: Command not found
make[2]: *** [IRunF77Comp] Error 127
Unable to find usable compiler for F77; abortingMake sure compilers are in your path, and specify good compilers to configure
(see INSTALL.txt or 'configure --help' for details)make[1]: *** [atlas_run] Error 8
make[1]: Leaving directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
make: *** [IRun_comp] Error 2
ERROR 512 IN SYSCMND: 'make IRun_comp args="-v 0 -o atlconf.txt -O 1 -A 25 -Si nof77 0 -V 448 -b 64"'
mkdir src bin tune interfaces
mkdir: cannot create directory ‘src’: File exists
mkdir: cannot create directory ‘bin’: File exists
mkdir: cannot create directory ‘tune’: File exists
mkdir: cannot create directory ‘interfaces’: File exists
make: *** [make_subdirs] Error 1
make -f Make.top startup
make[1]: Entering directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
Make.top:1: Make.inc: No such file or directory
Make.top:325: warning: overriding commands for target `/AtlasTest'
Make.top:76: warning: ignoring old commands for target `/AtlasTest'
make[1]: *** No rule to make target `Make.inc'. Stop.
make[1]: Leaving directory `/home/allusers/Downloads/atlas3.10.1/build_vbubuntu'
make: *** [startup] Error 2
mv: cannot move ‘lapack-3.5.0’ to ‘../reference/lapack-3.5.0’: Directory not empty
mv: cannot stat ‘lib/Makefile’: No such file or directory
../configure: 450: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 451: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 452: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 453: ../configure: cannot create lib/Makefile: Directory nonexistent
../configure: 509: ../configure: cannot create lib/Makefile: Directory nonexistent
DONE configure
答案1
构建针对特定处理器定制的 ATLAS 库的最佳方法是按照以下说明进行操作/usr/share/doc/libatlas3-base/README.Debian
(也可以在线阅读这里)。说明中明确告诉了如何重建atlas
Debian/Ubuntu 的源包,以便为您提供可以安装在官方存储库中提供的包位置的定制包。
相关摘录如下README.Debian
:
在您的 ARCH 上构建优化的 Atlas 包
构建您自己的 Atlas 优化包非常简单。只需获取包的源代码及其构建依赖项:
# apt-get source atlas # apt-get build-dep atlas # apt-get install devscripts
并从 atlas 源子目录中输入以下内容:
# fakeroot debian/rules custom
它应该生成一个名为的包:
../libatlas3-base_*.deb
它针对 Atlas 所基于的架构进行了优化。然后使用 安装该包
dpkg -i
。
答案2
看起来这些就是它所需要的依赖项,构建过程现在正在运行。这些东西永远无法以一种好用的格式轻松记录下来。
对于 Ubuntu(分别为 gfortran、g77 和 f77):
sudo apt-get install gfortran f2c libcnf-dev
此外,任何找到这个问题的人都可能会发现这个相关的stackoverflow问题有用: