#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np
from timeit import default_timer as timer
from numba import vectorize
def pow1(a, b):
return a ** b
@vectorize(['float32(float32, float32)'], target='cuda')
def pow2(a, b):
return a ** b
def main():
vec_size = 100000000
a = b = np.array(np.random.sample(vec_size), dtype=np.float32)
c = np.zeros(vec_size, dtype=np.float32)
start = timer()
c = pow1(a, b)
duration = timer() - start
print("CPU ile {} saniye.".format(duration))
start = timer()
c = pow2(a, b)
duration = timer() - start
print("GPU ile {} saniye.".format(duration))
if __name__ == '__main__':
main()