コード例 #1
0
ファイル: example1.py プロジェクト: yunfanz/bifrost
def main():
    import sys
    if len(sys.argv) <= 1:
        print "Usage: example1.py file1.fil [file2.fil ...]"
        sys.exit(-1)
    filenames = sys.argv[1:]

    h_filterbank = read_sigproc(filenames, gulp_nframe=16000, core=0)
    h_filterbank = scrunch(h_filterbank, 16, core=0)
    d_filterbank = copy(h_filterbank, space='cuda', gpu=0, core=2)
    with bfp.block_scope(core=2, gpu=0):
        d_filterbankT = transpose(
            d_filterbank, ['polarisation', 'frequency', 'time'])  #[1,2,0])
        d_dispersionbankT = fdmt(d_filterbankT, max_dm=282.52)
        d_dispersionbank = transpose(
            d_dispersionbankT,
            ['time', 'polarisation', 'dispersion measure'])  #[2,0,1])
    h_dispersionbank = copy(d_dispersionbank, space='system', core=3)
    write_pgm(h_dispersionbank, core=3)

    pipeline = bfp.get_default_pipeline()
    graph_filename = "example1.dot"
    with open(graph_filename, 'w') as dotfile:
        dotfile.write(str(pipeline.dot_graph()))
        print "Wrote graph definition to", graph_filename
    pipeline.run()
    print "All done"
コード例 #2
0
ファイル: test_fdmt.py プロジェクト: telegraphic/bifrost
def main(args):
    h_filterbank = read_sigproc(args.filename, gulp_nframe=16000, core=0)
    h_filterbank = scrunch(h_filterbank, 16, core=0)
    d_filterbank = copy(h_filterbank, space='cuda', gpu=0, core=2)
    blocks.print_header(d_filterbank)
    with bfp.block_scope(core=2, gpu=0):
        d_filterbankT = transpose(d_filterbank,
                                  ['pol', 'freq', 'time'])  #[1,2,0])
        d_dispersionbankT = fdmt(d_filterbankT, max_dm=282.52)
        blocks.print_header(d_dispersionbankT)
        d_dispersionbank = transpose(d_dispersionbankT,
                                     ['time', 'pol', 'dispersion'])  #[2,0,1])
    h_dispersionbank = copy(d_dispersionbank, space='system', core=3)
    write_pgm(h_dispersionbank, core=3)

    pipeline = bfp.get_default_pipeline()
    graph_filename = "example1.dot"
    with open(graph_filename, 'w') as dotfile:
        dotfile.write(str(pipeline.dot_graph()))
        print("Wrote graph definition to", graph_filename)
    pipeline.run()
    print("All done")
コード例 #3
0
import os
import numpy as np
import bifrost.pipeline as bfp
from bifrost.blocks import BinaryFileReadBlock, BinaryFileWriteBlock, FftBlock, CopyBlock
from bifrost.blocks import detect, accumulate
import glob
import time

if __name__ == "__main__":
    filenames = sorted(glob.glob('../data/*.bin'))
    Nsamp = 4096 * 4096
    b_read = BinaryFileReadBlock(filenames, Nsamp, 1, 'f32')
    b_copy = CopyBlock(b_read, space='cuda', core=0, gpu=0)
    with bfp.block_scope(core=1, gpu=0, fuse=True):
        b_fft = FftBlock(b_copy, axes=1, core=1, gpu=0)
        b_fft = detect(b_fft, 'scalar')
    #b_acc = accumulate(b_fft,nframe=4096)
    b_out = CopyBlock(b_fft, space='system', core=2)
    b_write = BinaryFileWriteBlock(b_out, core=3)
    #t0 = time.time()
    pipeline = bfp.get_default_pipeline()
    print(pipeline.dot_graph())
    t0 = time.time()
    pipeline.run()
    t1 = time.time()
    print "Time: ", t1 - t0