Wenn Sie OMP_NUM_THREADS=1 festlegen und dennoch feststellen, dass Numpy immer noch mehrere Threads verwendet, ist ein anderer Ansatz erforderlich. Es ist wahrscheinlich, dass Numpy die BLAS-Bibliothek (Basic Linear Algebra Subprograms) für numerische Berechnungen verwendet, die möglicherweise selbst mehrere Threads verwendet.
Um die Anzahl der von NumPy verwendeten Threads zu begrenzen, können Sie bestimmte festlegen Umgebungsflags, bevor Sie Ihr Skript ausführen. Versuchen Sie Folgendes einzustellen:
export MKL_NUM_THREADS=1 export NUMEXPR_NUM_THREADS=1 export OMP_NUM_THREADS=1
Es ist wichtig zu beachten, dass die genaue Quelle des Multithreadings in Ihrem Code manchmal schwer zu identifizieren sein kann. Andere Bibliotheken können, wie in anderen Antworten dargelegt, ebenfalls Multithreading einführen. Diese Umgebungsflags können in allen Fällen wirksam sein oder auch nicht, aber sie sind ein guter Ausgangspunkt.
Das obige ist der detaillierte Inhalt vonWie kann die NumPy-Thread-Nutzung eingeschränkt werden, wenn OMP_NUM_THREADS=1 fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!