Launching GUPPI Ron Du Plain Scott Ransom Paul

  • Slides: 25
Download presentation
Launching GUPPI Ron Du. Plain, Scott Ransom, Paul Demorest, Patrick Brandt, John Ford, Amy

Launching GUPPI Ron Du. Plain, Scott Ransom, Paul Demorest, Patrick Brandt, John Ford, Amy Shelton CASPER information courtesy of Terry Filiba and the CASPER group The NRAO is operated for the National Science Foundation (NSF) by Associated Universities, Inc. (AUI), under a cooperative agreement. GBT PTCS Conceptual Design Review April 8/9, 2003 Green Bank

Outline • CASPER – Center for Astronomical Signal Processing and Electronics Research • GUPPI

Outline • CASPER – Center for Astronomical Signal Processing and Electronics Research • GUPPI – The Green Bank Ultimate Pulsar Processing Instrument • Control Software Design • Results and Conclusions 2

CASPER • Center for Astronomical Signal Processing and Electronics Research – The goal of

CASPER • Center for Astronomical Signal Processing and Electronics Research – The goal of CASPER is to streamline and reduce the current radio astronomy instrumentation design flow through the development of an open-source, platform-independent design approach. – This incorporates reconfigurable, modular, easily upgradeable hardware with standard, parameterized design libraries that abstract away the underlying details of the system. – Design simplifies to creation of block diagrams of components from standard libraries and the designer's brain. – http: //casper. berkeley. edu/ 3

CASPER Tools • Hardware and matching software support for matlab/simulink based design using Xilinx

CASPER Tools • Hardware and matching software support for matlab/simulink based design using Xilinx System Generator along with custom I/O blocksets and EDK firmware • Supports Virtex-II Pro, soon to support Virtex-4 and -5 • Hardware platforms include the i. BOB, BEE 2, and ADC boards to go with them. • Reconfigurable Open Architecture Computing Hardware (ROACH) board, AKA Son of i. BOB being brought up. • Allows algorithm-level design by domain experts. 4

Polyphase Filter Banks 5

Polyphase Filter Banks 5

BEE 2 6

BEE 2 6

IBOB and IADC 7

IBOB and IADC 7

Another pulsar backend? We already have 5! BCPM: 4 -bit, 48 -96 MHz, 96

Another pulsar backend? We already have 5! BCPM: 4 -bit, 48 -96 MHz, 96 chan, public Spectral Proc: 6 -bit, <40 MHz, 1024 chan, public Spigot: 3 -level, 50/800 MHz, 1024/2048 chan, public GASP: 8 -bit, <100 MHz, coherent dedisp, private CGSR 2: 2 -bit, <100 MHz, coherent dedisp, private The only machines to give Full Stokes are GASP, CGSR 2, and the Spectral Processor GUPPI: 8 -bit, 800 MHz, 4096 chan, Full Stokes, and coherent dedisp

GUPPI's Advantages Searching: 800 MHz of BW, 4096 chan, and RFI-resistance (from polyphase filterbank)

GUPPI's Advantages Searching: 800 MHz of BW, 4096 chan, and RFI-resistance (from polyphase filterbank) will make GUPPI a “Super. Spigot” that will be unbeatable for searches from 1 -5 GHz (previously the BCPM and Spigot) High Dynamic-Range Studies: 8 -bit sampling, high spectral resolution and Full Stokes will make GUPPI perfect for scintillation studies, HI absorption, Faraday rotation measurements, polarization studies, and singlepulse studies (previously the Spectral Processor) Ultra-High Precision Timing: 8 -bit sampling, 800 MHz of BW, and RFI resistance will allow unprecedented timing precision from 1 -3 GHz for millisecond pulsars (i. e. the NANOGrav project and the search for n. Hz gravitational waves; previously GASP/CGSR 2)

GUPPI History • GBT Future Instrumentation Workshop, September 2006 • University of Cincinnati Group

GUPPI History • GBT Future Instrumentation Workshop, September 2006 • University of Cincinnati Group worked on it until May, 2007, Produced report and basic design • 2 WVU summer students and Glen Langston built “event capture” device over the summer • Scott Ransom yells at us to “stop planning and get to work” in August, 2007 • October 29 th, 2007, Held workshop to brainstorm the project and get started on detailed design and implementation • April 4 th, first pulsar observation (under test conditions with 43 m telescope) 10

Original UC design 11

Original UC design 11

GUPPI BEE 2 signal processing chain • Each 1. 6 GS/s stream uses 1

GUPPI BEE 2 signal processing chain • Each 1. 6 GS/s stream uses 1 FPGA for signal processing, 1 IBOB for data acquisition • 4096 point PFB/FFT, with data streaming in and out, diagnostics in Block Ram • Combines signals from each polarization, calculates stokes parameters, accumulates, and packages data, transmits over 10 Gb Ethernet to host. • Minimum 50 microsecond accumulations • ~100 - 200 MB/sec data rate 12

GUPPI Software Design • Software Requirements – Provide read and write access to all

GUPPI Software Design • Software Requirements – Provide read and write access to all control parameters and monitor points – Start and Stop the data acquisition – Be compatible with, but independent of, the GBT M&C system • Platform Requirements – Connections to the hardware modules – Defined interface to data acquisition software – Python interpreter on the host machine 13

Software Connections Client Server • “external” interface • Controller access Controller Data Acquisition •

Software Connections Client Server • “external” interface • Controller access Controller Data Acquisition • core logic • data storage • parameter exposure • data quick look • Data Acquisition interface • data status Demux • common parameter access • fully qualify parameter names The dashed box contains those modules which will run on GUPPI host, “beef. ” IBOB Interface BEE 2 Interface • parameter access • (Tiny. SH client) • (client-server) (“Runs” on IBOB. ) (Runs on BEE 2. )

User client module functions • • Simple command line interface Allows users to set

User client module functions • • Simple command line interface Allows users to set and get all parameter values Allows users to start and stop FPGA processes Python based, extensible with standard Python functionality • Users can write/run their own scripts to control observations • Client modules can be seamlessly integrated into GBT M&C system, or any system that can open a connection to a Python Simple. XMLRPCServer 15

Hardware Parameters • hardware design excerpt (right) • software register: • BRAM:

Hardware Parameters • hardware design excerpt (right) • software register: • BRAM:

GUPPI Command Prompt • simple command prompt wrapped around Python interpreter • tab completion

GUPPI Command Prompt • simple command prompt wrapped around Python interpreter • tab completion for functions and parameter names • four basic functions: – get and set for parameters – load and unload for FPGA profiles

Just add Python • write simple scripts to build more functions e. g. use

Just add Python • write simple scripts to build more functions e. g. use Python execfile • import Python modules for extensibility • e. g. matplotlib (pylab) for plotting

Data Acquisition Software • • • Multi-threaded shared memory architecture C program Connects to

Data Acquisition Software • • • Multi-threaded shared memory architecture C program Connects to 10 Gb Ethernet using UDP Buffers data, provides quick-look functions Streams data to disk in PSRFITS format Handles 300 MB/S data stream with Myricom 10 Gb Ethernet card, Tyan Motherboard, Opteron Processors and AMCC hardware RAID • Interfaces to Python based controller through shared memory command buffer 19

Portability and Extensibility • Controller written in Python • Data Acquisition software written in

Portability and Extensibility • Controller written in Python • Data Acquisition software written in C • Host is 64 bit Linux system, BEE 2 runs 32 bit Linux system • All connections to hardware portable to newer/different interfaces • All code written by NRAO staff GPL licensed 20

First Light 21

First Light 21

GUPPI Future Directions • Add more diagnostics • Add other configurations, narrow bandwidths, more

GUPPI Future Directions • Add more diagnostics • Add other configurations, narrow bandwidths, more channels, wider/narrower outputs, etc. • Add coherent dedispersion modes – Long FFT's needed to implement inverse ISM filter – Possibly brute force better? Using convolution instead of FFT>Multiply->IFFT – Maybe better to stream out to computers for calculations. • Make it robust enough to release for everyday use – Integrate with GBT observing system 22

Conclusions • Reconfigurable Computing platforms make for quick hardware development – GUPPI started in

Conclusions • Reconfigurable Computing platforms make for quick hardware development – GUPPI started in earnest in October, 2007. First light was in April 2008. • Standard software interfaces make for quick control interface development – The BEE 2 and IBOB platforms use a common shell interface to the FPGA parameter space, allowing for easy portability between all hardware subsystems – Python for the development language allowed the power of the Python interpreter to be used to provide complex functions easily 23

Further Information • For more information: – https: //wikio. nrao. edu/bin/view/CICADA/NGNPP – Email jford@nrao.

Further Information • For more information: – https: //wikio. nrao. edu/bin/view/CICADA/NGNPP – Email jford@nrao. edu or other authors 24

The End 25

The End 25