Bina ATLAS (ve daha sonra ATLAS ile Octave)


9

ATLAS kurmaya çalışıyorum (böylece daha sonra ATLAS desteğiyle oktav derleyebilirim).

Doğruysam, yine de ortama özgü optimizasyonlar nedeniyle bunu manuel olarak oluşturmam gerekiyor. ATLAS için bir paket görüyorum, ancak platformlar arası genel oluşturma seçeneklerini kullanıyor gibi görünüyor (örneğin "yavaş olacak").

Bu nedenle, docs'da açıklandığı gibi configure betiğinin çalıştırılması zayıf görünüyor. Bir java geliştiricisi olarak asla bu derleme işlemlerinde hatalar veya kuyruklar yapmakta başarılı olamıyorum. Bağımlılıkları mı kaçırıyorum (eğer öyleyse ihtiyacım olan şey hakkında herhangi bir belge var mı?)

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

Yanıtlar:


12

İşlemcinize göre özelleştirilmiş ATLAS kütüphanesini oluşturmanın en iyi yolu, talimatları /usr/share/doc/libatlas3-base/README.Debian( burada çevrimiçi okumak için de mevcuttur) takip etmektir . Talimatlar atlas, Debian / Ubuntu için kaynak paketinin resmi depolarda sağlanan paketler yerine kurulabilecek özel olarak oluşturulmuş paketleri verecek şekilde nasıl yeniden oluşturulacağını açık bir şekilde anlatır .

İlgili alıntı README.Debianşöyle diyor:

ARCH'nizde Optimize Edilmiş Atlas Paketleri Oluşturma

Kendi optimize Atlas paketlerinizi oluşturmak basittir. Sadece paketin kaynaklarını ve yapı bağımlılıklarını alın:

# apt-get source atlas
# apt-get build-dep atlas
# apt-get install devscripts

ve atlas source alt dizininden aşağıdakileri yazın:

# fakeroot debian/rules custom

şu adlı bir paket üretmelidir:

../libatlas3-base_*.deb

Atlas'ın üzerine inşa edildiği mimari için optimize edilmiştir. Sonra kullanarak paketi yükleyin dpkg -i.


Son 'dpkg -i' adımından sonra, ATLAS CBLAS ve CLAPACK'e nasıl derleyebilirim / bağlarım? / Usr / local içinde ATLAS'ım yok. Hangi -I ve -L argümanlarını g ++ 'a iletmeliyim? 'G ++ main.cpp -I $ ~ / atlas-xxxx / include -L ~ / atlas-xxxx / build / atlas-base / lib / -lf77blas -lcblas -latlas' dosyasını denedim, ancak bana '/ usr / bin / ld: -lf77blas 'bulunamıyor. Teşekkürler.
Salmonstrikes

1
@Salmonstrikes Ayrıca oluşturulmuş libatlas-base-devve libatlas-devpaketlerini yükleyin ve kütüphaneler oluşturmak için kurulur /usr/lib.
Mike Miller

1
Teşekkürler! Gelecekteki referans için, derlemek için kod almak için gerekli: 1) hem 'cblas.h' hem de 'clapack.h' stackoverflow.com/questions/10786237/… 2) hem de extern "C" korumaları kullanmak için gerekli main.cpp -I / usr / include / atlas -lf77blas -lcblas -llapack_atlas '; nedense '-llapack' tek başına çalışmıyor ve '-llapack_atlas'
lazım

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.