forked from JuliaGNSS/Tracking.jl
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reflect changes in JuliaGNSS/Tracking.jl
#15
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Allow multiple signal types - including integers * Signal may have a different type than replicas * Increase performance and allow multiple input types Co-authored-by: Soeren Schoenbrod <soeren.schoenbrod@rwth-aachen.de>
* Use `GNSSSignals.jl` for code calculation * Increase minimum Julia version to 1.6 Co-authored-by: Soeren Schoenbrod <soeren.schoenbrod@rwth-aachen.de>
* Performance optimization * Memory reduction * Improve tests * Version up
* Move PRN to TrackingState Co-authored-by: Soeren Schoenbrod <soeren.schoenbrod@rwth-aachen.de>
* initial commit in the gpu branch * GPU function blueprints for downcovert & car. rep. * Gpu carrier generation draft * downconvert loop blueprint * Implement carrier replica gpu function * Implement code replica and corr on GPU * Delete unnecessary comments * Reflect the development in readme * Adjust Gain Controlled Signal for a GPU Signal * Fix constructor, make use of vector operations * Remove .vscode garbage, adjust global gitignore * Change Float16 occurances to Float32 due to perf. * Change GPU carrier_replica to StructArray, adjust the calculation method * Complete the GPU downconvert function * Add CUDA package dependency * GPU correlation anc code replica blueprint * Fix syntax * Correlation using dot product on GPU * Fix GPU correlate parameter types * Add new dependencies * Fix algorithm, use @views macro for performance * Optimize carrier generation by taking fewer steps * Union types for the carrier and code * Gain control for the gpu signal implemented * GPU code replica, GNSSSignals 28d32c4324e40a0b93391b06820deea98112a02d * Add functions from ozmaden/GNSSBenchmarks.jl * Reflect changes under GNSSSignals#feature/gpu * Functioning GPU TrackingState * account for CPU TrackingState * Reflect GNSSSignals changes for tracking_loop * Update README for the GPSL1 struct change * Enforce AbstractArray * AGC for CUDA signals * functioning GPU tracking loop * rectify start_sample * Fix resize problems * Stylistic change, variable names small letters * Replace mutiple function calls with a variable * Remove conditional use_gpu flag, as it's taken care of in GNSSSignals.jl * cleanup residual errors * Fix tracking_loop trunc inexact error * Fix CPU tracking loop * Implement GPU StructArray gen_carrier_replica! * Implement GPU StructArray correlate * Implement GPU StructArray downconvert! * Allow for both CuArray and StructArray of CuArrays tracking loop * Performance improvement for the CuArray correlator, implement dot product via Hadamard product for StructArray of CuArrays * Performance improvements for the StructArray of CuArrays correlate, implement Hadamard correlate * Performance improvement for the CuArray correlate * Create match_size_to_signal! function that checks if resizing is needed beforehand * Delete extra match_size_to_signal! definitions, fix dot products, implement matrix correlation * Remove Loop Vectorization compat * Reflect changes in JuliaGNSS:master * GPU TrackingState, DownconvertedSignalGPU, CarrierReplicaGPU * GPU tracking state initializes iff signal is known * GPU Tracking State doesn't need code, insert the main kernel * Fix phase error in kernel; kernel works for start:end signal; TrackingState code type Nothing for GPU * Checks for type equality of system.codes and signal, signal structarray assertion * GPU TrackingState testset * GPU tracking results testset * GPU tracking_loop testset, add CUDA to test name * GPU bit detector testset * GPU GPSL5 testset * GPU GPSL1 testset * GPU GalileoE1B testset * GPU discriminators testset * GPU CN0 estimation testset * GPU BOC testset * GPU bit buffer testset * Fix phase calculation (multiples of 2pi) * Add CUDA tests to runtests includes * Allow scalar indexing for cn0_estimation test * Allowscalar deprecation * Solve scalar indexing in accumaltor results * Fix GPU multi antenna tracking state * Seperate functions for matrix and vector cases * Allowscalar for tracking loop tests * Remove CUDA broadcasting functions, clean comments * Update readme with a `CUDA.jl` example * Merge ozmaden/Tracking#14 * Adjust GPU functions according to the change #31 * Make CUDA test names consistent * Add multiple antenna GPU test * Fix examples according to #31 * Check for signal and codes type consistency * Add Julia BuildKite CI for CUDA tests * Remove leftovers * Remove unnecessary structs * Remove the unnecessary carrier vector * Remove unused functions and duplicates Co-authored-by: Soeren Schoenbrod <soeren.schoenbrod@rwth-aachen.de>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.