Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengehadkan Penggunaan Benang dalam Numpy untuk Prestasi Lebih Baik?

Bagaimana untuk Mengehadkan Penggunaan Benang dalam Numpy untuk Prestasi Lebih Baik?

DDD
Lepaskan: 2024-10-19 12:39:02
asal
552 orang telah melayarinya

How to Limit Thread Usage in Numpy for Better Performance?

Had Benang dalam Numpy

Menentukan Pengurusan Benang Pendasar

Keluaran numpy.show_config() yang disediakan mendedahkan bahawa NumPy menggunakan ATLAS untuk operasi algebra linear. Untuk mengehadkan bilangan utas khusus untuk pendaraban matriks, kami perlu menyasarkan konfigurasi penjalinan ATLAS.

Konfigurasi Had Thread

Sebelum melaksanakan skrip anda, tetapkan bendera persekitaran berikut:

  • eksport MKL_NUM_THREADS=1: Bendera ini mengehadkan bilangan utas yang digunakan oleh Intel Math Kernel Library (MKL), yang digunakan untuk operasi tertentu dalam NumPy.
  • eksport NUMEXPR_NUM_THREADS=1: Bendera ini mengekang tahap selari dalam NumExpr, perpustakaan yang digunakan oleh NumPy untuk pengiraan angka yang pantas.
  • eksport OMP_NUM_THREADS=1: Bendera ini menetapkan kiraan urutan untuk OpenMP, platform pengkomputeran selari yang digunakan oleh NumPy dalam beberapa kes.

Menyelesaikan masalah Multithreading

Sekiranya bendera di atas tidak menyelesaikan isu tersebut, adalah wajar disiasat jika perpustakaan lain memperkenalkan multithreading. Terokai menetapkan bendera persekitaran untuk perpustakaan tersebut juga, seperti:

  • eksport BLAS_NUM_THREADS=1: Menentukan kiraan benang untuk BLAS, perpustakaan algebra linear yang biasa digunakan oleh NumPy.
  • eksport LAPACK_NUM_THREADS=1: Menetapkan kiraan benang untuk LAPACK, perpustakaan algebra linear yang disepadukan dengan BLAS.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Penggunaan Benang dalam Numpy untuk Prestasi Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan