“The best book is a finished book” – Anyone that has written a book
Stephen Neuendorffer (Xilinx), Janarbek Matai (Cognex), and I recently “published” the open-source book “Parallel Programming for FPGAs“, which describes how to effectively use high-level synthesis (HLS) tools to program field programmable gate arrays (FPGAs). High-level synthesis is the process of taking an application written in procedural code (e.g., written as C code) and translating it into a hardware design (e.g., like one written in Verilog). HLS tools are seeing a growing usage in the industry as commercial offerings like Xilinx Vivado HLS become more sophisticated. Yet, these tools require the user to understand parallel programming concepts like data partitioning, pipelining, and task level parallelism. These are non-trivial ideas that often are not covered in a programming course. The book aims to clearly explain these concepts while walking through the design and optimization of different applications.
Don’t understand this? Read our book!
The book is open-source with the hope that it will be a living book. We can quickly and easily fix typos, grammar, and poorly written sections. And we can add new materials. You can probably expect at least minor updates during the times when I’m using the book to teach 237C (typically Fall Quarter). We are very open to receiving contributions of new materials, e.g., additions to existing chapters, new chapters, projects, labs, slides, etc.. We would be happy to provide an appropriate level of attribution (e.g., as a chapter author?). Get in touch with me if you are interested in contributing.
Like anything worth doing, this took a lot longer than anticipated (like 5 years longer!), but I am happy to say that we finally got this manuscript into good enough shape to call it version 1.0. Thanks to Steve for making the final push earlier this year. Janarbek was instrumental in providing a lot of the code examples (certainly for all the chapters that I wrote). Much of this came from his PhD thesis and work as a TA for 237C. And a very special thanks to Xilinx for their funding and immense patience on this. They provided no strings attached funding to my lab to allow my PhD students to work on various aspects of this project. I was also able to leverage incredible support through the Wireless Embedded Systems Masters Program (to fund TAs to work specifically on developing the labs and other teaching materials). I know that everyone would have liked this a lot sooner, but I hope that you will agree that this is better late than never?
We have an associated set of projects that we developed alongside this book over the course of many years in my 237C classes. Cleaning up and releasing these projects will likely be the next major revision to the book. I hope to release them broadly this Fall (no promises especially given my track record on getting this book out in a timely manner!). In the meantime, feel free to get in touch with me if you want to have a look at them.
National Geographic announced the Chasing Genius Challenge Finalists which includes undergraduate researcher Nikko Dutra Bouck. Nikko is developing a system that will incentive trash cleanup. It uses low-cost drones to survey an area for trash. Then he plans to develop a Uber/Lyft-like app to pay local people to pick up the trash and deliver it to a landfill. Have a look at his short video for more information and give him a vote while you are there.
The picture shows a large-scale aerial image collected last summer of a mangrove forest in Bahia Magdelena, Mexico. We create this image by stitching together a bunch of pictures that we take from a low-cost drone. It gives us cm-scale resolution which is orders of magnitude better than satellite resolution (like you see on Google Earth). This allows us to zoom in and get fine-grained detail and easily pick out any trash. Even better, we are now working on using automated machine learning algorithms to automatically detect the trash.
Nikko has been working with our research group for more than a year through the Engineers for Exploration program which aims to develop technologies (like this) to aid in conservation, exploration, and cultural heritage. He was awarded an NSF REU scholarship last summer, he is a UCSD FISP awardee, and he leads our collaboration with Octavio Aburto’s group on the mangrove monitoring. He is an amazing person with big goals related to conservation.
Vote now and often and help him take another step towards using the latest technologies to clean up our oceans!
Perry (Lu’s surf instructor :), Ryan, Lu, and the UCSD Hawkinson Bear on Lu’s last day on campus.
Lu Zhang ended his two year stay at UCSD as a visiting graduate student in our group. This was funded by the China Scholarship Council scholarship. During his time at UCSD, he built a measurement system that captured the power consumption of an FPGA while computing different cryptographic operations. His research focused on how different hardware optimizations (e.g., pipelining and memory partitioning) can change the security of the cryptographic hardware. This initial work (“Examining the Consequences of High-Level Synthesis Optimizations on Power Side-Channel”) was accepted for publication in the Design, Automation and Test in Europe (DATE) conference. Lu will travel to Germany to present his work there in mid-March. Lu returns his home university Northwestern Polytechnical University in Xi’an, China to finish his PhD. We wish him the best and look forward to seeing him soon!
University of California Division of War Research illustration of natural underwater sounds, including snapping shrimp, which cause interference with sonar and other underwater acoustic devices. 1944 Scripps Institution of Oceanography Photographs
Snapping shrimp are amazing creatures. They use their claw to create a powerful “sonic boom” that induces a cavitation bubble that stuns their prey. This tiny bubble reaches temperatures of up to 8,000 degrees Fahrenheit and 200 decibels. These little shrimp are so amazing that they were featured on a Radiolab episode.
These shrimp are so loud that they create large disturbances in acoustic field which negatively effects wireless underwater communication and robotic localization; this is illustrated by a 1944 UCSD Scripps Oceanographic cartoon from the UCSD Library Digital Collection). But what if we were able to utilize these snaps in a beneficial way to find the positions of a swarm of underwater vehicles?
Our recent work published in IEEE Access shows how to track a swarm of underwater vehicles using passive signals present in the ocean’s ambient soundscape. We demonstrate our method using noise from these “annoying” snapping shrimp on a swarm of underwater vehicles that was deployed off of San Diego’s coast. Our results show that this works amazingly well. This video shows the results of localization using our snapping shrimp derived localization scheme and the standard, infrastructure-heavy technique of deploying fixed buoys with active acoustic pingers. The latter is one of the most common techniques for localizing underwater systems. Our method is the first step towards an infrastructure free, low power, high endurance localization technique for underwater vehicle swarms.
Neuromorphic vision sensors are uncommon and new(-ish) way to perform analog feature detection in an event-based manner. They employ a fundamentally different technique for sensing compared to “typical” cameras. This results in a more complex pixel detector architecture, and correspondingly means their noise differs from ordinary vision sensors. The picture show KRG PhD student Alireza Khodamoradi recently presented our research in this domain in a paper titled “O(N)-Space Spatiotemporal Filter for Reducing Noise in Neuromorphic Vision Sensors”. Here we analyzed this noise and introduced a novel filter with higher accuracy and minimal memory complexity compared to previous works. This paper was accepted to the IEEE International Conference on Computer Design (ICCD) and was invited to IEEE TETC. This is a special honor only extended to the best papers. We plan to have it published after journal reviews by early 2018.
Our research group made our annual pilgrimage to Mammoth Lakes, CA to kick off the beginning of the (academic) year. The evenings were filled with discussions on past, current, and future research and imbibing on delicious homemade food. The days were spent enjoying all the activities that the Eastern Sierras had to offer. The group hike this year was the Twenty Lakes Basin Loop Trail (though about half of us decided to only tackle the loop around Saddlebag Lake). But those that did the entire 10 mile route were rewarded with a snow cave unlike anything that I’ve ever seen. Quentin — our resident group photographer and videographer — created a wonderful video showing the epicness of the hike (the snow cave comes around 0:45).
The RFNoC & Vivado HLS Challenge is an open invitation to create innovative and useful open-source RF Network on Chip (RFNoC) applications. The goal was to highlight the productivity of Xilinx Vivado High-Level Synthesis (HLS) design tools using the National Instruments/Ettus Research Universal Software Radio Peripheral (USRP) hardware. The USRP is one of the most successful hardware platforms for software defined radio.
Team Rabbit Ears were up to the challenge. Team members Alireza Khodamoradi (CSE PhD student in our research group), Andrew Lanez (Wireless Embedded Systems MAS Alumni), and Sachin Bharadwaj Sundramurthy (CSE MS student) created an HDTV receiver block. This is able to pick up HDTV broadcast over the air. Have a look at their video below for more details.
They were awarded second place which comes with a complete USRP system from Ettus research and a presentation at the 2017 GNU Radio Conference. If you want all of the details, their work is open-source and is available on the Xilinx github repository.
Congrats to Alireza, Andrew, and Sachin! What a great team spanning multiple graduate programs in CSE!
Our group has a long history with Cognex. The company itself is headquartered in Natick, MA, but they have a growing research lab in San Diego. Our group was first “raided” for talent when John McGarry (Sr. VP R&D) hired (my then post-doc) Ali Irturk. Since that time, they have expanded substantially which includes a large number of people with direct ties to the Kastner Research Group (KRG). This includes Isaac Philips (undergraduate KRG researcher and MS student), Janarbek Matai (KRG PhD alumni), and Wireless Embedded Systems (WES) MAS alumni Chris Neuhauser. Several of our current graduate students have also spent time at Cognex including Alric Althoff and Alireza Khodamoradi (also a WES MAS alumni). The picture shows those at Cognex SD research with UCSD ties.
We are happy to continue our research collaboration with Cognex. Their high-speed image sensors (operating at 10,000s frames per second!) provide unique research problems. And we enjoy seeing our ideas transitioned into their products. More specifically, our collaboration has resulted in several major technical contributions including developing hardware accelerated architectures for compressed sensing and investigating novel event based sensors. We look forward to our future research collaborations with Cognex. And hopefully, we will continue to serve as a pipeline for future Cognex employees.
Our latest Engineers for Exploration (E4E) project aims to use multispectral camera on an unmanned aerial vehicle to help our scientific collaborators better understand the mangrove ecosystems. Research engineer Eric Lo and Nikko Bouck and Brynn Hall (two of our Summer E4E students) accompanied our SIO collaborators from the Aburto Lab to Bahia Magdalena, Baja California Sur to perform an initial survey of the mangroves around the region. This data is currently undergoing processing with the ultimate goal of automatic large scale aerial mangrove classification. We are currently investigating a number of supervised and unsupervised machine learning techniques to perform species level classification. Our ultimate goal is to track changes to the mangrove ecosystems over time.
Dajung is putting the finishing touches on her PhD with a successful defense. Dajung has been working broadly in the realm of hardware acceleration. Her research specifically focused on developing a system that can analyze high-speed cellular images in real-time. Imaging flow cytometry is a technique that enables cellular studies, e.g., determining the presence of cancerous cells, identifying mature stem cells, and characterizing sickle cell anemia. Imaging flow cytometry uses cameras operating at greater than 10,000 frames/sec, and thus requires special hardware to analyze the images. This is especially important to enable cell sorting rather than just cell screening. Dajung thesis details her work that studied algorithmic and hardware design techniques to perform real-time cellular analysis. Her next stop is as a researcher at Intel in San Diego where she will continue work on hardware acceleration (though targeting different application). We will miss both Dajung and Coco (pictured in the “Questions?” slide).