From 7f63ccdf89d3157a44fb5c77827d3d2d4cc46e69 Mon Sep 17 00:00:00 2001 From: Neil Gershenfeld <gersh@cba.mit.edu> Date: Fri, 7 Feb 2020 22:26:24 -0500 Subject: [PATCH] wip --- Python/numbapip.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 Python/numbapip.py diff --git a/Python/numbapip.py b/Python/numbapip.py new file mode 100755 index 0000000..6b8735f --- /dev/null +++ b/Python/numbapip.py @@ -0,0 +1,27 @@ +# +# numbapip.py +# Neil Gershenfeld 2/6/20 +# calculation of pi by a Numba parallel sum +# pi = 3.14159265358979323846 +# + +import time +from numba import njit,prange + +NPTS = 1000000000 +@njit(parallel=True) +def calc(): + a = 0.5 + b = 0.75 + c = 0.25 + pi = 0 + for i in prange(1,(NPTS+1)): + pi += a/((i-b)*(i-c)) + return pi +pi = calc() # first call to compile the function +start_time = time.time() +pi = calc() # second call uses the cached compilation +end_time = time.time() +mflops = NPTS*5.0/(1.0e6*(end_time-start_time)) +print("NPTS = %d, pi = %f"%(NPTS,pi)) +print("time = %f, estimated MFlops = %f"%(end_time-start_time,mflops)) -- GitLab