def _test_lalfft(test_case): import pycbc.fft.lalfft as lfft tc = test_case tc.assertEquals(lfft._default_measurelvl, 1, msg="Default lalfft measure level not initialized to 1") tc.assertRaises(ValueError, lfft.set_measure_level, 5) tc.assertEquals(lfft.get_measure_level(), 1, msg="lalfft.get_measure_level() did not return _default_measurelvl") plan1 = lfft._get_fwd_plan("single", "complex", "complex", 4) lfft.set_measure_level(2) plan2 = lfft._get_fwd_plan("single", "complex", "complex", 4) tc.assertTrue(plan1 is not plan2, msg="Increasing measure level did not result in new plan") lfft.set_measure_level(0) plan0 = lfft._get_fwd_plan("single", "complex", "complex", 4) tc.assertTrue(plan2 is plan0, msg="Decreasing measure level *did* result in new plan") # Restore default lfft.set_measure_level(1)
def _test_lalfft(test_case): import pycbc.fft.lalfft as lfft tc = test_case tc.assertEquals(lfft._default_measurelvl, 1, msg="Default lalfft measure level not initialized to 1") tc.assertRaises(ValueError, lfft.set_measure_level, 5) tc.assertEquals( lfft.get_measure_level(), 1, msg="lalfft.get_measure_level() did not return _default_measurelvl") plan1 = lfft._get_fwd_plan('single', 'complex', 'complex', 4) lfft.set_measure_level(2) plan2 = lfft._get_fwd_plan('single', 'complex', 'complex', 4) tc.assertTrue(plan1 is not plan2, msg="Increasing measure level did not result in new plan") lfft.set_measure_level(0) plan0 = lfft._get_fwd_plan('single', 'complex', 'complex', 4) tc.assertTrue(plan2 is plan0, msg="Decreasing measure level *did* result in new plan") # Restore default lfft.set_measure_level(1)
parser.add_option('--backend', type=str, help='set the backend type for this scheme') parser.add_option('--num-threads', type=int, help='set the number of threads to use', default=1) parser.add_option('--import-float-wisdom', type=str, help='import an FFTW float wisdom file') parser.add_option('--export-float-wisdom', type=str, help='export an FFTW float wisdom file') (options, args) = parser.parse_args() #Changing the optvalues to a dict makes them easier to read _options = vars(options) if _options['scheme'] == 'cpu': ctx = CPUScheme(num_threads=options.num_threads) if options.backend == 'lal': from pycbc.fft.lalfft import set_measure_level set_measure_level(options.measure_level) if options.backend == 'fftw': from pycbc.fft.fftw import set_measure_level, set_threads_backend with ctx: set_measure_level(options.measure_level) if options.num_threads != 1: set_threads_backend('openmp') if _options['scheme'] == 'cuda': ctx = CUDAScheme(device_num=_options['devicenum']) if _options['scheme'] == 'opencl': ctx = OpenCLScheme(device_num=_options['devicenum']) niter = options.iterations
type=str, help='import an FFTW float wisdom file') parser.add_option('--export-float-wisdom', type=str, help='export an FFTW float wisdom file') (options, args) = parser.parse_args() #Changing the optvalues to a dict makes them easier to read _options = vars(options) if _options['scheme'] == 'cpu': ctx = CPUScheme(num_threads=options.num_threads) if options.backend == 'lal': from pycbc.fft.lalfft import set_measure_level set_measure_level(options.measure_level) if options.backend == 'fftw': from pycbc.fft.fftw import set_measure_level, set_threads_backend with ctx: set_measure_level(options.measure_level) if options.num_threads != 1: set_threads_backend('openmp') if _options['scheme'] == 'cuda': ctx = CUDAScheme(device_num=_options['devicenum']) if _options['scheme'] == 'opencl': ctx = OpenCLScheme(device_num=_options['devicenum']) niter = options.iterations if type(ctx) is CUDAScheme: