Project

General

Profile

Fosphor » History » Version 47

« Previous - Version 47/62 (diff) - Next » - Current version
horiz0n, 02/19/2016 10:50 PM


= gr-fosphor

GNU Radio block for RTSA-like spectrum visualization using GPU

http://git.osmocom.org/gr-fosphor/

Building

Warning: Mixed prefix install is not supported. You need to install gr-fosphor in the same prefix as your GNU Radio install. If you used build-gnuradio this will be /usr/local and this is what's used in the instructions below. If you use a packaged version of GNU Radio, it's most likely /usr and the best way is then to make a package for gr-fosphor for your distribution.

= GLFW3

Install dependencies

{{{
sudo apt-get install cmake xorg-dev libglu1-mesa-dev
}}}

Build GLFW

{{{
git clone https://github.com/glfw/glfw
cd glfw
mkdir build
cd build
cmake ../ -DBUILD_SHARED_LIBS=true
make
sudo make install
sudo ldconfig
}}}

=== gr-fosphor

Install dependencies

==== For NVidia

{{{
sudo apt-get install nvidia-opencl-dev opencl-headers
}}}

==== For AMD

==== For Intel

  • No OpenCL support on Linux for HD and Iris Graphics (Wake up, Intel!).
  • Fosphor has been confirmed to work with Iris graphics on OSX.

Build gr-fosphor

{{{
git clone git://git.osmocom.org/gr-fosphor
cd gr-fosphor
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
}}}

Build benchmark tool

{{{
cd gr-fosphor/lib/fosphor
make
}}}

Fosphor is known to build successfully on Linux, OSX and Windows.

==== Known issues

  • Some version of ubuntu (like 13.10) have screwed up OpenCL dev files setup and it might be required to manually specify a path to the actual OpenCL library during the cmake step ( like {{{-DOPENCL_LIBRARY=/usr/lib/nvidia-304/libOpenCL.so}}} )
  • When running python flowgraphs on machines with AMD graphics (fglrx driver) and UHD enabled in gr-osmosdr you may experience the following error {{{[!] CL Error (-1001, fosphor/cl.c:268): Unable to fetch platform IDs}}}. This is due to TLS sections in both, AMD OpenCL library and UHD library interfering with each other. A workaround is available through preloading the AMD OpenCL library {{{LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libamdocl64.so osmocom_fft -F}}} (path may vary). C++ flowgraphs are not affected.
Screenshots = Short video examples

http://www.youtube.com/watch?v=mjD-l3GAghU

{{{
#!html
<iframe width="960" height="720" src="http://www.youtube.com/embed/mjD-l3GAghU" frameborder="0" allowfullscreen></iframe>
}}}

=== osmocom_fft in fosphor mode
[[Image(GrOsmoSDR:fosphor.png)]]

[[Image(GrOsmoSDR:fosphor2.png)]]

== Bandwidth figures

There's a benchmark program available which allows to estimate the maximal bandwidth that can be processed with a specific GPU.

To build it:

{{{
cd gr-fosphor/lib/fosphor
make
}}}

Then execute it by providing a prerecorded complex float file (a couple of 100MB should be fine) in gnuradio format.

{{{
./main some.cfile
}}}

Try to leave the window to its default size if possible and watch out for the Msps numbers printed out to the console.

Submit your numbers & help us to create a GPU survey. We are especially interested in the top end and mobile graphics figures.

'''CPU''' '''GPU''' '''Msps'''
? AMD R290 WANTED
? NVidia Titan WANTED
i7-4770K 3.5 GHz NVidia !GeForce GTX 760 ~228
? AMD Radeon HD 7970 (Tahiti) ~220
i5-3570K 3.4 GHz AMD Radeon HD 7870 (Tahiti) ~220
i7-3770K 3.4 GHz Nvidia GTX 660 ~202
i7-3770K 3.4 Ghz Nvidia GTX 760 ~191
i7-4770K 3.5 GHz Nvidia GTX 650 Ti Boost ~188
i5-3570K 3.4GHz AMD Radeon HD 7870 (Pitcairn) ~112
i5-2500 3.3GHz NVidia GTX 550 Ti ~110
i5-2500k 3.8GHz AMD Radeon HD 6850 ~100
? NVidia GTX 550 Ti ~97
QC Xeon 2 GHz Nvidia !GeForce 560 Ti ~73
C2D 2.66 GHz NVidia !GeForce GT 640 (GK107) ~67
i5 2.4 GHz Intel Iris Pro 5100 ~65
i7-950 3.06 GHz NVidia GT9800 ~61
i5-2500K 4.2 GHz AMD Radeon HD 6570 ~58
C2D 3.00GHz NVidia !GeForce 9800 GT ~47
i5-2520M 2.5 GHz NVidia GF119M ~46
C2D 2.4GHz NVidia 9600M GT ~31
? NVidia GT330M ~22
? NVidia 8600GT ~15
C2D 2.2GHz NVidia NVS 140M ~14
AMD E350 Fusion APU AMD Radeon 6310 ~12
C2Q Q9650 3.00GHz !GeForce 9300 GE ~11
Atom 330 NVidia ION ~10
Add picture from clipboard (Maximum size: 48.8 MB)