This is an automated email from the ASF dual-hosted git repository.

apitrou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b2fc0d051 ARROW-16464: [C++][CI][GPU] Add CUDA CI (#14497)
7b2fc0d051 is described below

commit 7b2fc0d05108f068d227fa5bbc35a6726f837c99
Author: Jacob Wujciak-Jens <ja...@wujciak.de>
AuthorDate: Wed Oct 26 18:03:18 2022 +0200

    ARROW-16464: [C++][CI][GPU] Add CUDA CI (#14497)
    
    Authored-by: Jacob Wujciak-Jens <ja...@wujciak.de>
    Signed-off-by: Antoine Pitrou <anto...@python.org>
---
 dev/tasks/docker-tests/github.cuda.yml | 52 ++++++++++++++++++++++++++++++++++
 dev/tasks/tasks.yml                    | 14 +++++++++
 docker-compose.yml                     |  6 ++--
 3 files changed, 68 insertions(+), 4 deletions(-)

diff --git a/dev/tasks/docker-tests/github.cuda.yml 
b/dev/tasks/docker-tests/github.cuda.yml
new file mode 100644
index 0000000000..0828403dec
--- /dev/null
+++ b/dev/tasks/docker-tests/github.cuda.yml
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+{% import 'macros.jinja' as macros with context %}
+
+{{ macros.github_header() }}
+
+jobs:
+  test:
+    name: |
+      Docker Test {{ flags|default("") }} {{ image }} {{ command|default("") }}
+    runs-on: ['self-hosted', 'cuda'] 
+{{ macros.github_set_env(env) }}
+    steps:
+      {{ 
macros.github_checkout_arrow(fetch_depth=fetch_depth|default(1))|indent }}
+      # python 3.8 is installed on the runner, no need to install
+      - name: Install archery
+        run: python -m pip install -e arrow/dev/archery[docker]
+      - name: Execute Docker Build
+        shell: bash
+        env:
+          # The CUDA image has to match the runner image 1:1 to work
+          # so these values are hardcoded to override any changes to .env
+          CUDA: "11.4.2"
+          UBUNTU: "20.04"
+        {{ macros.github_set_sccache_envvars()|indent(8) }}
+        run: |
+          archery docker run \
+            -e SETUPTOOLS_SCM_PRETEND_VERSION="{{ arrow.no_rc_version }}" \
+            {{ flags|default("") }} \
+            {{ image }} \
+            {{ command|default("") }}
+    {% if arrow.is_default_branch() %}
+      {{ macros.github_login_dockerhub()|indent }}
+      - name: Push Docker Image
+        shell: bash
+        run: archery docker push {{ image }}
+    {% endif %}
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 8ab21dbbe9..0609436ca2 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -1473,6 +1473,20 @@ tasks:
     artifacts:
       - docs.tar.gz
 
+  ############################## CUDA tests #################################
+  
+  test-cuda-cpp:
+    ci: github
+    template: docker-tests/github.cuda.yml
+    params:
+      image: ubuntu-cuda-cpp
+  
+  test-cuda-python:
+    ci: github
+    template: docker-tests/github.cuda.yml
+    params:
+      image: ubuntu-cuda-python
+
   ############################## Fuzz tests #################################
 
   test-build-cpp-fuzz:
diff --git a/docker-compose.yml b/docker-compose.yml
index 72f9055651..66068a39d2 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -469,11 +469,9 @@ services:
     # Usage:
     #   docker-compose build cuda-cpp
     #   docker-compose run --rm cuda-cpp
-    # Also need to edit the host docker configuration as follows:
-    #   https://github.com/docker/compose/issues/6691#issuecomment-561504928
     # Parameters:
     #   ARCH: amd64
-    #   CUDA: 9.1, 10.0, 10.1
+    #   CUDA: <depends on your nvidia driver, should match system CUDA>
     image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cuda-${CUDA}-cpp
     build:
       context: .
@@ -788,7 +786,7 @@ services:
     #   docker-compose run --rm cuda-python
     # Parameters:
     #   ARCH: amd64
-    #   CUDA: 8.0, 10.0, ...
+    #   CUDA: <depends on your nvidia driver, should match system CUDA>
     image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cuda-${CUDA}-python-3
     build:
       context: .

Reply via email to