日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sqlserver循环like变量_numba从入门到精通(6)—numba与循环与并行

發(fā)布時間:2023/12/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqlserver循环like变量_numba从入门到精通(6)—numba与循环与并行 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

多進程、多線程、并行的調(diào)用方式的不同以及python各種常用且優(yōu)化較好的并行的處理方法,回頭要總結一下,概念模糊很蒙蔽。我們這里介紹一下numba強大并且簡單易用的并行功能。

import numpy from numba import njit def do_trig(x, y):z = numpy.empty_like(x)for i in range(x.shape[0]):for j in range(x.shape[1]):z[i, j] = numpy.sin(x[i, j]**2) + numpy.cos(y[i, j])return zx = numpy.random.random((1000, 1000)) y = numpy.random.random((1000, 1000))%timeit do_trig(x, y)

下面我們jit一下

@njit def do_trig(x, y):z = numpy.empty_like(x)for i in range(x.shape[0]):for j in range(x.shape[1]):z[i, j] = numpy.sin(x[i, j]**2) + numpy.cos(y[i, j])return z

very nice,改變編譯的方式特別是在這種大量循環(huán)的情況下能提升非常多速度呢。

接下來我們使用numba中的并行功能來并行化循環(huán)。

import numba from numba import njit,prange numba.config.NUMBA_DEFAULT_NUM_THREADS=4 @njit(parallel=True) def do_trig(x, y):z = numpy.empty_like(x)for i in prange(x.shape[0]):for j in prange(x.shape[1]):z[i, j] = numpy.sin(x[i, j]**2) + numpy.cos(y[i, j])return z%timeit do_trig(x, y)

需要注意的是,numba并行的時候使用的線程數(shù)通過numba的環(huán)境變量來設置,應該針對不同的任務設置大小,并不是越大越好因為調(diào)用多個線程也是存在開銷的,另外原來的range循環(huán)要用numba特有的prange替換,這樣numba才能識別循環(huán)并且進行相應的并行化。


我們前面提到的vectorize并行化就更簡單了。。??梢园阎苯影丫仃囘\算進行并行。。。見下:

@vectorize def do_trig_vec(x, y):z = math.sin(x**2) + math.cos(y)return z%timeit do_trig_vec(x, y)

@vectorize('float64(float64, float64)', target='parallel') def do_trig_vec_par(x, y):z = math.sin(x**2) + math.cos(y)return z%timeit do_trig_vec_par(x, y)

numba在vectorize修飾函數(shù)的情況下,可以直接對矩陣運算進行并行,牛逼,太方便了哈哈哈哈哈哈哈哈,而且用起來真是太簡單了。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的sqlserver循环like变量_numba从入门到精通(6)—numba与循环与并行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。