numba

    0熱度

    2回答

    示例代碼與NumPy的ufunc: import numpy as np nums = np.array([1, 2, 3]) times = nums.astype('timedelta64[ns]') np.less(nums, 2) np.less(nums, np.timedelta64(2)) 這兩項均得到相同的結果: array([ True, False, False

    2熱度

    1回答

    我有一個列表的列表,像這樣: import numpy as np import random import time import itertools N = 1000 x =np.random.random((N,N)) y = np.zeros((N,N)) z = np.random.random((N,N)) list_of_lists = [[x, y], [y,z

    2熱度

    1回答

    所以我需要改善我一直在努力的腳本的執行時間。我開始與numba JIT裝飾工作,試圖並行計算然而它拋出我 KeyError: "Does not support option: 'parallel'" ,所以我決定測試nogil如果解除從我的CPU整體的能力,但它比純Python我不明白爲什麼這個慢事情發生了,如果有人可以幫助我,或指引,我將非常感激 import numpy as np f

    0熱度

    1回答

    我想爲我自己的程序使用llvmlite的優化​​通行證。我已經定義了以下功能爲我的代碼通功能: def create_pass_manager_builder(opt=3, loop_vectorize=False, slp_vectorize=False): pmb = llvm.create_pass_manager_builder() pmb.opt_level = op

    1熱度

    1回答

    我正在爲一個複雜的水庫運行問題開發優化代碼。其中一部分要求我計算大量潛在解決方案的目標函數。我正在測試Rosenbrock函數的優化器並試圖提高速度。我注意到,當我剖析代碼時,在for循環中計算目標函數是代碼瓶頸之一,因此我開發了一種爲多組決策變量並行執行此操作的方法。我有兩個目標函數計算器:一組決策變量的FO和多組決策變量的P_FO。目標函數的計算是我的代碼中最慢的部分之一,所以我想用@jit進

    18熱度

    1回答

    我正嘗試在Anaconda的Numba軟件包中使用cuBLAS函數並出現問題。我需要輸入矩陣按照C順序。輸出可以使用Fortran順序。 我可以運行該軟件包提供的示例腳本,here。該腳本有兩個功能,gemm_v1和gemm_v2。在gemm_v1中,用戶必須按照Fortran順序創建輸入矩陣。在gemm_v2中,它們可以傳遞給GEMM的cuda實現並轉換到設備上。我可以用這些例子來處理矩陣。但是

    1熱度

    1回答

    我在njit中編寫了一個函數來加速非常緩慢的水庫運行優化代碼。該功能根據油藏水平和閘門可用性返回泄漏排放的最大值。我正在傳入一個參數大小,它指定要計算的流的數量(在一些調用中它是一個並且在一些調用中)。我還傳入了一個numpy.zeros數組,然後我可以使用函數輸出。 import numpy as np from numba import njit @njit(cache=True) d

    1熱度

    1回答

    我有一個關於numba的基本問題,很遺憾我找不到答案。考慮下面的代碼: import numba @numba.jit(nopython=True) def f1(x): y = 0 for _ in range(1000): y += f2(x) return y @numba.jit(nopython=True) def f2(x):

    1熱度

    1回答

    我發現我的模擬瓶頸之一是從泊松分佈產生的隨機數。我原來的代碼是這樣的 import numpy as np #Generating some data. In the actual code this comes from the previous #steps in the simulation. But this gives an example of the type of data

    1熱度

    2回答

    我正在研究jitclass,其中一種方法可以接受輸入參數int,float或numpy.ndarray。我需要能夠確定參數是否是數組或任何其他兩種類型。我已經使用isinstance嘗試如下圖所示的interp方法: spec = [('x', float64[:]), ('y', float64[:])] @jitclass(spec) class Lookup: