1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-26 06:53:14 +00:00
Commit Graph

191 Commits

Author SHA1 Message Date
Carles Fernandez
87dc56e147 Using vector multiply-accumulate in NEON kernels
Aprox 10% of improvememnt
2016-03-12 21:47:35 +01:00
Carles Fernandez
f7c1c9ce43 Using multiply-accumulate in NEON 2016-03-12 19:30:00 +01:00
Carles Fernandez
c236c3ab67 Exploiting multiply-accumulate in NEON 2016-03-12 13:32:10 +01:00
Carles Fernandez
a93a01e9b1 prefetching data 2016-03-12 12:22:26 +01:00
Carles Fernandez
268f298fad More elegant workaround for 32-bit architecutres 2016-03-12 09:28:25 +01:00
Carles Fernandez
d9c333c85f Improving documentation
Adding Doxygen documentation to VOLK_GNSSSDR kernels
2016-03-10 00:56:23 +01:00
Carles Fernandez
f6e713929a Adding documentation
Copied from VOLK, with some minor changes
2016-03-09 21:01:22 +01:00
Carles Fernandez
1e9a9d1a55 reverting wrong commit 2016-03-09 15:56:07 +01:00
Carles Fernandez
59011a7772 prefetching data in the cache 2016-03-07 19:57:22 +01:00
Carles Fernandez
aac79eb78a prefetching data in the cache 2016-03-07 19:25:12 +01:00
Carles Fernandez
a3d7683c85 Fix segmentation fault of volk_gnsssdr_profile in 32-bit architectures
Temporal deactivation of the unaligned protokernel of the multiple
correlator. It does not affect receiver's performance. The commit
includes other minor fixes.
2016-03-07 18:35:40 +01:00
Carles Fernandez
9ae59c2009 Adding missing include 2016-02-22 10:07:08 +01:00
Carles Fernandez
11c84ed8ad Fixing kernels 2016-02-19 11:03:24 +01:00
Carles Fernandez
b2a654c646 fix typos 2016-02-14 15:06:45 +01:00
Carles Fernandez
1930f02c4f saving one register in neon implementation 2016-02-14 15:02:17 +01:00
Carles Fernandez
6156f4b3de some small fixes 2016-02-14 14:52:26 +01:00
Carles Fernandez
e8dfd860fb prefetching data in neon implementation
5% of average improvement
2016-02-13 14:26:40 +01:00
Carles Fernandez
a4e2ceb9c4 Adding neon implementation
Input data have been re-scaled to avoid saturation problems
2016-02-13 14:16:40 +01:00
Javier Arribas
d4d73e24c1 Fixing some includes in volk gnsssdr kernels 2016-02-12 12:36:08 +01:00
Carles Fernandez
e400885800 Fixing puppets
In kernels which output is shorter than num_points, memory is firtly
filled bu zeros and then the kernel is executed.
2016-02-11 21:15:46 +01:00
Javier Arribas
7f9dccd386 generic implementation simplification in volk gnsssdr kernel module 2016-02-11 17:57:03 +01:00
Javier Arribas
9bf4710679 Added a new volk_gnsssdr kernel that integrates both the phase rotator
and n dot_product kernels. Enabled in cpu_multicorrelator_16sc
2016-02-09 11:49:18 +01:00
Carles Fernandez
bb54222883 improving documentation 2016-01-31 23:13:10 +01:00
Carles Fernandez
833fe313c7 Improving documentation 2016-01-31 18:13:03 +01:00
Carles Fernandez
f4875012df prefetch data in the cache in neon implementation
8% of average improvement
2016-01-31 10:41:51 +01:00
Carles Fernandez
8a6c4d767f ask for aligned memory in neon implementation
1% improvement
2016-01-31 10:39:24 +01:00
Carles Fernandez
4fcffa2bdd some improvements
phase computation was correclty done in SSE implementation but not in
NEON. Ask for aligned memory in NEON implementation. Some code cleaning
2016-01-31 09:49:50 +01:00
Carles Fernandez
db321d1c2e Fixing missing phase increment in SIMD implementations
After computing the rotation with SIMD instructions, we were not
incrementing the phase step, so the first iteration in the 'c region'
had the same phase than the last sample computed with SIMD instructions.
This commit fix the bux in SSE3 and NEON implementations
2016-01-29 19:42:30 +01:00
Carles Fernandez
8c07815852 fix missing time step in neon implementation 2016-01-29 19:30:31 +01:00
Javier Arribas
a26255270e Optimized SSE3 16ic rotator volk_gnsssdr module 2016-01-29 18:43:44 +01:00
Carles Fernandez
ccbdcf8788 adding neon implementation
about x10 acceleration
2016-01-28 23:36:19 +01:00
Carles Fernandez
d69e8e34f6 adding neon implementation 2016-01-28 19:45:31 +01:00
Javier Arribas
d2898c40ce Added SSE2 implementation for volk_gnss-sdr 16ic phase rotator. Bug fix
in volk_gnss-sdr rotator puppet unit test.
2016-01-28 16:42:19 +01:00
Carles Fernandez
4e12f6ee5a adding definition of new volk_gnsssdr kernel: 16-bit complex rotator
generic implementation only
2016-01-27 18:34:20 +01:00
Carles Fernandez
1d9fc3ceae adding neon implementation 2016-01-25 20:53:02 +01:00
Carles Fernandez
ba8f0e86b2 adding neon implementation 2016-01-25 18:13:54 +01:00
Carles Fernandez
3306c21cf8 adding neon implementation 2016-01-24 20:10:12 +01:00
Carles Fernandez
da67f85f6c remove unused variable in neon implementation 2016-01-24 14:38:34 +01:00
Carles Fernandez
b18fc5835c fix implementation 2016-01-24 14:37:19 +01:00
Carles Fernandez
377acfc322 add neon implementation 2016-01-24 14:30:33 +01:00
Carles Fernandez
2d21706041 add neon implementation 2016-01-24 13:02:02 +01:00
Carles Fernandez
812a4df93f add neon implementation 2016-01-24 12:01:40 +01:00
Carles Fernandez
cd2f0b86f6 add neon implementation 2016-01-23 21:22:30 +01:00
Carles Fernandez
c5252da7fd adding neon implementation 2016-01-23 21:05:28 +01:00
Carles Fernandez
a49cf3a98f missing include 2016-01-22 16:52:43 +01:00
Carles Fernandez
7bf4bfd7dc adding neon implementation 2016-01-22 12:29:08 +01:00
Carles Fernandez
4553b5e643 cleaning includes 2016-01-21 23:30:24 +01:00
Carles Fernandez
d139e6d93a Using limits.h instead of hardcoded values 2016-01-21 12:30:46 +01:00
Javier Arribas
62a17dc3d7 Replaced literal limits with values stored in limits.h for volk gnss-sdr
kernel
2016-01-21 11:30:09 +01:00
Javier Arribas
02a6f41794 Fix seg fault on some architectures in gnss-sdr volk 32fc convert to
16ic module
2016-01-21 11:21:25 +01:00
Carles Fernandez
3ce1bba194 Fix execution of puppets when compiled with clang 2016-01-21 01:40:29 +01:00
Carles Fernandez
f6cb32bc9f cleaning 2016-01-21 00:25:53 +01:00
Carles Fernandez
497c856437 add unaligned version 2016-01-20 18:38:33 +01:00
Carles Fernandez
c7193e394e Merge branch 'new_volk_module' of git+ssh://github.com/gnss-sdr/gnss-sdr
into new_volk_module

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-01-20 18:18:32 +01:00
Carles Fernandez
9bf8b174ba Sout out the aligned/unaligned thing in old kernels 2016-01-20 18:16:09 +01:00
Javier Arribas
07feeeee3a New volk_gnss_sdr kernel: Fast conversion between 16 bit int complex to
32 bits floating point complex
2016-01-20 17:45:47 +01:00
Javier Arribas
e92f409897 Added SSE2 unaligned versions of volk_gnss-sdr dot product and resampler
kernels.
2016-01-20 15:53:09 +01:00
Carles Fernandez
7a5574f598 Fixing aligned/unaligned tag 2016-01-20 11:21:58 +01:00
Carles Fernandez
0215748638 Adding a puppet for the multiple correlator 2016-01-19 12:42:55 +01:00
Carles Fernandez
bbe0f37910 fixing result reading in puppet 2016-01-19 11:53:46 +01:00
Carles Fernandez
bf0a37960f adding a puppet for the multiple resampler 2016-01-19 10:45:56 +01:00
Carles Fernandez
090f6524db Merge branch 'new_volk_module' of git+ssh://github.com/gnss-sdr/gnss-sdr
into new_volk_module

# Conflicts:
#	src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic.h
2016-01-19 00:01:26 +01:00
Carles Fernandez
1d18ff6c16 avoiding redefinition of functions 2016-01-18 23:50:34 +01:00
Carles Fernandez
57c05e3cf0 adding a puppet for the 16-bit complex resampler 2016-01-18 23:44:10 +01:00
Carles Fernandez
e53e85f41b fixing a wrong fix :-P 2016-01-18 20:59:51 +01:00
Javier Arribas
4ba75a3fbe Still some bugs to fix in 16sc dot product. All fixed now. 2016-01-18 10:43:09 +01:00
Carles Fernandez
fd2af02aec fix sse implementation 2016-01-16 23:15:19 +01:00
Carles Fernandez
a2429a851c fix sse implementation 2016-01-16 22:52:10 +01:00
Carles Fernandez
cd80beb16c fix sse implementation 2016-01-16 22:49:34 +01:00
Carles Fernandez
3d3a758ef2 fix sse implementation 2016-01-16 22:48:29 +01:00
Carles Fernandez
46e3ce5ec2 fix sse implementations 2016-01-16 22:39:15 +01:00
Carles Fernandez
38d4d8aa9a fix sse implementations 2016-01-16 20:57:55 +01:00
Carles Fernandez
a817d49e89 fix that makes pass the test 2016-01-16 14:29:15 +01:00
Javier Arribas
fb42cda826 Range reduced to 4 bits in the volk short int test input to avoid
saturation of vector dot products.
Reduced test vector sizes to 8111 to avoid saturation.
2016-01-14 18:56:22 +01:00
Carles Fernandez
5fdbb472f6 required by memset 2016-01-13 20:09:27 +01:00
Carles Fernandez
e57d02321d Merge branch 'new_volk_module' of git+ssh://github.com/gnss-sdr/gnss-sdr
into new_volk_module

# Conflicts:
#	src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h
#	src/algorithms/tracking/libs/volk_gnsssdr_16ic_xn_resampler_16ic_xn.h
2016-01-13 20:04:18 +01:00
Carles Fernandez
ae2b594c3b Moving two kernels to volk_gnsssdr. Still no testing 2016-01-13 19:38:07 +01:00
Javier Arribas
5d0186eee1 Renamed saturated arithmetic library and some code cleaning and
refresh documentation in new gnsssdr volk modules
2016-01-13 15:37:58 +01:00
Carles Fernandez
ece7bc2c65 Integrating a new volk kernel 2016-01-13 11:42:01 +01:00
Carles Fernandez
62f23a7a2b Fix warning (unused variable) 2016-01-12 23:22:50 +01:00
Carles Fernandez
48e9ada2e1 fix warning 2016-01-12 23:12:04 +01:00
Carles Fernandez
eb1dbfe37b introducing new kernels 2016-01-12 22:48:59 +01:00
Carles Fernandez
1bf645c98c adding a missing kernel 2016-01-12 21:03:51 +01:00
Carles Fernandez
24909510e7 Updating volk_gnsssdr to the new volk scheme 2016-01-12 20:15:16 +01:00
Carles Fernandez
17517625be fixing includes 2015-12-01 13:30:03 +01:00
Carles Fernandez
a8bc6e7cc7 fixing coverity scan parse warnings 2015-07-12 14:14:11 +02:00
Carles Fernandez
6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez
51427f046a Code cleaning 2014-11-09 13:17:18 +01:00
Carles Fernandez
1b49c432b2 AAdding copyright and some fixes 2014-11-07 18:02:52 +01:00
andres
eb9b00f678 Fix 2014-11-05 03:28:49 +01:00
andres
3e45e4cc56 Various changes:
Updated top CMakeFile.txt
Moved volk module to a better path.
Trying to add support for GCC.
Fixes.
2014-10-28 01:00:04 +01:00