[hpsdr] HPSDR software direction

Jeremy McDermond mcdermj at xenotropic.com
Wed Aug 4 23:54:31 PDT 2010


On Aug 4, 2010, at 10:45 PM, Phil Harman wrote:

> We build a cross platform DSP server that provides data to/from  a GUI
> over UDP/IP. For all I know John Melton's existing server could be the
> starting point.
> 
> The clever folks that enjoy working on DSP code can continue to
> improve/refine etc this over time.  Whenever they change or add something
> the UDP/IP protocol document gets updated.

My only problem with this is that there is platform dependent innovation going on in this space right now.  For example, there's Hermann's work with NVidia's CUDA that's going on.  While CUDA itself is cross-platform for Mac, Windows, and Linux, it's limited to NVidia chips for the compute engines.  Similarly there's my work with OpenCL and the Mac's Accelerate framework.  OpenCL is theoretically cross-platform to all three of the major OSs, but Accelerate is always going to be Mac only.  There's also Intel's IPP extensions (which cost some significant amount of cash for a development license), which will of course work for Intel's chips, but might be problematic for AMD and ARM platforms.  By dictating the implementation of the DSP server, you squash this innovation.

I'm all for open source, but open source is about the *source*.  The idea of open source is that clever programmers can look at the source and adapt what's there to their needs.  I am a large believer in open standards, though.  Specifying standards and letting programmers code to them allows a wide variety of software that each can push innovation in their own ways.  If all of those authors choose to open source their software (which I'm in support of), then there's example code for all of the projects to use in their toolbox.  Both John's software and GNU Radio have provided this for me.  I open source my code in hopes that others can do the same.

This model is essentially what's going on now.  Phil and his hardware monkeys (Hi Bill!), give us the specifications on the USB protocol, and we write code that can talk to that.

I thought Linux development was supposed to be about the bazaar.  You put the standard out there, and you let the users choose over the implementations of the standards.  The winning pieces of software obviously have some sort of merit.  I didn't want to run PowerSDR on Windows, so I started to write my own software.  Is it perfect?  Far from.  But it is out there and available to folks, and if others want to improve it, the code is there.  If others want to borrow pieces of the code for a Linux project, they're more than welcome.

So, in summary, I'm all for open standards and "reference implementations."  I would like to see whatever "hardware server" spec converge with the Ozy II on-wire spec.  The standards for the interface should be done in as platform agnostic way as possible.  Outside of the spec, we should give developers all the space they want to innovate in ways that interest them.

> 73's Phil...VK6APH


--
Jeremy McDermond (NH6Z)
Xenotropic Systems
mcdermj at xenotropic.com




 1280991271.0


More information about the Hpsdr mailing list