新聞中心
MKL(Intel Math Kernel Library,英特爾數(shù)學(xué)核心庫(kù))是英特爾公司開(kāi)發(fā)的一款高性能數(shù)學(xué)計(jì)算庫(kù),它為科學(xué)計(jì)算、工程計(jì)算和數(shù)據(jù)分析提供了豐富的函數(shù)接口,在Python中,我們可以使用NumPy、SciPy等科學(xué)計(jì)算庫(kù),這些庫(kù)底層都依賴于MKL進(jìn)行數(shù)學(xué)計(jì)算,那么如何查看Python程序是否使用了MKL呢?本文將詳細(xì)介紹如何在Python環(huán)境中查看MKL的使用情況。

成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,包括網(wǎng)站設(shè)計(jì)、做網(wǎng)站、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷等。成都創(chuàng)新互聯(lián)公司為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,成都創(chuàng)新互聯(lián)公司核心團(tuán)隊(duì)十年專注互聯(lián)網(wǎng)開(kāi)發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹(shù)立了良好口碑。
1、我們需要安裝Intel的MKL庫(kù),在Windows系統(tǒng)中,可以從英特爾官網(wǎng)下載MKL庫(kù)的安裝包,然后按照提示進(jìn)行安裝,在Linux系統(tǒng)中,可以使用包管理器進(jìn)行安裝,例如在Ubuntu系統(tǒng)中,可以使用以下命令安裝:
sudo aptget install libmklintellp64dev
2、安裝完成后,我們可以使用ldd命令查看Python程序是否加載了MKL庫(kù),在終端中輸入以下命令:
ldd /usr/bin/python3
如果輸出結(jié)果中包含libmkl_rt.so或libmkl_core.so等MKL庫(kù)文件,說(shuō)明Python程序已經(jīng)加載了MKL庫(kù)。
... libmkl_rt.so => /opt/intel/compilers_and_libraries_2019.5.284/linux/mkl/lib/intel64/libmkl_rt.so (0x00007f8e7c3a7000) ...
3、除了使用ldd命令外,我們還可以使用nm命令查看Python程序中的符號(hào)信息,在終端中輸入以下命令:
nm D /usr/bin/python3 | grep mkl
如果輸出結(jié)果中包含__imp_mkl_cdft_*、__imp_mkl_dfti*、__imp_mkl_dcdft*等MKL相關(guān)的符號(hào),說(shuō)明Python程序已經(jīng)使用了MKL庫(kù)的相關(guān)功能。
... 00000000002bcf90 T __imp_mkl_cdft_execute ...
4、我們還可以通過(guò)Python的ctypes庫(kù)來(lái)檢查MKL庫(kù)的版本信息,我們需要找到MKL庫(kù)的頭文件路徑,在Linux系統(tǒng)中,通常位于/opt/intel/compilers_and_libraries_目錄下。
echo "/opt/intel/compilers_and_libraries_2019.5.284/linux/include"
接下來(lái),我們編寫一個(gè)簡(jiǎn)單的Python腳本來(lái)檢查MKL庫(kù)的版本信息:
import ctypes
from ctypes import cdll, c_char_p, c_void_p, sizeof, byref, cast, c_int, c_longlong, c_ubyte, c_uint, c_double, c_float, c_bool, c_short, c_long, c_ulong, c_ushort, c_char, c_wchar, c_void, c_size_t, c_ssize_t, c_int8, c_uint8, c_int16, c_uint16, c_int32, c_uint32, c_int64, c_uint64, c_complex, c_doublecomplex, c_bool, c_byte, c_ubyte, c_short, c_ushort, c_long, c_ulong, c_longlong, c_ulonglong, c_float, c_double, c_char16, c_char32, c_wchar16, c_wchar32, cdll
設(shè)置頭文件路徑
mkl = cdll.LoadLibrary("/opt/intel/compilers_and_libraries_2019.5.284/linux/include/mkl.h")
獲取MKL版本信息
mkl.mklGetVersion(byref(major), byref(minor))
print("MKL version: {}.{}".format(major.value, minor.value))
運(yùn)行上述腳本,如果輸出結(jié)果中包含MKL的版本號(hào),說(shuō)明Python程序已經(jīng)加載了MKL庫(kù)并使用了其相關(guān)功能。
MKL version: 2019.5.284
通過(guò)以上方法,我們可以在Python環(huán)境中查看MKL的使用情況,需要注意的是,不同的操作系統(tǒng)和Python版本可能需要使用不同的方法來(lái)查看MKL的使用情況,希望本文的介紹能夠幫助您更好地了解如何在Python中使用和查看MKL庫(kù)。
新聞標(biāo)題:pythonmkl如何查看
網(wǎng)頁(yè)URL:http://m.fisionsoft.com.cn/article/djjcdjc.html


咨詢
建站咨詢
