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
831cc75153
Remove tabs from the source code
2016-05-02 23:46:30 +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
36660e05ca
Removing unused class (nco_lib, replaced by volk kernels)
2016-03-30 22:37:43 +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