Skip to content

Commit

Permalink
cut more style stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
jameslamb committed Jan 24, 2025
1 parent e7865f3 commit 53aca17
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 145 deletions.
83 changes: 0 additions & 83 deletions cpp/scripts/run-cmake-format.sh

This file was deleted.

133 changes: 71 additions & 62 deletions java/src/main/native/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#=============================================================================
# Copyright (c) 2019-2025, NVIDIA CORPORATION.
# Copyright (c) 2019-2024, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -21,10 +21,7 @@ include(../../../../rapids_config.cmake)
# that just an oversight, or is there a reason not to include this here?
rapids_cuda_init_architectures(CUSPATIAL_JNI)

project(
CUDF_JNI
VERSION 0.7.0
LANGUAGES C CXX CUDA)
project(CUDF_JNI VERSION 0.7.0 LANGUAGES C CXX CUDA)

###################################################################################################
# - build type ------------------------------------------------------------------------------------
Expand All @@ -44,45 +41,41 @@ set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)

if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-error=deprecated-declarations")

option(CMAKE_CXX11_ABI "Enable the GLIBCXX11 ABI" ON)
if(CMAKE_CXX11_ABI)
message(STATUS "CUDF: Enabling the GLIBCXX11 ABI")
else()
message(STATUS "CUDF: Disabling the GLIBCXX11 ABI")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler -D_GLIBCXX_USE_CXX11_ABI=0")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-error=deprecated-declarations")

option(CMAKE_CXX11_ABI "Enable the GLIBCXX11 ABI" ON)
if(CMAKE_CXX11_ABI)
message(STATUS "CUDF: Enabling the GLIBCXX11 ABI")
else()
message(STATUS "CUDF: Disabling the GLIBCXX11 ABI")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler -D_GLIBCXX_USE_CXX11_ABI=0")
endif()
endif()

#set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_60,code=sm_60")
set(CMAKE_CUDA_FLAGS
"${CMAKE_CUDA_FLAGS} -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=compute_70"
)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=compute_70")

# set warnings as errors
# TODO: remove `no-maybe-uninitialized` used to suppress warnings in rmm::exec_policy
set(CMAKE_CUDA_FLAGS
"${CMAKE_CUDA_FLAGS} -Werror cross-execution-space-call -Xcompiler -Wall,-Werror,-Wno-error=deprecated-declarations"
)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Werror cross-execution-space-call -Xcompiler -Wall,-Werror,-Wno-error=deprecated-declarations")

# Option to enable line info in CUDA device compilation to allow introspection when profiling / memchecking
option(CMAKE_CUDA_LINEINFO
"Enable the -lineinfo option for nvcc (useful for cuda-memcheck / profiler" OFF)
if(CMAKE_CUDA_LINEINFO)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -lineinfo")
option(CMAKE_CUDA_LINEINFO "Enable the -lineinfo option for nvcc (useful for cuda-memcheck / profiler" OFF)
if (CMAKE_CUDA_LINEINFO)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -lineinfo")
endif()

# Debug options
if(CMAKE_BUILD_TYPE MATCHES Debug)
message(STATUS "Building with debugging flags")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G -Xcompiler -rdynamic")
message(STATUS "Building with debugging flags")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G -Xcompiler -rdynamic")
endif()

option(BUILD_TESTS "Configure CMake to build tests" ON)
option(BUILD_TESTS "Configure CMake to build tests"
ON)

###################################################################################################
# - cudart options --------------------------------------------------------------------------------
Expand All @@ -91,10 +84,10 @@ option(BUILD_TESTS "Configure CMake to build tests" ON)
option(CUDA_STATIC_RUNTIME "Statically link the CUDA runtime" OFF)

if(CUDA_STATIC_RUNTIME)
message(STATUS "Enabling static linking of cudart")
set(CUDART_LIBRARY "cudart_static")
message(STATUS "Enabling static linking of cudart")
set(CUDART_LIBRARY "cudart_static")
else()
set(CUDART_LIBRARY "cudart")
set(CUDART_LIBRARY "cudart")
endif()

###################################################################################################
Expand All @@ -109,82 +102,98 @@ include(CheckLibraryExists)
###################################################################################################
# - Thrust/CUB/libcudacxx ------------------------------------------------------------------------------------

find_path(LIBCUDACXX_INCLUDE "simt" HINTS "$ENV{CONDA_PREFIX}/include/libcudf/libcudacxx"
"$ENV{CUDF_HOME}/cpp/build/_deps/libcudacxx-src/include")
find_path(LIBCUDACXX_INCLUDE "simt"
HINTS "$ENV{CONDA_PREFIX}/include/libcudf/libcudacxx"
"$ENV{CUDF_HOME}/cpp/build/_deps/libcudacxx-src/include")

message(STATUS "CUDACXX: LIBCUDACXX_INCLUDE set to ${LIBCUDACXX_INCLUDE}")

###################################################################################################
# - RMM -------------------------------------------------------------------------------------------

find_path(RMM_INCLUDE "rmm" HINTS "$ENV{CONDA_PREFIX}/include" "$ENV{CONDA_PREFIX}/include/rmm"
"$ENV{RMM_HOME}/include")
find_path(RMM_INCLUDE "rmm"
HINTS "$ENV{CONDA_PREFIX}/include"
"$ENV{CONDA_PREFIX}/include/rmm"
"$ENV{RMM_HOME}/include")

find_library(RMM_LIBRARY "rmm" HINTS "$ENV{CONDA_PREFIX}/lib" "$ENV{RMM_HOME}/build")
find_library(RMM_LIBRARY "rmm"
HINTS "$ENV{CONDA_PREFIX}/lib"
"$ENV{RMM_HOME}/build")

message(STATUS "RMM: RMM_INCLUDE set to ${RMM_INCLUDE}")
message(STATUS "RMM: RMM_LIBRARY set to ${RMM_LIBRARY}")

add_library(rmm SHARED IMPORTED ${RMM_LIBRARY})
if(RMM_INCLUDE AND RMM_LIBRARY)
set_target_properties(rmm PROPERTIES IMPORTED_LOCATION ${RMM_LIBRARY})
endif(RMM_INCLUDE AND RMM_LIBRARY)
if (RMM_INCLUDE AND RMM_LIBRARY)
set_target_properties(rmm PROPERTIES IMPORTED_LOCATION ${RMM_LIBRARY})
endif (RMM_INCLUDE AND RMM_LIBRARY)

###################################################################################################
# - CUDF ------------------------------------------------------------------------------------------

set(CUDF_INCLUDE "$ENV{CONDA_PREFIX}/include" "$ENV{CUDF_HOME}/java/src/main/native/include")
set(CUDF_INCLUDE "$ENV{CONDA_PREFIX}/include"
"$ENV{CUDF_HOME}/java/src/main/native/include")

find_library(CUDF_LIBRARY "cudf" HINTS "$ENV{CONDA_PREFIX}/lib" "$ENV{CUDF_HOME}/cpp/build")
find_library(CUDF_LIBRARY "cudf"
HINTS "$ENV{CONDA_PREFIX}/lib"
"$ENV{CUDF_HOME}/cpp/build")

message(STATUS "CUDF: CUDF_INCLUDE set to ${CUDF_INCLUDE}")
message(STATUS "CUDF: CUDF_LIBRARY set to ${CUDF_LIBRARY}")

add_library(cudf SHARED IMPORTED ${CUDF_LIBRARY})
if(CUDF_INCLUDE AND CUDF_LIBRARY)
set_target_properties(cudf PROPERTIES IMPORTED_LOCATION ${CUDF_LIBRARY})
endif(CUDF_INCLUDE AND CUDF_LIBRARY)
if (CUDF_INCLUDE AND CUDF_LIBRARY)
set_target_properties(cudf PROPERTIES IMPORTED_LOCATION ${CUDF_LIBRARY})
endif (CUDF_INCLUDE AND CUDF_LIBRARY)

###################################################################################################
# - CUSPATIAL ------------------------------------------------------------------------------------------

set(CUSPATIAL_INCLUDE "$ENV{CUSPATIAL_HOME}/cpp/include")

find_library(CUSPATIAL_LIBRARY "cuspatial" HINTS "$ENV{CUSPATIAL_HOME}/cpp/build")
find_library(CUSPATIAL_LIBRARY "cuspatial"
HINTS "$ENV{CUSPATIAL_HOME}/cpp/build")

message(STATUS "CUSPATIAL: CUSPATIAL_INCLUDE set to ${CUSPATIAL_INCLUDE}")
message(STATUS "CUSPATIAL: CUSPATIAL_LIBRARY set to ${CUSPATIAL_LIBRARY}")

add_library(cuspatial SHARED IMPORTED ${CUSPATIAL_LIBRARY})
if(CUSPATIAL_INCLUDE AND CUSPATIAL_LIBRARY)
set_target_properties(cuspatial PROPERTIES IMPORTED_LOCATION ${CUSPATIAL_LIBRARY})
endif(CUSPATIAL_INCLUDE AND CUSPATIAL_LIBRARY)
if (CUSPATIAL_INCLUDE AND CUSPATIAL_LIBRARY)
set_target_properties(cuspatial PROPERTIES IMPORTED_LOCATION ${CUSPATIAL_LIBRARY})
endif (CUSPATIAL_INCLUDE AND CUSPATIAL_LIBRARY)

###################################################################################################
# - find JNI -------------------------------------------------------------------------------------
find_package(JNI REQUIRED)
if(JNI_FOUND)
message(STATUS "JDK with JNI in ${JNI_INCLUDE_DIRS}")
message(STATUS "JDK with JNI in ${JNI_INCLUDE_DIRS}")
else()
message(FATAL_ERROR "JDK with JNI not found, please check your settings.")
message(FATAL_ERROR "JDK with JNI not found, please check your settings.")
endif()

###################################################################################################
# - include paths ---------------------------------------------------------------------------------

include_directories(
"${CMAKE_SOURCE_DIR}/include" "${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}" "${LIBCUDACXX_INCLUDE}"
"${RMM_INCLUDE}" "${CUDF_INCLUDE}" "${CUSPATIAL_INCLUDE}" "${JNI_INCLUDE_DIRS}")
include_directories("${CMAKE_SOURCE_DIR}/include"
"${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}"
"${LIBCUDACXX_INCLUDE}"
"${RMM_INCLUDE}"
"${CUDF_INCLUDE}"
"${CUSPATIAL_INCLUDE}"
"${JNI_INCLUDE_DIRS}")

###################################################################################################
# - library paths ---------------------------------------------------------------------------------

link_directories("${CMAKE_BINARY_DIR}/lib" "${CUSPATIAL_LIBRARY}")
link_directories("${CMAKE_BINARY_DIR}/lib"
"${CUSPATIAL_LIBRARY}")


###################################################################################################
# - library targets -------------------------------------------------------------------------------

set(SOURCE_FILES "src/cuSpatialJni.cpp")
set(SOURCE_FILES
"src/cuSpatialJni.cpp")
add_library(cuspatialjni SHARED ${SOURCE_FILES})

#Override RPATH for cuspatialjni
Expand All @@ -195,16 +204,16 @@ SET_TARGET_PROPERTIES(cuspatialjni PROPERTIES BUILD_RPATH "\$ORIGIN")

option(USE_NVTX "Build with NVTX support" ON)
if(USE_NVTX)
message(STATUS "Using Nvidia Tools Extension")
find_library(NVTX_LIBRARY nvToolsExt PATH ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
target_link_libraries(cuspatialjni ${NVTX_LIBRARY})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_NVTX")
message(STATUS "Using Nvidia Tools Extension")
find_library(NVTX_LIBRARY nvToolsExt PATH ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
target_link_libraries(cuspatialjni ${NVTX_LIBRARY})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_NVTX")
endif()

option(PER_THREAD_DEFAULT_STREAM "Build with per-thread default stream" OFF)
if(PER_THREAD_DEFAULT_STREAM)
message(STATUS "Using per-thread default stream")
add_compile_definitions(CUDA_API_PER_THREAD_DEFAULT_STREAM)
message(STATUS "Using per-thread default stream")
add_compile_definitions(CUDA_API_PER_THREAD_DEFAULT_STREAM)
endif()

###################################################################################################
Expand Down

0 comments on commit 53aca17

Please sign in to comment.