Fosphor » History » Revision 50
« Previous |
Revision 50/66
(diff)
| Next »
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/
BuildingWarning: 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.
= GLFW3Install 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
- install [http://www.nvidia.com/object/unix.html NVidia drivers]
{{{
sudo apt-get install nvidia-opencl-dev opencl-headers
}}}
==== For AMD
- install [http://support.amd.com/en-us/download AMD drivers] (13.4, 13.11 beta6, 13.12 and 14.10 drivers are known to work on linux)
- install [http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/ AMD APP SDK]
==== 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.
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-2500 3.3 GHz | NVidia GTX 460 SE | ~129 | ||||
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-3610QM | NVidia !GeForce GT 640M LE | ~63 | ||||
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 |
Updated by horiz0n almost 8 years ago · 50 revisions