2016-04-25 12 views
4

Gibt es eine Möglichkeit, Caffes CPU-Kernnutzung einzuschränken? Für meine Instanz habe ich einen Xeon E5-2699 und ich möchte Caffe auf 9 Kerne beschränken, also 50 Prozent der CPU. Der Großteil des Trainings findet auf der GPU statt und ich habe eine andere Entwicklung, an der ich in der Zwischenzeit arbeiten möchte. Gibt es einen einfachen Weg, dies zu tun? Running CentOSLimit Caffe CPU-Kernnutzung?

+0

welche blas verwenden Sie? – Shai

+0

Ich verwende OpenBLAS –

+1

openblas Trends, um CPU zu verbrauchen. Es verwendet viele Threads. Sie sollten überprüfen, wie openblas – Shai

Antwort

0

Ich bin nicht sicher, wie Caffe aufgerufen wird, aber Sie können Cgroups verwenden, um die CPU-Nutzung für Prozesse auf Centos6 und höher einzuschränken. Ein Beispiel CPU-Auslastung bis 5 logischen CPUs zu beschränken:

sudo mkdir -p /sys/fs/cgroup/cpu/fivecpus 
sudo bash -c "echo 500000 > /sys/fs/cgroup/cpu/fivecpus/cpu.cfs_quota_us" 
sudo bash -c "echo $$ > /sys/fs/cgroup/cpu/fivecpus/tasks" 
your_command 

Beachten Sie, dass 500000 5-mal ist der Wert in /sys/fs/cgroup/cpu/fivecpus/cpu.cfs_period_us

0

die Kerne zu begrenzen verwendet Verwenden Sie für jeden Prozess taskset.

Installieren taskset auf CentOS:

sudo yum install util-linux 

Dann rufen Sie Ihre Ausbildung/Inferenz Skript und begrenzen es Kerne zu verwenden, 0-8 (9 Kerne):

taskset -c 0,1,2,3,4,5,6,7,8 <your_command>