Error when using numba and jit to run python with my gpu

Viewed 3672

This code is from geeksforgeeks and is meant to run normally (with a lower time for the gpu):

from numba import jit, cuda, errors
import numpy as np
# to measure exec time
from timeit import default_timer as timer   

  
# normal function to run on cpu
def func(a):                                
    for i in range(10000000):
        a[i]+= 1      
  
# function optimized to run on gpu 
@jit(target ="cuda")                         
def func2(a):
    for i in range(10000000):
        a[i]+= 1
if __name__=="__main__":
    n = 10000000                            
    a = np.ones(n, dtype = np.float64)
    b = np.ones(n, dtype = np.float32)
      
    start = timer()
    func(a)
    print("without GPU:", timer()-start)    
      
    start = timer()
    func2(a)
    print("with GPU:", timer()-start)

but i get an error on the 'def func2(a)' line saying:

__init__() got an unexpected keyword argument 'locals'

and in the terminal the error is:

C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\numba\core\decorators.py:153: NumbaDeprecationWarning: The 'target' keyword argument is deprecated.
  warnings.warn("The 'target' keyword argument is deprecated.", NumbaDeprecationWarning)

Why does this happen and how do i fix it?

I have an intel i7 10750H and a 1650ti gpu

1 Answers
Related