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"
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")
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