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

598 Commits

Author SHA1 Message Date
Carles Fernandez
48f65b067b Fix typos discovered with codespell 2018-03-25 13:43:12 +02:00
Carles Fernandez
07b25ebb06 Apply clang-format to the whole source tree 2018-03-04 02:04:27 +01:00
Carles Fernandez
5b2c0e628d Fix broken build by clang-format 2018-03-03 12:48:54 +01:00
Carles Fernandez
891478cf2c Apply automated code formatting to volk-gnsssdr
See http://gnss-sdr.org/coding-style/#use-tools-for-automated-code-formatting
2018-03-03 12:09:45 +01:00
Carles Fernandez
658e677fc3 Reorder includes: local headers first, then 3rd-party library headers, and finally standard headers 2018-02-26 03:15:53 +01:00
Carles Fernandez
77c4ea9b25 Clean includes 2018-02-24 00:53:55 +01:00
Carles Fernandez
1c4cfbcb66 Small fixes to make Coverity Scan happy 2018-02-10 23:34:40 +01:00
Carles Fernandez
2a811e96b7 Get rid of program_options and unit_test_framework boost libraries dependencies 2018-02-09 14:32:13 +01:00
Carles Fernandez
3be551d9ea Fortify volk-gnss-sdr (required by lintian) 2018-02-05 14:53:07 +01:00
Carles Fernandez
a6e6aef331 Fix / Add missing headers 2017-11-22 19:55:32 +01:00
Carles Fernandez
fe241c8b2d clean kernel 2017-11-16 20:54:04 +01:00
Carles Fernandez
eecfa6c582 Add AVX2 2017-11-16 19:51:15 +01:00
Carles Fernandez
6d216fa5a1 Add volk_gnsssdr_16ic_conjugate_16ic kernel 2017-11-16 19:45:15 +01:00
Carles Fernandez
27eece55da Add aligned kernel for AVX 2017-11-15 02:10:25 +01:00
Carles Fernandez
9c6d79e945 Fix building with Python 3.6 2017-11-15 01:23:05 +01:00
Carles Fernandez
ff2e7ecbb3 Fix building for CMake 3.6 and older
VERSION_GREATER_EQUAL was introduced in CMake 3.7
2017-11-04 20:14:13 +01:00
Carles Fernandez
a148fe4425 Fix CMake warnings about RPATH in macOS 2017-11-04 12:09:56 +01:00
Carles Fernandez
532d69ef47 Avoid double writing of the results 2017-11-04 12:01:24 +01:00
Carles Fernandez
f436cc8a5c Allow 'large' files in 32 bit builds (Lintian requirement) 2017-11-04 10:59:03 +01:00
Carles Fernandez
76e6adf3ad Include some files that were not getting installed 2017-10-13 11:35:12 +02:00
Carles Fernandez
0be23787d7 Use __VOLK_ASM and __VOLK_VOLATILE keywords 2017-10-13 11:32:00 +02:00
Carles Fernandez
c94a0dcd61 Added __VOLK_ASM and __VOLK_VOLATILE 2017-10-13 11:27:15 +02:00
Carles Fernandez
9b1ae85904 Fix identical code for different branches 2017-10-13 11:26:39 +02:00
Carles Fernandez
bda1f15594 Fix compilation problem with Xcode 9
The following error appeared when working with the latest macOS Xcode 9
SDK:

error: unknown type name 'mach_port_t' mach_port_t
__libcpp_thread_get_port();

Added:

#ifdef __APPLE__
#define _DARWIN_C_SOURCE
#endif

(solution found at https://github.com/arvidn/libtorrent/issues/2364 )
2017-10-13 11:18:19 +02:00
Cillian O'Driscoll
676c1506da Updated volk_gnsssdr_module for real codes
Added 16i and 32f resamplers and 32fc_32f and 16ic_16i rotator dot product to
enable use of real (rather than complex) local code replicas
2017-09-11 15:15:27 +01:00
Carles Fernandez
16a65a4e2b Fix building when compilers have a C++ standard below C++11 2017-08-23 19:04:11 +02:00
Damian Miralles
f4c221609c avx2: Adds support for AVX2 intrinsic to some kernels
Adds AVX2 intrinsic to several kernels ranging from multiply and add to
more detailed operations such as convert. New peotokernels also may take
advantage of the fused multiply add (fma)
2017-08-21 12:05:39 +02:00
Carles Fernandez
87baa04ef9 Remove unrequired headers 2017-08-15 14:21:05 +02:00
Carles Fernandez
99f5c69afc Catch all exceptions 2017-08-15 12:47:58 +02:00
Carles Fernandez
f8c7f1422b Remove unrequired includes 2017-08-15 03:21:43 +02:00
Carles Fernandez
209c554896 Remove unrequired and redundant includes 2017-08-15 03:16:41 +02:00
Carles Fernandez
8a2d21cc40 Use random library instead of rand() 2017-08-15 02:50:11 +02:00
Carles Fernandez
77eb09c2a7 Remove uneeded stdio.h 2017-08-13 10:01:10 +02:00
Carles Fernandez
59164c33bd Remove unneded cstdlib include 2017-08-12 15:52:23 +02:00
Carles Fernandez
18cd7daa09 Eliminate ctime library. Replaced by chrono or boost::date_time 2017-08-11 05:18:38 +02:00
Carles Fernandez
ed5191fc54 Clean headers. C++ libraries preferred over C libraries 2017-08-10 15:34:38 +02:00
Carles Fernandez
3dd3c2f444 Enable building with Clang in Linux 2017-08-07 11:08:05 +02:00
mmajoral
9a7bd7ffb4 adopted code style + did some code refactoring 2017-06-08 17:29:45 +02:00
Carles Fernandez
ac9ceb7c53 Fix random generator usage 2017-06-07 17:51:16 +02:00
Carles Fernandez
e1c0227bb9 Avoid the use of rand() 2017-06-07 16:37:47 +02:00
Carles Fernandez
caaaebc420 Sort input files 2017-06-06 12:32:24 +02:00
Carles Fernandez
4b00d74d1a Allow large files in 32 bit builds
try to fix
https://lintian.debian.org/tags/binary-file-built-without-LFS-support.html
2017-04-14 10:28:57 +02:00
Carles Fernandez
1ed4b506df Fix typo 2017-04-12 08:09:51 +02:00
Carles Fernandez
dc2ed129e2 Fix the list of requirements 2017-04-12 08:06:34 +02:00
Carles Fernandez
c994d04a5b Removed git from the list of requirements 2017-04-11 19:19:14 +02:00
Carles Fernandez
2da64e0685 More required manual changes 2017-04-11 19:15:38 +02:00
Carles Fernandez
f68c4d091f Manual changes of things broken by automatic conversion 2017-04-11 19:09:28 +02:00
Carles Fernandez
1191161aef Set a column width of 72 to make the file more readable in plain text
Done with http://www.formatit.com/
2017-04-11 18:59:12 +02:00
Carles Fernandez
d8fa3ff14f Replace 255 by 0xFF to apease the clang compiler
This avoids hundreds of warnings of type:

warning: implicit conversion from 'int' to 'char' changes value from 255
to -1 [-Wconstant-conversion]
mask_imag = _mm_set_epi8(255, 255, 0, 0, 255, 255, 0, 0, 255...
            ~~~~~~~~~~~~ ^~~
2017-04-01 11:34:46 +02:00
Carles Fernandez
4c5980d3a2 Avoind name clashing in modtool and other minor fixes
Version bump to 0.0.9git, fixed link in README
2017-03-25 17:53:02 +01:00
Carles Fernandez
24fb4d75f1 Bump version to 0.0.9 2017-02-05 20:47:57 +01:00
Carles Fernandez
0362476864 Merging gnss-sdr/rinex_fix branch
This commit rewrites the way pseudoranges are computed, now accounting for the receiver clock offset. It also adds more work in the QA code. If extra tests are activated by -DENABLE_UNIT_TESTING_EXTRA=ON or -DENABLE_SYSTEM_TESTING_EXTRA=ON, additional raw data files, a software-defined signal generator and GPSTk 2.9 are downloaded. Many fixes and code refactoring in tracking blocks.
2017-02-03 14:04:13 +01:00
Carles Fernandez
15ff1627bc Provide open access link for the ION GNSS+ 2016 paper 2017-02-03 13:54:31 +01:00
Carles Fernandez
663fb27da8 MSVC build updates
cmake: removed stdint, inttypes, stdbool compat headers
These files are present in MSVC 2013 and up.
Presumably we do not build with versions lower.
2017-01-20 20:54:53 +01:00
Carles Fernandez
cc6b89a3b8 python3: prefer set instead of list to match existing code 2017-01-20 01:36:17 +01:00
Carles Fernandez
d9a315fd52 Make it work with python3 2017-01-16 20:03:06 +01:00
Carles Fernandez
54fecdfa7f Add page numbers in reference 2017-01-10 18:40:40 +01:00
Carles Fernandez
c3fd3ab581 Fix build with static libs 2016-12-26 14:05:25 +01:00
Carles Fernandez
91f3d3085f Strip volk_gnsssdr-config-info if ENABLE_STRIP is ON 2016-12-26 13:31:12 +01:00
Carles Fernandez
302f673f7e Update list of dependencies 2016-12-26 11:44:08 +01:00
Carles Fernandez
98e2b58f02 Fix duplicate symbols 2016-12-26 01:16:24 +01:00
Carles Fernandez
6bac6ece4d Relax version of required python-mako 2016-12-25 20:40:29 +01:00
Carles Fernandez
9664b65720 Merge branch 'mako' of https://github.com/carlesfernandez/gnss-sdr into
no-cheetah

# Conflicts:
#	src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt
2016-12-25 19:10:02 +01:00
Carles Fernandez
ec51b6cca9 Switch from cheetah to mako and six 2016-12-25 15:44:45 +01:00
Carles Fernandez
85012b3d74 Improve handling of ORC library if present
This also allows to build a snap package
2016-10-23 11:12:13 +02:00
Carles Fernandez
67105d62b7 Avoid macro redefinitions 2016-10-16 13:01:53 +02:00
Carles Fernandez
def78e3098 Define prefetch macros even if volk ones were already included 2016-10-16 12:11:41 +02:00
Carles Fernandez
3cce2e8340 Make prefetching more portable
See https://github.com/gnuradio/volk/issues/97 and
https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#Other-Builtins
2016-10-16 11:31:42 +02:00
Carles Fernandez
a30bf16abf Some minor fixes for packaging
See https://github.com/gnuradio/volk/pull/100
2016-10-16 08:13:18 +02:00
Carles Fernandez
2b5ac76f8a Add NEON protokernel to volk_gnsssdr_32f_index_max_32u kernel 2016-09-22 20:05:48 +02:00
Carles Fernandez
8ba309d92d Add AVX and unaligned protokernels 2016-09-20 00:02:03 +02:00
Carles Fernandez
7e0e99dc4b Add kernel volk_gnsssdr_32f_index_max_32u
This is a copy of VOLK's volk_32f_index_max32u. It allows acquisition
with rata rates higher than 16 Msps when working with 4ms code periods,
while not requiring a very recent version of VOLK
2016-09-19 01:32:30 +02:00
Carles Fernandez
fd31559b68 Fix header guard 2016-08-19 20:25:13 +02:00
Carles Fernandez
24e62c4e4e Make use of volk_gnsssdr_malloc, volk_gnsssdr_free
instead of volk_malloc, volk_free (which are missing from the volk
version distributed by ubuntu 14.04). Fix the include guard in
volk_gnsssdr_malloc.h 
Thanks to @hoernchen
2016-08-18 14:17:02 +02:00
Carles Fernandez
43862991e9 Fix error in documentation 2016-08-13 12:30:28 +02:00
Carles Fernandez
7630688957 Fix profile update reading end of lines 2016-08-12 21:31:04 +02:00
Carles Fernandez
6a46e05350 Fix VOLK_GNSSSDR figure 2016-08-06 10:57:40 +02:00
Carles Fernandez
05632aa180 Make it work in Ubuntu 14.04 LTS 2016-07-15 04:48:11 +02:00
Carles Fernandez
0d448e8857 Port templates from python-cheetah to python-mako
python-mako will be included as a dependency in GNU Radio 3.8 (see
https://github.com/gnuradio/gnuradio/pull/303). Changes following
https://github.com/gnuradio/volk/pull/94
2016-07-15 04:34:49 +02:00
Carles Fernandez
ed0654492d Remove repeated sentence 2016-07-06 21:53:42 +02:00
Carles Fernandez
e4b0070e9a Add volk_gnsssdr-config-info to the list of generated executables 2016-07-06 20:25:39 +02:00
Carles Fernandez
f3df860005 Starting 0.0.8git 2016-07-04 17:39:33 +02:00
Carles Fernandez
09a7eab397 Bump version number 2016-07-04 17:05:53 +02:00
Carles Fernandez
2374cb152c Add CMake hint
See
78c8bc4a0e
2016-07-02 20:10:18 +02:00
Carles Fernandez
e6b62b8399 add --alignment and --malloc options to volk_gnsssdr-config-info
See
06ef4f42c7
2016-07-02 19:54:05 +02:00
Carles Fernandez
cf53f86aea use GLIBCXX11 ABI
This should enable builds with GCC4 that link against libraries
like boost which were built with GCC5. See
e5fec2aaac
2016-07-02 19:41:15 +02:00
Carles Fernandez
512e2992e9 Document ENABLE_PROFILING option 2016-07-02 19:24:48 +02:00
Carles Fernandez
8cdcbb17d1 Fix typo 2016-07-02 19:14:05 +02:00
Carles Fernandez
d92b3598d7 Add option to launch volk_gnssssdr_profile after build 2016-07-02 18:54:39 +02:00
Carles Fernandez
0ddea14c57 Add automatic profiling after make 2016-07-02 13:34:00 +02:00
Carles Fernandez
a0bc6d7472 Don't override the BOOST_ROOT environment variable 2016-07-02 12:02:13 +02:00
Carles Fernandez
f180139968 Fix the CMake-based check for posix_memalign 2016-07-02 12:00:30 +02:00
Carles Fernandez
2f339d2ee7 fix error 2016-05-31 21:08:53 +02:00
Carles Fernandez
2abb774f6e fix error 2016-05-31 21:06:28 +02:00
Carles Fernandez
ef6c5dd7bb fix errors 2016-05-31 21:03:33 +02:00
Carles Fernandez
ce04d6889c fix error 2016-05-31 20:58:59 +02:00
Carles Fernandez
c8f71204fc Make kernels compatible with c98 standard
so the library can be built by more compilers
2016-05-31 20:56:19 +02:00
Carles Fernandez
5a73b4e047 Improve package reproducibility
Packages using CMake often use file(GLOB ...) to retrieve a list of
source files. As this is based on readdir(), the resulting file list
is unsorted. A common use case is to pass this list directly to
add_executable or add_library. But as the order is unpredictable, the
binaries are not reproducible (because the order in which the objects
are linked will vary).

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824263
2016-05-23 19:51:59 +02:00
Carles Fernandez
896d6bc045 Tag library version with git 2016-05-21 01:09:17 +02:00
Carles Fernandez
16c4bb677e Fix building when using PyBOMBS 2016-05-21 01:06:46 +02:00
Carles Fernandez
daee8de0e0 Fix bug in AVX2 puppet 2016-05-21 00:42:21 +02:00
Carles Fernandez
19f46c2cd9 Bump version number to v0.0.7
preparing v0.0.7 release and minor code cleaning
2016-05-13 19:17:56 +02:00
Carles Fernandez
d5d80395ba Update volk_gnsssdr_profile manpage 2016-05-11 19:20:01 +02:00
Carles Fernandez
dcc9b6ed8c Remove compiler flags from MSVC builds
See https://github.com/gnuradio/volk/pull/78
2016-05-08 08:34:35 +02:00
Carles Fernandez
84911043b4 Documenting kernels constraint 2016-05-06 08:25:04 +02:00
Carles Fernandez
fd81154b95 Smaller figure 2016-05-05 20:37:32 +02:00
Carles Fernandez
f3f2e9458b Adding caption and Doxygen path 2016-05-05 20:36:22 +02:00
Carles Fernandez
0881f19a89 Updating list of kernels 2016-05-05 19:40:34 +02:00
Carles Fernandez
1a1f0f9abe Add reference to ION GNSS+ 2016 paper 2016-05-05 19:19:53 +02:00
Carles Fernandez
1b607751ef Add graphic example of VOLK_GNSSSDR usage 2016-05-05 18:59:02 +02:00
Carles Fernandez
99d6ce9ba7 Remove line that was causing random fails in parallel compilations
in Mac OS X
2016-05-05 18:02:03 +02:00
Carles Fernandez
c6eec90849 adding zlib license text 2016-04-29 08:03:20 +02:00
Carles Fernandez
25e5c744d7 More consistent naming
now volk_gnsssdr_16ic_xn_resampler_16ic implements the same resampler
than volk_gnsssdr_32fc_xn_resampler_32fc. The old one, which is faster
in SSE implementations at the expense of some constraints on the inputs
(to be documented), is now named
volk_gnsssdr_16ic_xn_resampler_fast_16ic
2016-04-28 20:12:27 +02:00
Carles Fernandez
4c4f6c1def Commenting out messages on standard output
which interferes with programs trying to use it for legitimate purposes.
2016-04-27 21:00:59 +02:00
Carles Fernandez
e102de53fc fixing lintian warning spelling-error-in-binary 2016-04-26 20:06:49 +02:00
Carles Fernandez
36ab6a0e67 merging text fixes 2016-04-25 16:48:01 +02:00
Carles Fernandez
b2cc18bfa5 Adding AVX protokernel 2016-04-23 16:31:41 +02:00
Carles Fernandez
c6359c3313 fix in documentation 2016-04-23 16:30:36 +02:00
Carles Fernandez
2b7175083f Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next 2016-04-13 18:26:19 +02:00
Carles Fernandez
414eaddb42 Fixing resamplers
Under some circumstances (i.e. negative Doppler) it could cause a
segmentation fault. It is now fixed for all protokernels.
2016-04-12 01:05:47 +02:00
Carles Fernandez
9cb60ec948 fixing resampler 2016-04-07 12:42:24 +02:00
Carles Fernandez
1aa9a9fd1e Fixing resampler 2016-04-07 12:03:05 +02:00
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
817139ba50 ask for aligned memory in a more portable way 2016-03-31 19:39:37 +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
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
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
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
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
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
fa292961c1 Fix neon protokernel 2016-03-20 01:50:04 +01:00
Carles Fernandez
9c8fc9436e Adding and integrating sincos kernel 2016-03-20 01:45:01 +01:00
Carles Fernandez
2be266cc71 adding sincos kernel 2016-03-19 21:41:19 +01:00
Carles Fernandez
c9ff9759cc Fixing some numerical problems 2016-03-18 19:46:18 +01:00
Carles Fernandez
2cf1ea85af fix app name in help message 2016-03-13 12:07:40 +01:00
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
81f4eadb5b Deleting old, unused file 2016-03-09 19:35:56 +01:00
Carles Fernandez
243d66218b Change @VERSION by @LIBVER@ 2016-03-09 18:41:02 +01:00
Carles Fernandez
250375dbd3 Fix incorrect include when building with MSVC
Keeping track of VOLK's improvements, see
65539f2691
2016-03-09 18:23:19 +01:00
Carles Fernandez
9a92672905 Fix some CMake complaints
Keeping track of VOLK's improvements, see
434c994f21
2016-03-09 18:19:05 +01:00
Carles Fernandez
cf44382afe tmpl: cast windows regs to int* calling cpuidex
Keeping track of VOLK's improvements. See
b1b69e1ae3
2016-03-09 18:15:28 +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
b24db5d77e Fix compilation with CMake 3.5
The CMake variables CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR should never be set. Now CMake 3.5 prevents the user from doing that. They have been replaced by their counterparts PROJECT_BINARY_DIR and PROJECT_SOURCE_DIR
2016-02-25 15:26:32 +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
Carles Fernandez
7d0e3126aa Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next
# 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-02-09 19:43:07 +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
794d141e84 Improved processor/feature detection when building with MSVC 2016-02-07 10:56:21 +01:00
Carles Fernandez
844c33d699 improving documentation 2016-01-31 23:21:28 +01:00
Carles Fernandez
bb54222883 improving documentation 2016-01-31 23:13:10 +01:00
Carles Fernandez
213486c2eb improving documentation 2016-01-31 19:36:48 +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
Carles Fernandez
2014149e17 Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next
# 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-28 18:10:21 +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
642018bada tagging version 2016-01-22 10:14:43 +01:00
Carles Fernandez
8159c1ec22 Adding README and .gitignore 2016-01-22 02:02:23 +01:00
Carles Fernandez
61e36aa2a0 copy GPLv3 license from gnss-sdr 2016-01-22 00:54:52 +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
577f7f1940 fixes CMake warning under Linux 2016-01-21 00:42:17 +01:00
Carles Fernandez
f6cb32bc9f cleaning 2016-01-21 00:25:53 +01:00
Carles Fernandez
88752588b6 remove duplicated copyright text 2016-01-21 00:12:14 +01:00
Carles Fernandez
53179468bd Removing unused constant 2016-01-20 23:42:25 +01:00
Carles Fernandez
fe4cce043d Remove unnecessary code, making it closer to the original VOLK
GNSS-SDR-spefific additions are clearly marked, so it will be easier to
follow their changes and to add other specific features
2016-01-20 20:14:42 +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
Carles Fernandez
dab4da064c Updating documentation 2016-01-16 14:11:12 +01:00
Carles Fernandez
3eab3b58c6 Removing garbage 2016-01-15 18:25:05 +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
f88f222ef6 fixes cmake warning in MacOSX 2016-01-13 15:34:50 +01:00
Carles Fernandez
ece7bc2c65 Integrating a new volk kernel 2016-01-13 11:42:01 +01:00
Carles Fernandez
f659005e63 Remove duplicated line 2016-01-13 11:19:07 +01:00
Carles Fernandez
bbdf52dbed fixes for MacOS 2016-01-13 11:04:32 +01:00
Carles Fernandez
97ed762964 some fixes 2016-01-13 10:22:06 +01:00
Carles Fernandez
62f23a7a2b Fix warning (unused variable) 2016-01-12 23:22:50 +01:00
Carles Fernandez
551735e034 Fixes warning about posix_memalign 2016-01-12 23:19:09 +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
49d974db77 Avoids redefinition of constants 2015-09-25 23:51:42 +02:00
Carles Fernandez
b665444550 Fix linking against
18ed0f15bc
2015-09-18 17:40:47 +02:00
Carles Fernandez
e0669ba93d Fixes warning about posix_memalign 2015-09-05 13:05:53 +02:00
Carles Fernandez
6febea48fa bumping version number 2015-09-02 00:38:46 +02:00
Carles Fernandez
a8bc6e7cc7 fixing coverity scan parse warnings 2015-07-12 14:14:11 +02:00
Carles Fernandez
4c0243580b fixing incorrect expression 2015-06-01 19:27:58 +02:00
Carles Fernandez
922b8f641e fixing incorrect expression 2015-06-01 18:52:04 +02:00
Carles Fernandez
76843781f7 fixing coverity issues 2015-05-14 11:20:02 +02:00
Carles Fernandez
9b4435ac67 Pointer safety, code cleaning 2015-04-27 00:36:45 +02:00
Anthony Arnold
06d58bcce1 Cross-compilation fixes 2015-03-21 00:23:16 +10:00
Carles Fernandez
3f5c8965c6 Fixes building in some environments 2015-03-17 08:25:28 +01:00
Carles Fernandez
4a1ca062ca Removing Python compiled files 2015-02-14 11:53:55 +01:00
Carles Fernandez
6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez
d4f4ef05ae Removing non-defined Pp macro 2014-12-06 10:23:14 +01:00
Carles Fernandez
1fadab3d08 Code cleaning 2014-11-22 10:19:06 +01:00
Carles Fernandez
cdf14df239 Improving manpages and package description 2014-11-15 20:40:58 +01:00
Carles Fernandez
6e922693c1 fixing manpage 2014-11-14 22:05:46 +01:00
Carles Fernandez
e5a9843676 adding manpage 2014-11-14 19:26:12 +01:00
Carles Fernandez
3c8e048612 Create a stripped volk_gnsssdr_profile binary for debian packaging 2014-11-14 01:40:43 +01:00
Carles Fernandez
6842f49f23 minor fix 2014-11-12 23:08:06 +01:00
Carles Fernandez
14fab8b33e providing an uninstall target for volk_gnsssdr when installed as
standalone library
2014-11-09 21:21:46 +01:00
Carles Fernandez
e4bc947a80 fix warning 2014-11-09 21:03:29 +01:00
Carles Fernandez
98212ea1fe Remove warning 2014-11-09 20:38:35 +01:00
Carles Fernandez
059c23595c some linking fixes 2014-11-09 15:31:35 +01:00
Carles Fernandez
51427f046a Code cleaning 2014-11-09 13:17:18 +01:00
Carles Fernandez
ad75893524 Some fixes to volk_gnssssdr integration. Adding copyright message. 2014-11-07 20:51:01 +01:00
Carles Fernandez
db7304c46f minor fixes 2014-11-07 19:05:23 +01:00
Carles Fernandez
3680e92a80 minor fixes 2014-11-07 19:04:59 +01:00
Carles Fernandez
5c996d14a4 adding -std=c11 flag 2014-11-07 18:50:40 +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
766cbf8d45 Allow compiling in linux, GCC... 2014-11-01 03:14:34 +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