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