ATLAS(およびその後のATLASを含むOctave)のビルド


9

ATLASをセットアップしようとしています(そのため、後でATLASサポートを使用してオクターブをコンパイルできます)。

私が正しい場合は、環境固有の最適化のため、手動でビルドする必要があります。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

回答:


12

特定のプロセッサー用にカスタマイズされた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

そして、アトラスソースサブディレクトリから次のように入力します。

# fakeroot debian/rules custom

次の名前のパッケージを作成する必要があります。

../libatlas3-base_*.deb

これは、Atlasが構築されているアーキテクチャ用に最適化されています。次に、を使用してパッケージをインストールしますdpkg -i


最後の「dpkg -i」ステップの後で、ATLASのCBLASおよびCLAPACKに対してコンパイル/リンクするにはどうすればよいですか?/ usr / localにはATLASがありません。g ++に渡す必要がある-Iおよび-L引数は何ですか?'g ++ main.cpp -I $〜/ atlas-xxxx / include -L〜/ atlas-xxxx / build / atlas-base / lib / -lf77blas -lcblas -latlas'を試しましたが、 '/ usr / bin / ld:-lf77blas 'が見つかりません。ありがとう。
Salmonstrikes

1
@Salmonstrikes libatlas-base-devととlibatlas-dev同様にビルドされたパッケージをインストールします/usr/lib。ライブラリはでビルドするためにインストールされます。
Mike Miller

1
ありがとう!コンパイルにコードを取得するには、将来の参考のために働いていた、私は必要なこと:1)「cblas.h」と「clapack.h」の両方のためにextern「C」ガードを使用するstackoverflow.com/questions/10786237/... 2)「G ++ main.cpp -I / usr / include / atlas -lf77blas -lcblas -llapack_atlas '; 何らかの理由で '-llapack'だけでは機能せず、 '-llapack_atlas'が必要でした
Salmonstrikes

3

これらは必要な依存関係だったようで、ビルドプロセスが実行されています。これらのことは、簡単に使いやすい形式で簡単に文書化されることはありません。

Ubuntuの場合(それぞれgfortran、g77、f77):

sudo apt-get install gfortran f2c libcnf-dev

また、この質問を見つけた人は誰でも、この関連するスタックオーバーフローの質問を見つける可能性があります。

/programming/23876286/building-octave-from-source-did-atlas-get-included-properly-in-octaves-confi

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.