Fosphor » History » Revision 40
Revision 39 (ttsou, 02/19/2016 10:50 PM) → Revision 40/67 (Anonymous, 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 * 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 and 13.11 beta6 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!) 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. == 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(X)||WANTED|| ||?||NVidia Titan||WANTED|| ||i7-4770K 3.50GHz||NVidia !GeForce GTX 760||~228|| ||?||AMD Radeon HD 7970 (Tahiti)||~220|| ||i5-3570K 3.4 GHz||AMD 3.4GHz||AMD Radeon HD 7870 (Tahiti)||~210|| ||i7-3770K 3.4 GHz||Nvidia GTX 660||~202|| ||i7-3770K 3.4 Ghz||Nvidia 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.66GHz||NVidia !GeForce GT 640 (GK107)||~67|| ||i7-950 3.06G||NVidia GT9800||~61|| ||i5-2500K 4.2GHz||AMD Radeon HD 6570||~58|| ||C2D 3.00GHz||NVidia !GeForce 9800 GT||~47|| ||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||