J'essaie de configurer ATLAS (pour pouvoir ensuite compiler octave avec le support ATLAS).
Si je ne me trompe pas, j'ai encore besoin de le construire manuellement en raison des optimisations propres à l'environnement. Je vois un paquet pour ATLAS, mais il semble utiliser les options de construction génériques multiplateformes (par exemple, "ça va être lent").
Donc, exécuter le script de configuration comme décrit dans le docs semble aller mal. En tant que développeur Java, je ne réussis jamais à faire des erreurs dans ces processus de construction. Est-ce que je manque des dépendances (si oui, existe-t-il une documentation sur ce dont j'ai besoin)?
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
On dirait que c'étaient les dépendances dont il avait besoin, le processus de construction est maintenant en cours d'exécution. Ces choses ne sont jamais simplement documentées sous une forme consommable de Nice.
Pour Ubuntu (respectivement gfortran, g77 et f77):
Sudo apt-get install gfortran f2c libcnf-dev
De plus, toute personne découvrant cette question peut trouver cette question d’utilisation liée à un stackoverflow:
Le meilleur moyen de créer la bibliothèque ATLAS personnalisée en fonction de votre processeur est de suivre les instructions de /usr/share/doc/libatlas3-base/README.Debian
(également disponible pour une lecture en ligne ici ). Les instructions indiquent explicitement comment reconstruire le paquet source atlas
pour Debian/Ubuntu de manière à obtenir des paquets personnalisés pouvant être installés à la place des paquets fournis dans les référentiels officiels.
L'extrait correspondant de README.Debian
dit:
Construire des paquets Atlas optimisés sur votre arche
Construire vos propres paquets optimisés d’Atlas est simple. Obtenez juste les sources du paquet et ses dépendances de construction:
# apt-get source atlas # apt-get build-dep atlas # apt-get install devscripts
et tapez ce qui suit dans le sous-répertoire source de l'atlas:
# fakeroot debian/rules custom
il devrait produire un paquet appelé:
../libatlas3-base_*.deb
optimisé pour l’architecture sur laquelle Atlas a été construit. Puis installez le paquet en utilisant
dpkg -i
.