コード例 #1
0
def main():
    loops = int(sys.argv[1])

    n = np.random.randint(0, 1234)

    num_samps = 2**16
    cpu_sig, gpu_sig = rand_data_gen_gpu(num_samps)

    # Run baseline with scipy.signal.gauss_spline
    with prof.time_range("scipy_gauss_spline", 0):
        cpu_gauss_spline = signal.gauss_spline(cpu_sig, n)

    # Run CuPy version
    with prof.time_range("cupy_gauss_spline", 1):
        gpu_gauss_spline = gauss_spline(gpu_sig, n)

    # Compare results
    np.testing.assert_allclose(cpu_gauss_spline, cp.asnumpy(gpu_gauss_spline),
                               1e-3)

    # Run multiple passes to get average
    for _ in range(loops):
        with prof.time_range("cupy_gauss_spline_loop", 2):
            gpu_gauss_spline = gauss_spline(gpu_sig, n)
            cp.cuda.runtime.deviceSynchronize()
コード例 #2
0
def main():

    loops = int(sys.argv[1])

    n = np.random.randint(0, 1234)

    num_samps = 2**16
    cpu_sig = rand_data_gen(num_samps)

    # Run baseline with scipy.signal.gauss_spline
    with prof.time_range("scipy_gauss_spline", 0):
        cpu_gauss_spline = signal.gauss_spline(cpu_sig, n)

    # Run multiple passes to get average
    for _ in range(loops):
        with prof.time_range("scipy_gauss_spline_loop", 0):
            cpu_gauss_spline = signal.gauss_spline(cpu_sig, n)
コード例 #3
0
# trying out the polynomials in scipy
# fit a polynomial of specified order in least-squares sense
# this works poorly

import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate
from scipy import signal
import sys

y = []
for line in sys.stdin:
  y.append(float(line))

x = np.arange(0,len(y))

poly = signal.gauss_spline(y,int(sys.argv[1])*2+1)
print poly
exit()
ypoly = np.polyval(poly,x)

plt.figure()
plt.plot(x,y,'x')
plt.plot(x,ypoly,'-g')
plt.show()
コード例 #4
0
 def cpu_version(self, x, n):
     return signal.gauss_spline(x, n)