mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-07 02:33:03 +00:00
Adding cuda ultra-fast correlator library. Not used yet, but optionally
compiled. All CMAKEs ready!
This commit is contained in:
@@ -16,6 +16,29 @@
|
||||
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
if(ENABLE_CUDA)
|
||||
FIND_PACKAGE(CUDA REQUIRED)
|
||||
|
||||
# Append current NVCC flags by something, eg comput capability
|
||||
# set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} --gpu-architecture sm_30 --default-stream-per-thread)
|
||||
|
||||
list(APPEND CUDA_NVCC_FLAGS "-gencode arch=compute_30,code=sm_30; -std=c++11;-O3; -use_fast_math")
|
||||
SET(CUDA_PROPAGATE_HOST_FLAGS OFF)
|
||||
|
||||
CUDA_INCLUDE_DIRECTORIES(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cudahelpers
|
||||
)
|
||||
|
||||
SET(LIB_TYPE STATIC) #set the lib type
|
||||
CUDA_ADD_LIBRARY(CUDA_CORRELATOR_LIB ${LIB_TYPE} cuda_multicorrelator.h cuda_multicorrelator.cu)
|
||||
|
||||
set(OPT_LIBRARIES ${OPT_LIBRARIES} ${CUDA_CORRELATOR_LIB})
|
||||
|
||||
endif(ENABLE_CUDA)
|
||||
|
||||
|
||||
set(TRACKING_LIB_SOURCES
|
||||
correlator.cc
|
||||
lock_detectors.cc
|
||||
@@ -24,7 +47,7 @@ set(TRACKING_LIB_SOURCES
|
||||
tracking_2nd_DLL_filter.cc
|
||||
tracking_2nd_PLL_filter.cc
|
||||
tracking_discriminators.cc
|
||||
tracking_FLL_PLL_filter.cc
|
||||
tracking_FLL_PLL_filter.cc
|
||||
)
|
||||
|
||||
include_directories(
|
||||
@@ -43,7 +66,8 @@ if (SSE3_AVAILABLE)
|
||||
add_definitions( -DHAVE_SSE3=1 )
|
||||
endif(SSE3_AVAILABLE)
|
||||
|
||||
|
||||
file(GLOB TRACKING_LIB_HEADERS "*.h")
|
||||
add_library(tracking_lib ${TRACKING_LIB_SOURCES} ${TRACKING_LIB_HEADERS})
|
||||
source_group(Headers FILES ${TRACKING_LIB_HEADERS})
|
||||
target_link_libraries(tracking_lib ${VOLK_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES})
|
||||
target_link_libraries(tracking_lib ${VOLK_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${OPT_LIBRARIES})
|
||||
Reference in New Issue
Block a user