Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/velox_backend_x86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1381,6 +1381,7 @@ jobs:
export CMAKE_BUILD_PARALLEL_LEVEL=4
export NUM_THREADS=4
export CCACHE_DIR=/work/.ccache
export LD_LIBRARY_PATH=/work/ep/build-velox/build/velox_ep/_build/release/_deps/curl-build/lib:$LD_LIBRARY_PATH
mkdir -p /work/.ccache

cd /work
Expand Down
29 changes: 8 additions & 21 deletions cpp/velox/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,8 @@ if(BUILD_EXAMPLES)
endif()

if(ENABLE_GPU)
find_package(cudf CONFIG REQUIRED)

import_library(
facebook::velox::velox_cudf_expression
${VELOX_BUILD_PATH}/velox/experimental/cudf/expression/libvelox_cudf_expression.a
Expand All @@ -431,35 +433,20 @@ if(ENABLE_GPU)
facebook::velox::velox_cudf_hive_connector
${VELOX_BUILD_PATH}/velox/experimental/cudf/connectors/hive/libvelox_cudf_hive_connector.a
)
target_include_directories(
velox
PRIVATE ${VELOX_BUILD_PATH}/_deps/cudf-src/cpp/include
${VELOX_BUILD_PATH}/_deps/rmm-src/cpp/include
${VELOX_BUILD_PATH}/_deps/kvikio-src/cpp/include
${VELOX_BUILD_PATH}/_deps/nvtx3-src/c/include
${VELOX_BUILD_PATH}/_deps/nvcomp_proprietary_binary-src/include
${VELOX_BUILD_PATH}/_deps/rapids_logger-src/include
/usr/local/cuda/include/cccl
/usr/local/cuda/include)

target_compile_definitions(
velox PRIVATE LIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE)

add_library(velox_curl SHARED IMPORTED GLOBAL)
set_target_properties(
velox_curl PROPERTIES IMPORTED_LOCATION
${VELOX_BUILD_PATH}/_deps/curl-build/lib/libcurl.so)

target_link_libraries(
velox
PUBLIC facebook::velox::velox_cudf_exec facebook::velox::velox_cudf_vector
facebook::velox::velox_cudf_hive_connector
facebook::velox::velox_cudf_expression)
target_link_libraries(
velox
PRIVATE
${VELOX_BUILD_PATH}/_deps/cudf-build/libcudf.so
${VELOX_BUILD_PATH}/_deps/rmm-build/librmm.so
${VELOX_BUILD_PATH}/_deps/kvikio-build/libkvikio.so
${VELOX_BUILD_PATH}/_deps/nvcomp_proprietary_binary-src/lib64/libnvcomp.so
${VELOX_BUILD_PATH}/_deps/nvcomp_proprietary_binary-src/lib64/libnvcomp_cpu.so
${VELOX_BUILD_PATH}/_deps/rapids_logger-build/librapids_logger.so
/usr/local/cuda/lib64/libcudart.so)
facebook::velox::velox_cudf_expression cudf::cudf velox_curl)
endif()

add_custom_command(
Expand Down
3 changes: 3 additions & 0 deletions cpp/velox/benchmarks/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ target_link_libraries(velox_benchmark_common PUBLIC velox benchmark::benchmark
function(add_velox_benchmark BM_EXEC BM_FILE)
add_executable(${BM_EXEC} ${BM_FILE})
target_link_libraries(${BM_EXEC} PRIVATE velox_benchmark_common)
if(ENABLE_GPU)
target_link_libraries(${BM_EXEC} PRIVATE velox_curl)
endif()
endfunction()

# Generic benchmark
Expand Down
26 changes: 5 additions & 21 deletions cpp/velox/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ function(add_velox_test TEST_EXEC)
target_include_directories(${TEST_EXEC} PRIVATE ${CMAKE_SOURCE_DIR}/velox
${CMAKE_SOURCE_DIR}/src)
target_link_libraries(${TEST_EXEC} velox GTest::gtest GTest::gtest_main)
if(ENABLE_GPU)
target_link_libraries(${TEST_EXEC} velox_curl)
endif()
gtest_discover_tests(${TEST_EXEC} DISCOVERY_MODE PRE_TEST)
endfunction()

Expand Down Expand Up @@ -71,35 +74,16 @@ if(ENABLE_GPU)
facebook::velox::velox_cudf_hive_connector
${VELOX_BUILD_PATH}/velox/experimental/cudf/connectors/hive/libvelox_cudf_hive_connector.a
)
target_include_directories(
${TEST_EXEC}
PRIVATE ${VELOX_BUILD_PATH}/_deps/cudf-src/cpp/include
${VELOX_BUILD_PATH}/_deps/rmm-src/cpp/include
${VELOX_BUILD_PATH}/_deps/kvikio-src/cpp/include
${VELOX_BUILD_PATH}/_deps/nvtx3-src/c/include
${VELOX_BUILD_PATH}/_deps/nvcomp_proprietary_binary-src/include
${VELOX_BUILD_PATH}/_deps/rapids_logger-src/include
/usr/local/cuda/include)
target_compile_definitions(
${TEST_EXEC} PUBLIC LIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE)
target_link_libraries(
${TEST_EXEC}
PRIVATE
${VELOX_BUILD_PATH}/_deps/cudf-build/libcudf.so
${VELOX_BUILD_PATH}/_deps/rmm-build/librmm.so
${VELOX_BUILD_PATH}/_deps/kvikio-build/libkvikio.so
${VELOX_BUILD_PATH}/_deps/nvcomp_proprietary_binary-src/lib64/libnvcomp.so
${VELOX_BUILD_PATH}/_deps/nvcomp_proprietary_binary-src/lib64/libnvcomp_cpu.so
${VELOX_BUILD_PATH}/_deps/rapids_logger-build/librapids_logger.so
/usr/local/cuda-12.8/lib64/libcudart.so.12)
target_link_libraries(
${TEST_EXEC}
PUBLIC facebook::velox::velox_cudf_expression
facebook::velox::velox_cudf_exec
facebook::velox::velox_cudf_vector
facebook::velox::velox_cudf_hive_connector)
target_link_libraries(${TEST_EXEC} PRIVATE velox GTest::gtest
GTest::gtest_main)
target_link_libraries(${TEST_EXEC} PRIVATE velox cudf::cudf velox_curl
GTest::gtest GTest::gtest_main)
gtest_discover_tests(
${TEST_EXEC} DISCOVERY_MODE PRE_TEST
PROPERTIES LABELS "cuda_driver"
Expand Down
2 changes: 1 addition & 1 deletion dev/docker/cudf/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ RUN cd /opt/gluten/.github/workflows/util/ && ./install-spark-resources.sh 3.4
ENV SPARK_HOME=/opt/spark-3.4.4-bin-hadoop3
ENV PATH=$SPARK_HOME/bin:$PATH
ENV CUDA_ARCHITECTURES=70

ENV LD_LIBRARY_PATH=/opt/gluten/ep/build-velox/build/velox_ep/_build/release/_deps/curl-build/lib:$LD_LIBRARY_PATH

WORKDIR /opt/gluten
RUN rm -rf /opt/rh/gcc-toolset-12 && ln -s /opt/rh/gcc-toolset-14 /opt/rh/gcc-toolset-12; \
Expand Down
6 changes: 6 additions & 0 deletions ep/build-velox/src/build-velox.sh
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,12 @@ function compile {
sudo cmake --install xsimd-build/
fi
fi
if [ -d cudf-build ]; then
echo "INSTALL cudf."
if [ $OS == 'Linux' ]; then
sudo cmake --install cudf-build/
fi
fi
if [ -d googletest-build ]; then
echo "INSTALL gtest."
if [ $OS == 'Linux' ]; then
Expand Down