Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengehadkan Kiraan Benang dalam NumPy untuk Prestasi Optimum?

Bagaimana untuk Mengehadkan Kiraan Benang dalam NumPy untuk Prestasi Optimum?

Patricia Arquette
Lepaskan: 2024-10-19 12:28:29
asal
547 orang telah melayarinya

How to Restrict Thread Count in NumPy for Optimal Performance?

Menghadkan Kiraan Benang dalam NumPy

NumPy menggunakan perpustakaan berbilang CPU seperti BLAS untuk pengiraan berangka yang cekap. Walau bagaimanapun, anda mungkin menghadapi keadaan di mana kiraan benang lalai (4) terbukti berlebihan. Untuk menangani perkara ini, anda boleh memanfaatkan bendera persekitaran tertentu.

Sebelum melaksanakan skrip NumPy, pertimbangkan untuk menetapkan bendera berikut:

export MKL_NUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
export OMP_NUM_THREADS=1
Salin selepas log masuk

Bendera MKL_NUM_THREADS menetapkan kiraan urutan yang dibenarkan untuk Intel Math Perpustakaan Kernel (MKL). NUMEXPR_NUM_THREADS mengawal penjalinan NumExpr, yang digunakan untuk pengiraan berangka pantas. Akhir sekali, OMP_NUM_THREADS menguruskan kiraan utas yang digunakan oleh OpenMP, piawaian industri untuk pengaturcaraan selari dalam C/C /Fortran.

Menetapkan bendera ini memastikan semua pustaka dalam NumPy mematuhi had ketat utas 1. Ini boleh meningkatkan prestasi untuk pendaraban matriks dan operasi lain yang tidak mendapat manfaat daripada berbilang benang.

Perhatikan bahawa jika anda menghadapi masalah walaupun menetapkan bendera yang disebutkan, ini mungkin menunjukkan bahawa multithreading diperkenalkan di tempat lain dalam pangkalan kod. Dalam kes sedemikian, siasatan tambahan adalah wajar.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Kiraan Benang dalam NumPy untuk Prestasi Optimum?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan