From 7bb7736656ccb9463a37b1178a03be44bc2a8190 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 10 May 2026 17:01:30 +0000 Subject: [PATCH 1/5] Initial plan From 68af08183fe828437a8f6c9ca10896a33888481a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 10 May 2026 17:04:25 +0000 Subject: [PATCH 2/5] docs: update GPU contribution and Colab repository references Agent-Logs-Url: https://github.com/OpenPIV/openpiv-python-gpu/sessions/85a079ee-bcfa-44d2-92f9-cafc65f2743f Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- README.md | 6 +++--- openpiv/docs/src/developers.rst | 20 ++++++++++++++++--- ...openpiv_python_gpu_tutorial_advanced.ipynb | 12 +++++------ .../openpiv_python_gpu_tutorial_basic.ipynb | 20 +++++++++---------- 4 files changed, 36 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 344ae5b1..44694c50 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ paper on that topic has been published. ## Test without installation -Try the GPU functionality on Google Colab: [Basic Tutorial](https://colab.research.google.com/github/ericyang125/openpiv-python-gpu/blob/main/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb). +Try the GPU functionality on Google Colab: [Basic Tutorial](https://colab.research.google.com/github/OpenPIV/openpiv-python-gpu/blob/master/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb). When viewing the file on GitHub there will be a link to view the notebook with Google Colab. Click the link to load the notebook into Colaboratory where you can test the GPU capabilities. @@ -54,8 +54,8 @@ For documentation of the GPU-accelerated modules, see API reference or the tutor ## Demo notebooks Two tutorial notebooks demonstrate the usage of the GPU-accelerated functions: -1. [Basic tutorial](https://colab.research.google.com/github/ericyang125/openpiv-python-gpu/blob/main/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb) -2. [Advanced tutorial](https://colab.research.google.com/github/ericyang125/openpiv-python-gpu/blob/main/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb) +1. [Basic tutorial](https://colab.research.google.com/github/OpenPIV/openpiv-python-gpu/blob/master/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb) +2. [Advanced tutorial](https://colab.research.google.com/github/OpenPIV/openpiv-python-gpu/blob/master/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb) Notebooks containing examples for non-GPU PIV functions are available in the base repository: [OpenPIV-Python-Examples](https://github.com/OpenPIV/openpiv-python-examples) diff --git a/openpiv/docs/src/developers.rst b/openpiv/docs/src/developers.rst index 7190e91d..7f09b30b 100644 --- a/openpiv/docs/src/developers.rst +++ b/openpiv/docs/src/developers.rst @@ -14,9 +14,9 @@ This is absolutely not a comprehensive guide of git development, and it is only 1) Download and install git. Instruction can be found `here `_. 2) Set up a github account. -3) Clone OpenPiv repository using:: +3) Clone OpenPiv GPU repository using:: - git clone http://github.com/openpiv/openpiv-python.git + git clone https://github.com/OpenPIV/openpiv-python-gpu.git 4) create a branch `new_feature` where you implement your new feature. 5) Fix, change, implement, document code, ... @@ -28,6 +28,21 @@ This is absolutely not a comprehensive guide of git development, and it is only 11) Create another branch for a new feature. +Submitting larger GPU changes +----------------------------- +If your update contains several related improvements (for example Python-version migration, validation fixes, and +performance tuning in the GPU processing module), open one pull request that clearly lists each change and what was +validated. + +Before opening the PR, run at least: + +* GPU tutorial notebook(s) on Colab or another CUDA-enabled environment. +* ``python -m pytest openpiv/test/gpu`` on a CUDA-enabled machine. +* Relevant CPU regression tests, e.g. ``python -m pytest openpiv/test/test_validation.py``. + +API compatibility note: avoid renaming public functions or changing public arguments without a compatibility plan. +When a rename is necessary, keep backward-compatible wrappers (or aliases) and document the transition in the PR. + Which language can I use? ------------------------- As a general rule, we use Python where it does not make any difference with code speed. In those situations where Python speed is @@ -62,4 +77,3 @@ If you need to install cv2:: conda install -c conda-forge opencv - diff --git a/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb b/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb index 5bae168c..cc5a8c65 100644 --- a/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb +++ b/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb @@ -13,7 +13,7 @@ "\n", "Use the following link to run this using GPUs from Google Colab.\n", "\n", - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ericyang125/openpiv-python-gpu/blob/main/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb)\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/OpenPIV/openpiv-python-gpu/blob/master/openpiv/tutorials/openpiv_python_gpu_tutorial_advanced.ipynb)\n", "\n", "Ensure that GPU acceleration is enabled in Google Colab: Runtime > Change runtime type.\n" ] @@ -150,10 +150,10 @@ "Built on Wed_Sep_21_10:33:58_PDT_2022\n", "Cuda compilation tools, release 11.8, V11.8.89\n", "Build cuda_11.8.r11.8/compiler.31833905_0\n", - "Collecting git+https://github.com/ericyang125/openpiv-python-gpu.git\n", - " Cloning https://github.com/ericyang125/openpiv-python-gpu.git to /tmp/pip-req-build-mp3so4lw\n", - " Running command git clone --filter=blob:none --quiet https://github.com/ericyang125/openpiv-python-gpu.git /tmp/pip-req-build-mp3so4lw\n", - " Resolved https://github.com/ericyang125/openpiv-python-gpu.git to commit b3084e7c6be5373edc50751d9afb08bc6c3573a4\n", + "Collecting git+https://github.com/OpenPIV/openpiv-python-gpu.git\n", + " Cloning https://github.com/OpenPIV/openpiv-python-gpu.git to /tmp/pip-req-build-mp3so4lw\n", + " Running command git clone --filter=blob:none --quiet https://github.com/OpenPIV/openpiv-python-gpu.git /tmp/pip-req-build-mp3so4lw\n", + " Resolved https://github.com/OpenPIV/openpiv-python-gpu.git to commit b3084e7c6be5373edc50751d9afb08bc6c3573a4\n", " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", @@ -220,7 +220,7 @@ "!nvcc --version\n", "\n", "# Install from source.\n", - "!pip install git+https://github.com/ericyang125/openpiv-python-gpu.git\n" + "!pip install git+https://github.com/OpenPIV/openpiv-python-gpu.git\n" ] }, { diff --git a/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb b/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb index c7cc01d1..ba691498 100644 --- a/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb +++ b/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb @@ -42,7 +42,7 @@ "\n", "Use the following link to run this using GPUs from Google Colab.\n", "\n", - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ericyang125/openpiv-python-gpu/blob/main/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb)\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/OpenPIV/openpiv-python-gpu/blob/master/openpiv/tutorials/openpiv_python_gpu_tutorial_basic.ipynb)\n", "\n", "Ensure that GPU acceleration is enabled in Google Colab: Runtime > Change runtime type." ] @@ -287,7 +287,7 @@ "!nvcc --version\n", "\n", "# Install from source.\n", - "!pip install git+https://github.com/ericyang125/openpiv-python-gpu.git\n" + "!pip install git+https://github.com/OpenPIV/openpiv-python-gpu.git\n" ], "execution_count": 1, "outputs": [ @@ -320,10 +320,10 @@ "Built on Wed_Sep_21_10:33:58_PDT_2022\n", "Cuda compilation tools, release 11.8, V11.8.89\n", "Build cuda_11.8.r11.8/compiler.31833905_0\n", - "Collecting git+https://github.com/ericyang125/openpiv-python-gpu.git\n", - " Cloning https://github.com/ericyang125/openpiv-python-gpu.git to /tmp/pip-req-build-68g_5zr4\n", - " Running command git clone --filter=blob:none --quiet https://github.com/ericyang125/openpiv-python-gpu.git /tmp/pip-req-build-68g_5zr4\n", - " Resolved https://github.com/ericyang125/openpiv-python-gpu.git to commit 4a47c3ab291e8bc2408578e598cd742eafa95b5d\n", + "Collecting git+https://github.com/OpenPIV/openpiv-python-gpu.git\n", + " Cloning https://github.com/OpenPIV/openpiv-python-gpu.git to /tmp/pip-req-build-68g_5zr4\n", + " Running command git clone --filter=blob:none --quiet https://github.com/OpenPIV/openpiv-python-gpu.git /tmp/pip-req-build-68g_5zr4\n", + " Resolved https://github.com/OpenPIV/openpiv-python-gpu.git to commit 4a47c3ab291e8bc2408578e598cd742eafa95b5d\n", " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", @@ -410,8 +410,8 @@ } }, "source": [ - "!wget https://raw.githubusercontent.com/ericyang125/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_a.bmp\n", - "!wget https://raw.githubusercontent.com/ericyang125/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_b.bmp\n" + "!wget https://raw.githubusercontent.com/OpenPIV/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_a.bmp\n", + "!wget https://raw.githubusercontent.com/OpenPIV/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_b.bmp\n" ], "execution_count": 2, "outputs": [ @@ -419,7 +419,7 @@ "output_type": "stream", "name": "stdout", "text": [ - "--2023-12-10 03:20:25-- https://raw.githubusercontent.com/ericyang125/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_a.bmp\n", + "--2023-12-10 03:20:25-- https://raw.githubusercontent.com/OpenPIV/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_a.bmp\n", "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...\n", "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", @@ -430,7 +430,7 @@ "\n", "2023-12-10 03:20:25 (8.94 MB/s) - ‘exp1_001_a.bmp’ saved [190006/190006]\n", "\n", - "--2023-12-10 03:20:25-- https://raw.githubusercontent.com/ericyang125/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_b.bmp\n", + "--2023-12-10 03:20:25-- https://raw.githubusercontent.com/OpenPIV/openpiv-python-gpu/master/openpiv/data/test1/exp1_001_b.bmp\n", "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...\n", "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", From f264f42e91093a27fdaef605a88a9a98dcbb9ba5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 10 May 2026 17:05:21 +0000 Subject: [PATCH 3/5] docs: clarify OpenPIV GPU clone instruction wording Agent-Logs-Url: https://github.com/OpenPIV/openpiv-python-gpu/sessions/85a079ee-bcfa-44d2-92f9-cafc65f2743f Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- openpiv/docs/src/developers.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openpiv/docs/src/developers.rst b/openpiv/docs/src/developers.rst index 7f09b30b..153b7378 100644 --- a/openpiv/docs/src/developers.rst +++ b/openpiv/docs/src/developers.rst @@ -14,7 +14,7 @@ This is absolutely not a comprehensive guide of git development, and it is only 1) Download and install git. Instruction can be found `here `_. 2) Set up a github account. -3) Clone OpenPiv GPU repository using:: +3) Clone the OpenPIV GPU repository (this repository) using:: git clone https://github.com/OpenPIV/openpiv-python-gpu.git @@ -76,4 +76,3 @@ If you need to install cv2:: -------------------------- conda install -c conda-forge opencv - From 348e00d1f6c07e50a7a319b62e1480940bc89e4e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 10 May 2026 17:06:10 +0000 Subject: [PATCH 4/5] docs: refine developer guidance wording Agent-Logs-Url: https://github.com/OpenPIV/openpiv-python-gpu/sessions/85a079ee-bcfa-44d2-92f9-cafc65f2743f Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- openpiv/docs/src/developers.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpiv/docs/src/developers.rst b/openpiv/docs/src/developers.rst index 153b7378..bf86b8e2 100644 --- a/openpiv/docs/src/developers.rst +++ b/openpiv/docs/src/developers.rst @@ -14,7 +14,7 @@ This is absolutely not a comprehensive guide of git development, and it is only 1) Download and install git. Instruction can be found `here `_. 2) Set up a github account. -3) Clone the OpenPIV GPU repository (this repository) using:: +3) Clone this repository using:: git clone https://github.com/OpenPIV/openpiv-python-gpu.git @@ -37,7 +37,7 @@ validated. Before opening the PR, run at least: * GPU tutorial notebook(s) on Colab or another CUDA-enabled environment. -* ``python -m pytest openpiv/test/gpu`` on a CUDA-enabled machine. +* ``python -m pytest openpiv/test/gpu`` from the repository root on a CUDA-enabled machine. * Relevant CPU regression tests, e.g. ``python -m pytest openpiv/test/test_validation.py``. API compatibility note: avoid renaming public functions or changing public arguments without a compatibility plan. From 02b963372f38845110b3ac4e3d698b089e16b7d7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 10 May 2026 17:07:01 +0000 Subject: [PATCH 5/5] docs: clarify OpenPIV GPU clone and test command examples Agent-Logs-Url: https://github.com/OpenPIV/openpiv-python-gpu/sessions/85a079ee-bcfa-44d2-92f9-cafc65f2743f Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- openpiv/docs/src/developers.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpiv/docs/src/developers.rst b/openpiv/docs/src/developers.rst index bf86b8e2..14a8e4d4 100644 --- a/openpiv/docs/src/developers.rst +++ b/openpiv/docs/src/developers.rst @@ -14,7 +14,7 @@ This is absolutely not a comprehensive guide of git development, and it is only 1) Download and install git. Instruction can be found `here `_. 2) Set up a github account. -3) Clone this repository using:: +3) Clone the OpenPIV GPU repository using:: git clone https://github.com/OpenPIV/openpiv-python-gpu.git @@ -37,7 +37,7 @@ validated. Before opening the PR, run at least: * GPU tutorial notebook(s) on Colab or another CUDA-enabled environment. -* ``python -m pytest openpiv/test/gpu`` from the repository root on a CUDA-enabled machine. +* ``python -m pytest openpiv/test`` on a CUDA-enabled machine (includes the GPU tests under ``openpiv/test/gpu``). * Relevant CPU regression tests, e.g. ``python -m pytest openpiv/test/test_validation.py``. API compatibility note: avoid renaming public functions or changing public arguments without a compatibility plan.