Carles Fernandez
9ebbb3b460
fix kernel
...
This fixes a runtime error, since VOLK functions are static and a
segmentation fault was caused when aligned and unaligned versions were
called concurrently.
2016-04-03 09:07:10 +02:00
Carles Fernandez
a5fb34c800
Fixing NEON proto-kernels
2016-04-03 02:27:54 +02:00
Carles Fernandez
57107cf86d
Introducing a new resampler kernel for comparison
2016-04-01 12:41:00 +02:00
Carles Fernandez
7658f64527
adding unaligned protokernels
2016-04-01 10:36:52 +02:00
Carles Fernandez
5841258a36
bug fix
2016-04-01 01:51:58 +02:00
Carles Fernandez
99ceb30a0e
Fixes related to the MSVC compiler
2016-04-01 01:50:09 +02:00
Carles Fernandez
684073bef6
adding NEON puppet
2016-04-01 01:47:51 +02:00
Carles Fernandez
43330588a8
adding include for neon intrinsics
2016-04-01 01:25:57 +02:00
Carles Fernandez
f6cfc64cf7
adding NEON protokernel
2016-04-01 01:21:35 +02:00
Carles Fernandez
a71b118170
Workaround for problems with orc
2016-03-31 21:35:05 +02:00
Carles Fernandez
6cf47e1958
orc is giving some problems in Ubuntu 14.04
2016-03-31 21:20:02 +02:00
Carles Fernandez
817139ba50
ask for aligned memory in a more portable way
2016-03-31 19:39:37 +02:00
Carles Fernandez
3d733a5140
initializing all members in the constructor
2016-03-31 00:27:33 +02:00
Carles Fernandez
228645586e
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
2016-03-30 23:51:00 +02:00
Carles Fernandez
60cc057eb6
Fix defects detected by Coverity scan
2016-03-30 23:49:53 +02:00
Carles Fernandez
1946e3b6e3
sync
2016-03-30 22:56:37 +02:00
Carles Fernandez
864c81b082
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
2016-03-30 22:48:32 +02:00
Carles Fernandez
36660e05ca
Removing unused class (nco_lib, replaced by volk kernels)
2016-03-30 22:37:43 +02:00
Carles Fernandez
806fdcdade
code cleaning
2016-03-30 22:28:13 +02:00
Carles Fernandez
4f3273f296
code cleaning, removing tabs
2016-03-30 22:27:12 +02:00
Carles Fernandez
9eb175fb0e
Adding new resampler kernel and integrating it in the multicorrelator
2016-03-30 21:33:43 +02:00
Carles Fernandez
70a2c5837c
code cleaning
2016-03-30 21:09:38 +02:00
Javier Arribas
b2034896e1
Merge branch next_gps_20ms_corr with next. Removing obsolete code and code cleaning
2016-03-30 15:03:25 +02:00
Javier Arribas
d15066fda6
Bug fix in Hybrid PVT date/time computation. Removed the obsolete GPS L1 Optim tracking block
2016-03-29 18:40:00 +02:00
Javier Arribas
e37824787e
Adding RX clock offset [s] storage in LS PVT class member
2016-03-29 18:12:59 +02:00
Carles Fernandez
81ae079c06
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
2016-03-29 12:16:37 +02:00
Carles Fernandez
1b9516fa8b
Integrating the new volk kernel in the multiple correlator (32 bits)
...
and some cleaning
2016-03-28 16:35:55 +02:00
Carles Fernandez
d8b45d9b79
fix wrong storeu by store
2016-03-28 13:51:51 +02:00
Carles Fernandez
78372ba2e9
adding _mm256_zeroupper() at the end of AVX and AVX2 protokernels
...
This avoids penalties for state transitions from 256-bit x86-AVX
instructions to x86-SSE instructions
2016-03-28 11:58:01 +02:00
Carles Fernandez
b1d99d58ec
fix typo in puppet initialization
...
The AVX2 protokernel achieves an acceleration factor x13.
2016-03-28 10:14:32 +02:00
Carles Fernandez
26e68e89f2
adding AVX2 protokernels (aligned and unaligned)
2016-03-28 09:42:55 +02:00
Carles Fernandez
7c1f5723e6
remove unneeded stores in NEON protokernels
2016-03-27 13:00:04 +02:00
Carles Fernandez
d113835073
adding new kernel: volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn
...
Including generic, SSE3 (aligned and unaligned), AVX (aligned and
unaligned) and NEON protokernels.
2016-03-27 12:50:53 +02:00
Carles Fernandez
751764343c
adding AVX2 protokerns
...
I haven't found a way to do the rotator part better than with SSE3. Only
the dot product takes real advantage of 256-bit registers. Even tough,
the gain with respect to SSE3 is about 12%.
2016-03-26 01:51:01 +01:00
Carles Fernandez
4411af40b3
Updating armadillo version to 6.600.5
2016-03-25 12:22:51 +01:00
Javier Arribas
500dc59516
Release candidate of the GPS L1 C/A telemetry decoder supporting variable tracking correlation length
2016-03-22 18:07:12 +01:00
Carles Fernandez
31d0366d73
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
2016-03-22 18:04:52 +01:00
Carles Fernandez
d987a04d42
adding AVX2 protokernels
2016-03-22 18:03:34 +01:00
Carles Fernandez
bd6c028ec4
bug fix
...
writing to the input pointer was having bad consequences (random fails
in other kernels)
2016-03-22 18:00:56 +01:00
Carles Fernandez
daa794d251
sync
2016-03-21 17:55:33 +01:00
Carles Fernandez
3777943dbd
sinc
2016-03-21 17:38:35 +01:00
Javier Arribas
0e47d97dec
Adding a missing include in gnsssdr volk kernel library (volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn)
2016-03-21 16:07:16 +01:00
Carles Fernandez
b888573c3d
Replacing the fxp_nco by the sincos kernel
2016-03-21 01:49:59 +01:00
Carles Fernandez
703de227a2
fix typo
2016-03-21 00:44:09 +01:00
Carles Fernandez
a908804b44
fix phase computation in the tail items of the NEON protokernel
2016-03-21 00:40:36 +01:00
Carles Fernandez
1983562496
The sincos kernel now accepts an initial phase
2016-03-21 00:38:08 +01:00
Carles Fernandez
c60dff01c5
update
2016-03-20 15:02:56 +01:00
Carles Fernandez
485a405bab
Adding new neon kernel and solving x86 issues
...
Managing memory with volk_gnsssdr instead of malloc and free. This seems
to solve runtime problems (segmentation faults) in i386 (32 bit)
architectures.
2016-03-20 13:11:53 +01:00
Carles Fernandez
883cf629d1
Adding new NEON protokernel
...
Try another strategy based on multiply-and-accumulate for the dot
product. In all SIMD protokernels, managing memory with
volk_gnsssdr_malloc and volk_gnsssdr_free instead of calloc and free
2016-03-20 12:23:45 +01:00
Carles Fernandez
9cb43ef84a
Adding missing library link
2016-03-20 02:46:15 +01:00