From b12fde65d81b2a43ec04fdf5b3952a2efbca50d4 Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Thu, 28 May 2020 17:51:13 -0700 Subject: [PATCH] Add PyCuAmpcor support --- CMakeLists.txt | 3 +- contrib/CMakeLists.txt | 2 +- contrib/PyCuAmpcor/CMakeLists.txt | 47 +++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 contrib/PyCuAmpcor/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 3292dc4..1b857f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,8 @@ endif() list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/.cmake) -find_package(Python 3.5 REQUIRED COMPONENTS Interpreter Development) +find_package(Python 3.5 REQUIRED COMPONENTS Interpreter Development + OPTIONAL_COMPONENTS NumPy) find_package(FFTW REQUIRED) find_package(Motif) find_package(OpenMP REQUIRED COMPONENTS C CXX Fortran) diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index 4b8ba1e..e1c8031 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -5,7 +5,7 @@ add_subdirectory(frameUtils) #add_subdirectory(unwUtils) add_subdirectory(downsample_unwrapper) -#add_subdirectory(PyCuAmpcor) +add_subdirectory(PyCuAmpcor) add_subdirectory(splitSpectrum) add_subdirectory(alos2filter) add_subdirectory(alos2proc) diff --git a/contrib/PyCuAmpcor/CMakeLists.txt b/contrib/PyCuAmpcor/CMakeLists.txt new file mode 100644 index 0000000..93a08ad --- /dev/null +++ b/contrib/PyCuAmpcor/CMakeLists.txt @@ -0,0 +1,47 @@ +# Early exit if prereqs not available +if(NOT CMAKE_CUDA_COMPILER OR + NOT TARGET GDAL::GDAL OR + NOT TARGET Python::NumPy) + return() +endif() + +set(CMAKE_CUDA_STANDARD 11) +set(CMAKE_CUDA_STANDARD_REQUIRED TRUE) + +cython_add_module(PyCuAmpcor + src/PyCuAmpcor.pyx + src/GDALImage.cu + src/SConscript + src/SlcImage.cu + src/cuAmpcorChunk.cu + src/cuAmpcorController.cu + src/cuAmpcorParameter.cu + src/cuArrays.cu + src/cuArraysCopy.cu + src/cuArraysPadding.cu + src/cuCorrFrequency.cu + src/cuCorrNormalization.cu + src/cuCorrTimeDomain.cu + src/cuDeramp.cu + src/cuEstimateStats.cu + src/cuOffset.cu + src/cuOverSampler.cu + src/cuSincOverSampler.cu + ) +target_include_directories(PyCuAmpcor PRIVATE + src + ${CMAKE_CUDA_IMPLICIT_INCLUDE_DIRECTORIES} # + ) +target_link_directories(PyCuAmpcor PRIVATE + ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES} # cufft + ) +target_link_libraries(PyCuAmpcor PRIVATE + GDAL::GDAL + Python::NumPy + cufft + ) + +InstallSameDir( + __init__.py + PyCuAmpcor + )