Comment activer le multithreading avec Caffe?
Je voudrais compiler /configurer Caffe de sorte que lorsque j'ai formé un réseau de neurones artificiels avec elle, la formation est multi-thread (CPU, pas de GPU). Comment faire pour activer le multithreading avec Caffe? J'utilise Caffe sur Ubuntu 14.04 LTS x64.
source d'informationauteur Franck Dernoncourt
Vous devez vous connecter pour publier un commentaire.
Une façon est d'utiliser OpenBLAS au lieu de la valeur par défaut de l'ATLAS. Pour ce faire,
sudo apt-get install -y libopenblas-dev
Makefile.config
remplacerBLAS := atlas
parBLAS := open
export OPENBLAS_NUM_THREADS=4
va provoquer Caffe utiliser les 4 cœurs.Si vous êtes intéressé, voici un script pour installer Caffe et pycaffe sur un nouveau Ubuntu 14.04 LTS x64 ou Ubuntu 14.10 64 bits. CPU uniquement, multi-thread Caffe. Il peut sans doute être amélioré, mais il est assez bon pour moi pour l'instant:
J'ai placé ce script sur GitHub:
https://github.com/Franck-Dernoncourt/caffe_demos/tree/master/caffe_installation .
C'est à juste étendre de Franck réponse où il a utilisé
sed
de modifier laconfig
fichier. Si vous rencontrez des problèmes avec cela, voici une autre façon d'obtenir la même chose en fait.La différence est qu'au lieu de changer le fichier de configuration, vous modifiez directement le
camke
drapeaucmake -DCPU_ONLY=1 -DBLAS=open ..
Lors de la construction de caffe, vous devez ajouter l'option-fopenmp à la CXXFLAGS et LINKFLAGS à l'appui d'OPENMP. Si vous avez un indicateur nommé OPENMP dans le Makefil.la configuration, vous pouvez simplement définir qui à 1. Vous pouvez utiliser OPENBLAS ou Intel MKL BLAS bibliothèque. Lors de la construction de la OPENBLAS vous devez définir USE_OPENMP=1 drapeau alors qu'il prend en charge OPENMP. Après le renforcement de la caffe, veuillez exporter le nombre de threads que vous souhaitez utiliser lors de l'exécution par la mise en place OMP_NUM_THREADS=n où n est le nombre de threads que vous souhaitez. Voici un bon sujet de discussion liés à la multi-threading dans Caffe: https://github.com/BVLC/caffe/pull/439