CHIRP SIGNAL ANALYSIS Cesar A Aceros Moreno DCFT

  • Slides: 28
Download presentation
CHIRP SIGNAL ANALYSIS Cesar A Aceros Moreno

CHIRP SIGNAL ANALYSIS Cesar A Aceros Moreno

DCFT Definition

DCFT Definition

CHIRP Signal

CHIRP Signal

OUTPUT OF THE DCFT

OUTPUT OF THE DCFT

Dataflow of the DCFT

Dataflow of the DCFT

Structure of the datafiles • datain. txt • 128 1. 000000 0. 555570 128

Structure of the datafiles • datain. txt • 128 1. 000000 0. 555570 128 -0. 000000 x[0] x[1] x[2] …. 0. 831470 -0. 195090 0. 980785 -0. 707107 dataout. txt real. x[0, 0] imag. x[1, 0] real. x[1, 0] imag. x[1, 0] …. x[124] x[125] x[126] x[127] -0. 000000 1. 414215 -1. 414213 0. 000000 real. x[127, 0] imag. x[127, 0] real. x[0, 1] imag. x[0, 1] …. -0. 000000 1. 913880 0. 580570 real. x[127, 1] imag. x[127, 1] real. x[0, 2] imag. x[0, 2]

DCFT IMPLEMENTATIONS DCFT PC IMPLEMENTATION Matlab C CLUSTER IMPLEMENTATION PLANET LAB Serial Parallel

DCFT IMPLEMENTATIONS DCFT PC IMPLEMENTATION Matlab C CLUSTER IMPLEMENTATION PLANET LAB Serial Parallel

DCFT Serial main() { char temp[1]; float *data, *dataw; long int nn=0; int i=0,

DCFT Serial main() { char temp[1]; float *data, *dataw; long int nn=0; int i=0, l=0; FILE *infile, *outfile; outfile = fopen("dataout. txt", "w"); fprintf(outfile, "%ldn", nn); for (l=0; l<nn; l++){ printf("Layer %ld n", l); if ((infile = fopen("datain. txt", "r")) == NULL) fprintf(stderr, "Cannot open file"); for (i=1; i<2*nn+1; i++){ dataw[i]=data[i]; } fscanf(infile, "%d", &nn); printf("Valor size: %dn", nn); haddamard(dataw, nn, l); four 1(dataw, nn, 1); data = malloc(sizeof(float)*nn*2); dataw = malloc(sizeof(float)*nn*2); for (i=1; i<2*nn+1; i++){ fscanf(infile, "%f", &data[i]); } fclose(infile); for (i=1; i<2*nn+1; i++){ dataw[i]=dataw[i]/sqrt(nn); fprintf(outfile, "%fn", dataw[i] ); } } fclose(outfile); }

Experiment Description: createdata • For the experiment the sample size was limited to be

Experiment Description: createdata • For the experiment the sample size was limited to be within the set {6000, 7000, 8000} • The sample size was varied from one experimental run to the next. • The values of K 0 and L 0 where chosen randomly on each run.

Experiment Description: dcft • Input: – Reads the file datain generated by createdata. •

Experiment Description: dcft • Input: – Reads the file datain generated by createdata. • Output: – Calculates the DCFT of the input data and prints the results to a file named dataout.

Experiment Description • Of the two programs dcft is the only one of interest.

Experiment Description • Of the two programs dcft is the only one of interest. • Utilized Paradyn to instrument and analyze the performance of dcft.

Analyzing Performance with Paradyn

Analyzing Performance with Paradyn

Analyzing Performance with Paradyn: Process Specification

Analyzing Performance with Paradyn: Process Specification

Analyzing Performance with Paradyn: Process Specification

Analyzing Performance with Paradyn: Process Specification

Analyzing Performance with Paradyn: The Where Axis

Analyzing Performance with Paradyn: The Where Axis

Analyzing Performance with Paradyn: Metric Specification

Analyzing Performance with Paradyn: Metric Specification

Analyzing Performance with Paradyn: Metric Descriptions • cpu – Each bin represents the percentage

Analyzing Performance with Paradyn: Metric Descriptions • cpu – Each bin represents the percentage of cpu time spent during the corresponding time interval. Aggregation is total cpu time over an interval. • cpu_inclusive – Same as cpu but includes called procedures in the process time calculation. • exec_time - Each bin represents the elapsed wall clock time per unit during the corresponding time interval. Aggregation is the sum over the interval.

Analyzing Performance with Paradyn: Metric Descriptions • io_bytes – This metric represents the number

Analyzing Performance with Paradyn: Metric Descriptions • io_bytes – This metric represents the number of bytes for Input/Output operations. Currently, only “read” and “write” are supported as input/output operations for UNIX, MPI, and PVM. • io_ops – Number of Input/Output operations. IO operations are the same as for io_bytes. • io_wait – Time spent during Input/Output operations. IO operations are the same as for io_bytes. • io_wait_inclusive – Same as io_wait but includes called procedures in the process time calculation.

Analyzing Performance with Paradyn: Bottleneck Analysis

Analyzing Performance with Paradyn: Bottleneck Analysis

Analyzing Performance with Paradyn: Results Sampling Size = 7000, K 0 = 15, L

Analyzing Performance with Paradyn: Results Sampling Size = 7000, K 0 = 15, L 0 =15

Analyzing Performance with Paradyn: Results Sampling Size = 7000, K 0 = 15, L

Analyzing Performance with Paradyn: Results Sampling Size = 7000, K 0 = 15, L 0 =15

Analyzing Performance with Paradyn: Results Sampling Size = 8000, K 0 = 10, L

Analyzing Performance with Paradyn: Results Sampling Size = 8000, K 0 = 10, L 0 =10

Analyzing Performance with Paradyn: Results Sampling Size = 8000, K 0 = 10, L

Analyzing Performance with Paradyn: Results Sampling Size = 8000, K 0 = 10, L 0 =10

Analyzing Performance with Paradyn: Results

Analyzing Performance with Paradyn: Results

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i. e. the discrete cosine/sine transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for most applications. #include <fftw_mpi. h> #include <fftw. h> plan = fftw_mpi_create_plan(MPI_COMM_WORLD, NX , FFTW_FORWARD, FFTW_IN_PLACE); fftw_mpi(plan, 1, datain. C, dataout); fftw_mpi_destroy_plan(plan);

Results of Execution Time.

Results of Execution Time.

PLANET LAB • CHIRP IMPLEMENTATION

PLANET LAB • CHIRP IMPLEMENTATION