ATLAS 구축 (및 이후 ATLAS를 사용한 옥타브)


9

ATLAS를 설정하려고합니다 (나중에 ATLAS 지원으로 옥타브를 컴파일 할 수 있습니다).

내가 맞다면 환경 특정 최적화로 인해 수동으로 빌드해야합니다. ATLAS 용 패키지가 있지만 교차 플랫폼 일반 빌드 옵션을 사용하고있는 것 같습니다 (예 : "느려질 것").

따라서 문서에 설명 된대로 구성 스크립트를 실행하면 제대로 작동하지 않는 것 같습니다. 자바 개발자로서 나는이 빌드 프로세스에서 오류를 일으키거나 미치게하는 데 결코 능숙하지 않습니다. 종속성이 누락 되었습니까 (필요한 경우 필요한 문서가있는 경우)?

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 패키지를 작성하는 것은 간단합니다. 패키지 소스와 빌드 종속성을 얻으십시오.

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

atlas source 하위 디렉토리에서 다음을 입력하십시오.

# 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를 찾을 수 없습니다. 감사.
연어 공격

1
@Salmonstrikes 또한 빌드 된 libatlas-base-devlibatlas-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

이것이 필요한 종속성 인 것처럼 보이며 빌드 프로세스가 현재 실행 중입니다. 이러한 것들은 좋은 소모품 형태로 쉽게 문서화되지 않습니다.

우분투 (gfortran, g77 및 f77)의 경우 :

sudo apt-get install gfortran f2c libcnf-dev

또한이 질문을 찾는 사람은 다음과 같은 관련 stackoverflow 사용 질문을 찾을 수 있습니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.