Skip to content
This repository


guruofquality edited this page · 30 revisions

This project is no longer maintained -
See summary page for more:


Introducing the GNU Radio Advanced Scheduler: GRAS is a complete re-write and overhaul of the stock GNU Radio scheduler to implement new features, performance enhancements, and a simplified user API. A new buffer and threading model gives GRAS zero copy features; allowing integration of DMA devices and seamless transition between stream and packet domains.

From the author: I have been contributing to the GNU Radio project since roughly 2006 when I started work on the GNU Radio Companion. Over the years I have been coming up with various ideas and feature attempts that I always wanted to see in GNU Radio. Starting in early 2012, I decided to give these ideas and features a home; and in the process, critically examine everything. The result is the GRAS scheduler, a years worth of work, slick, new API, new features, zero copy goodness, and more.

Features summary

Hipster GRAS has all the new features before they were cool enough for mainline GNU Radio.

  • GRAS had python blocks support before it was cool.
  • GRAS had message passing before it was cool.
  • GRAS had thread affinity hooks before it was cool.
  • GRAS had thread safe circular buffers before it was cool.
  • GRAS had C++ namespace support before it was cool.
  • GRAS had a status monitor GUI before it was cool.

GRAS has a lot of other neat features that are still too hot for mainline GNU Radio. Just too much for one page! Checkout the features summary wiki page for a brief overview of all the features. Each summary section contains links with greater detail:

Build and install

Start here! This link gets you the scheduler, GNU Radio, and GREX:

Features in the works

  • Setting/getting properties from the Web GUI interface
  • Upgrade gnuradio submodule to 3.7 pre-release candidate
  • Performance issues with theron6 pre-release blocking mode
  • Upgrade Theron to theron6 when its released
  • Have a 1.0 release version of GRAS w/ theron6 and gr3.7
  • Canonical names for ports (vs integer indexes only)
  • Network distributed tasks using Theron's network'd actors

Documentation and examples

Something went wrong with that request. Please try again.