Fosphor » History » Version 46
Anonymous, 02/19/2016 10:50 PM
1 | 1 | = gr-fosphor |
|
---|---|---|---|
2 | |||
3 | GNU Radio block for RTSA-like spectrum visualization using GPU |
||
4 | |||
5 | http://git.osmocom.org/gr-fosphor/ |
||
6 | 2 | ||
7 | 21 | horiz0n | == Building |
8 | |||
9 | 40 | 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. |
|
10 | |||
11 | 21 | horiz0n | === GLFW3 |
12 | |||
13 | Install dependencies |
||
14 | |||
15 | {{{ |
||
16 | 24 | horiz0n | sudo apt-get install cmake xorg-dev libglu1-mesa-dev |
17 | }}} |
||
18 | |||
19 | 21 | horiz0n | Build GLFW |
20 | |||
21 | {{{ |
||
22 | git clone https://github.com/glfw/glfw |
||
23 | cd glfw |
||
24 | mkdir build |
||
25 | cd build |
||
26 | cmake ../ -DBUILD_SHARED_LIBS=true |
||
27 | make |
||
28 | 1 | sudo make install |
|
29 | sudo ldconfig |
||
30 | 21 | horiz0n | }}} |
31 | 1 | ||
32 | === gr-fosphor |
||
33 | |||
34 | 25 | horiz0n | Install dependencies |
35 | |||
36 | 26 | horiz0n | ==== For NVidia |
37 | 25 | horiz0n | |
38 | * install [http://www.nvidia.com/object/unix.html NVidia drivers] |
||
39 | 1 | ||
40 | 25 | horiz0n | {{{ |
41 | sudo apt-get install nvidia-opencl-dev opencl-headers |
||
42 | }}} |
||
43 | |||
44 | 26 | horiz0n | ==== For AMD |
45 | 25 | horiz0n | |
46 | 45 | horiz0n | * install [http://support.amd.com/en-us/download AMD drivers] (13.4, 13.11 beta6 and 13.12 drivers are known to work on linux) |
47 | 25 | horiz0n | * install [http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/ AMD APP SDK] |
48 | |||
49 | 33 | horiz0n | ==== For Intel |
50 | |||
51 | 42 | horiz0n | * No OpenCL support on Linux for HD and Iris Graphics (Wake up, Intel!). Fosphor has been confirmed to work with Iris graphics on OSX. |
52 | 33 | horiz0n | |
53 | 25 | horiz0n | Build gr-fosphor |
54 | |||
55 | {{{ |
||
56 | 21 | horiz0n | git clone git://git.osmocom.org/gr-fosphor |
57 | cd gr-fosphor |
||
58 | mkdir build |
||
59 | cd build |
||
60 | 37 | cmake .. |
|
61 | 21 | horiz0n | make |
62 | sudo make install |
||
63 | sudo ldconfig |
||
64 | }}} |
||
65 | |||
66 | 1 | Build benchmark tool |
|
67 | |||
68 | 21 | horiz0n | {{{ |
69 | cd gr-fosphor/lib/fosphor |
||
70 | make |
||
71 | }}} |
||
72 | 25 | horiz0n | |
73 | Fosphor is known to build successfully on Linux, OSX and Windows. |
||
74 | 21 | horiz0n | |
75 | 46 | ==== Known issues |
|
76 | |||
77 | * 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}}} ) |
||
78 | |||
79 | 2 | == Screenshots |
|
80 | |||
81 | 15 | === Short video examples |
|
82 | |||
83 | http://www.youtube.com/watch?v=mjD-l3GAghU |
||
84 | |||
85 | {{{ |
||
86 | #!html |
||
87 | <iframe width="960" height="720" src="http://www.youtube.com/embed/mjD-l3GAghU" frameborder="0" allowfullscreen></iframe> |
||
88 | }}} |
||
89 | |||
90 | |||
91 | 2 | === osmocom_fft in fosphor mode |
|
92 | [[Image(GrOsmoSDR:fosphor.png)]] |
||
93 | |||
94 | [[Image(GrOsmoSDR:fosphor2.png)]] |
||
95 | 3 | horiz0n | |
96 | == Bandwidth figures |
||
97 | |||
98 | There's a benchmark program available which allows to estimate the maximal bandwidth that can be processed with a specific GPU. |
||
99 | |||
100 | To build it: |
||
101 | |||
102 | {{{ |
||
103 | cd gr-fosphor/lib/fosphor |
||
104 | make |
||
105 | }}} |
||
106 | |||
107 | Then execute it by providing a prerecorded complex float file (a couple of 100MB should be fine) in gnuradio format. |
||
108 | |||
109 | {{{ |
||
110 | ./main some.cfile |
||
111 | }}} |
||
112 | |||
113 | 14 | horiz0n | Try to leave the window to its default size if possible and watch out for the Msps numbers printed out to the console. |
114 | |||
115 | Submit your numbers & help us to create a GPU survey. We are especially interested in the top end and mobile graphics figures. |
||
116 | 3 | horiz0n | |
117 | 8 | ||'''CPU'''||'''GPU'''||'''Msps'''|| |
|
118 | 31 | horiz0n | ||?||AMD R290(X)||WANTED|| |
119 | 8 | ||?||NVidia Titan||WANTED|| |
|
120 | 42 | horiz0n | ||i7-4770K 3.5 GHz||NVidia !GeForce GTX 760||~228|| |
121 | 1 | ||?||AMD Radeon HD 7970 (Tahiti)||~220|| |
|
122 | 41 | horiz0n | ||i5-3570K 3.4 GHz||AMD Radeon HD 7870 (Tahiti)||~220|| |
123 | 40 | ||i7-3770K 3.4 GHz||Nvidia GTX 660||~202|| |
|
124 | ||i7-3770K 3.4 Ghz||Nvidia GTX 760||~191|| |
||
125 | 39 | ttsou | ||i7-4770K 3.5 GHz||Nvidia GTX 650 Ti Boost||~188|| |
126 | 28 | horiz0n | ||i5-3570K 3.4GHz||AMD Radeon HD 7870 (Pitcairn)||~112|| |
127 | 29 | horiz0n | ||i5-2500 3.3GHz||NVidia GTX 550 Ti||~110|| |
128 | 28 | horiz0n | ||i5-2500k 3.8GHz||AMD Radeon HD 6850||~100|| |
129 | 1 | ||?||NVidia GTX 550 Ti||~97|| |
|
130 | 28 | horiz0n | ||QC Xeon 2 GHz||Nvidia !GeForce 560 Ti||~73|| |
131 | 42 | horiz0n | ||C2D 2.66 GHz||NVidia !GeForce GT 640 (GK107)||~67|| |
132 | 44 | ||i5 2.4 GHz||Intel Iris Pro 5100||~65|| |
|
133 | 42 | horiz0n | ||i7-950 3.06 GHz||NVidia GT9800||~61|| |
134 | ||i5-2500K 4.2 GHz||AMD Radeon HD 6570||~58|| |
||
135 | 30 | horiz0n | ||C2D 3.00GHz||NVidia !GeForce 9800 GT||~47|| |
136 | 43 | ||i5-2520M 2.5 GHz||NVidia GF119M||~46|| |
|
137 | 28 | horiz0n | ||C2D 2.4GHz||NVidia 9600M GT||~31|| |
138 | ||?||NVidia GT330M||~22|| |
||
139 | ||?||NVidia 8600GT||~15|| |
||
140 | ||C2D 2.2GHz||NVidia NVS 140M||~14|| |
||
141 | 1 | ||AMD E350 Fusion APU||AMD Radeon 6310||~12|| |
|
142 | 37 | ||C2Q Q9650 3.00GHz||!GeForce 9300 GE||~11|| |
|
143 | 28 | horiz0n | ||Atom 330||NVidia ION||~10|| |