Other Parts Discussed in Thread: FFTLIB
Hello!
I'm trying to evaluate the performance of TMS320C6678 using FFTLIB according https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/546919.
I also do not achieve the productivity stated in the document (Nissim Saban. MultiCore DSP vs GPUs: e2e.ti.com/.../0456.Multi_5F00_core_5F00_DSPs_5F00_vs_5F00_GPUs_5F00_TI_5F00_for_5F00_distribution.pdf).
I run the code with the Blackhawk XDS560v2 Emulator on Evaluation Board TMDSEVM6678LE and have following versions:
- CCS: 6.2.0.00050
- DSPLIB: 3.4.0
- EDMA3: 2.12.1
- Framework Components: 3.40.2.07
- MCSDK PDK: 1.1.2.6
- SYS/BIOS: 6.45.1.29
- XDAIS: 7.24.0.04
- FFTLIB_c66x: 2.0.0.2.
But I have a calculation error. Log is:
[C66xx_0] FFT memory buffers:
Buffer Size(bytes) Alignment
0 8192 3
1 8192 3
2 8 3
3 0 3
4 8192 3
5 8192 3
6 8 3
7 0 3
8 0 3
9 8192 3
fft_sp_1d_c2c_ecpy size= 1024
max_diff = 0.006134 N = 1024 Cycle: 12235
FFT memory buffers:
Buffer Size(bytes) Alignment
0 8192 3
1 8192 3
2 8 3
3 0 3
4 0 3
5 0 3
6 0 3
7 0 3
8 0 3
9 0 3
fft_sp_1d_c2c_direct size= 1024
max_diff = 0.006134 N = 1024 Cycle: 9918
FFT memory buffers:
Buffer Size(bytes) Alignment
0 16384 3
1 16384 3
2 8 3
3 0 3
4 16384 3
5 16384 3
6 8 3
7 0 3
8 0 3
9 16384 3
fft_sp_1d_c2c_ecpy size= 2048
max_diff = 0.026672 N = 2048 Cycle: 23241
FFT memory buffers:
Buffer Size(bytes) Alignment
0 16384 3
1 16384 3
2 8 3
3 0 3
4 0 3
5 0 3
6 0 3
7 0 3
8 0 3
9 0 3
fft_sp_1d_c2c_direct size= 2048
max_diff = 0.026672 N = 2048 Cycle: 19334
FFT memory buffers:
Buffer Size(bytes) Alignment
0 32768 3
1 32768 3
2 520 3
3 0 3
4 2048 3
5 2048 3
6 520 3
7 0 3
8 0 3
9 1024 3
fft_sp_1d_c2c_ecpy size= 4096
max_diff = 0.001486 N = 4096 Cycle: 451707
FFT memory buffers:
Buffer Size(bytes) Alignment
0 32768 3
1 32768 3
2 8 3
3 0 3
4 0 3
5 0 3
6 0 3
7 0 3
8 0 3
9 0 3
fft_sp_1d_c2c_direct size= 4096
max_diff = 0.034302 N = 4096 Cycle: 40702
FFT memory buffers:
Buffer Size(bytes) Alignment
0 65536 3
1 65536 3
2 520 3
3 0 3
4 4096 3
5 4096 3
6 520 3
7 0 3
8 0 3
9 2048 3
fft_sp_1d_c2c_ecpy size= 8192
max_diff = 0.003288 N = 8192 Cycle: 827691
FFT memory buffers:
Buffer Size(bytes) Alignment
0 65536 3
1 65536 3
2 8 3
3 0 3
4 0 3
5 0 3
6 0 3
7 0 3
8 0 3
9 0 3
fft_sp_1d_c2c_direct size= 8192
max_diff = 0.082520 N = 8192 Cycle: 229370
FFT memory buffers:
Buffer Size(bytes) Alignment
0 131072 3
1 131072 3
2 1032 3
3 0 3
4 4096 3
5 4096 3
6 1032 3
7 0 3
8 0 3
9 2048 3
fft_sp_1d_c2c_ecpy size= 16384
max_diff = 0.017578 N = 16384 Cycle: 1576029
FFT memory buffers:
Buffer Size(bytes) Alignment
0 131072 3
1 131072 3
2 8 3
3 0 3
4 0 3
5 0 3
6 0 3
7 0 3
8 0 3
9 0 3
fft_sp_1d_c2c_direct size= 16384
max_diff = 21.559570 N = 16384 Cycle: 723440
FFT memory buffers:
Buffer Size(bytes) Alignment
0 262144 3
1 262144 3
2 1032 3
3 0 3
4 8192 3
5 8192 3
6 1032 3
7 0 3
8 0 3
9 4096 3
fft_sp_1d_c2c_ecpy size= 32768
max_diff = 0.032227 N = 32768 Cycle: 2954513
FFT memory buffers:
Buffer Size(bytes) Alignment
0 262144 3
1 262144 3
2 8 3
3 0 3
4 0 3
5 0 3
6 0 3
7 0 3
8 0 3
9 0 3
fft_sp_1d_c2c_direct size= 32768
max_diff = 75.476563 N = 32768 Cycle: 1832012
FFT memory buffers:
Buffer Size(bytes) Alignment
0 524288 3
1 524288 3
2 2056 3
3 0 3
4 8192 3
5 8192 3
6 2056 3
7 0 3
8 0 3
9 4096 3
fft_sp_1d_c2c_ecpy size= 65536
max_diff = 0.164063 N = 65536 Cycle: 5656699
FFT memory buffers:
Buffer Size(bytes) Alignment
0 524288 3
1 524288 3
2 8 3
3 0 3
4 0 3
5 0 3
6 0 3
7 0 3
8 0 3
9 0 3
fft_sp_1d_c2c_direct size= 65536
max_diff = 216.203125 N = 65536 Cycle: 4295576
My project: 3302.fft_sp_1d_c2c_k1_66_LE_ELF.rar
What could be the reason? Why are there any calculations errors on one platform? Why does the FFTLIB use Framework Components and XDAIS?
Best Regards,
Michael