Skip to content

Commit

Permalink
Build GPU on Ubuntu
Browse files Browse the repository at this point in the history
  • Loading branch information
luhenry committed Apr 3, 2024
1 parent 2c7159d commit a988446
Showing 1 changed file with 26 additions and 35 deletions.
61 changes: 26 additions & 35 deletions .github/workflows/linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,65 +163,56 @@ jobs:
run: |
cd _build/debug && ctest -j 8 --output-on-failure --no-tests=error
gpu:
ubuntu-gpu:
runs-on: 8-core
name: "Linux release with GPU support"
container: ghcr.io/facebookincubator/velox-dev:adapters
name: "Ubuntu release with GPU support"
env:
CCACHE_DIR: "${{ github.workspace }}/.ccache"
defaults:
run:
shell: bash
env:
CCACHE_DIR: "/__w/velox/velox/.ccache"
VELOX_DEPENDENCY_SOURCE: SYSTEM
simdjson_SOURCE: BUNDLED
xsimd_SOURCE: BUNDLED
working-directory: velox
strategy:
matrix:
cuda-version: ["11.8", "12.4"]
steps:
- uses: actions/checkout@v4

- name: Fix git permissions
# Usually actions/checkout does this but as we run in a container
# it doesn't work
run: git config --global --add safe.directory /__w/velox/velox

- uses: assignUser/stash/restore@v1
- name: Get Ccache Stash
uses: assignUser/stash/restore@v1
with:
path: '${{ env.CCACHE_DIR }}'
key: ccache-linux-adapters
key: ccache-ubuntu-debug-default

- name: "Zero Ccache Statistics"
- name: Ensure Stash Dirs Exists
working-directory: ${{ github.workspace }}
run: |
ccache -sz
mkdir -p '${{ env.CCACHE_DIR }}'
- name: Install CUDA
- uses: actions/checkout@v4
with:
path: velox

- name: Install Dependencies
run: |
source scripts/setup-ubuntu.sh
# Allows to install arbitrary cuda-version whithout needing to update
# docker container before. It simplifies testing new/different versions
if ! yum list installed cuda-nvcc-$(echo ${{ matrix.cuda-version }} | tr '.' '-') 1>/dev/null; then
source scripts/setup-centos8.sh
if ! dpkg -l cuda-nvcc-$(echo ${{ matrix.cuda-version }} | tr '.' '-') 1>/dev/null; then
install_cuda ${{ matrix.cuda-version }}
fi
- name: Make Release Build
- name: Clear CCache Statistics
run: |
ccache -sz
- name: Make GPU Build
env:
VELOX_DEPENDENCY_SOURCE: BUNDLED
MAKEFLAGS: 'NUM_THREADS=8 MAX_HIGH_MEM_JOBS=4 MAX_LINK_JOBS=4'
EXTRA_CMAKE_FLAGS: "-DVELOX_ENABLE_ARROW=ON"
CUDA_ARCHITECTURES: 60
CUDA_COMPILER: /usr/local/cuda-${{ matrix.cuda-version }}/bin/nvcc
run: |
EXTRA_CMAKE_FLAGS=(
"-DVELOX_ENABLE_BENCHMARKS=ON"
"-DVELOX_ENABLE_ARROW=ON"
"-DVELOX_ENABLE_PARQUET=ON"
"-DVELOX_ENABLE_HDFS=ON"
"-DVELOX_ENABLE_S3=ON"
"-DVELOX_ENABLE_GCS=ON"
"-DVELOX_ENABLE_ABFS=ON"
"-DVELOX_ENABLE_SUBSTRAIT=ON"
"-DVELOX_ENABLE_REMOTE_FUNCTIONS=ON"
)
make gpu EXTRA_CMAKE_FLAGS="${EXTRA_CMAKE_FLAGS[*]}"
make gpu
- name: Ccache after
run: ccache -s
Expand Down

0 comments on commit a988446

Please sign in to comment.