Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
                  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: