diff --git a/README.md b/README.md index 344ae5b..44694c5 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 7190e91..14a8e4d 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 the 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`` 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. +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 @@ -61,5 +76,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 5bae168..cc5a8c6 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 c7cc01d..ba69149 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",