-
Notifications
You must be signed in to change notification settings - Fork 50
Suggested development workflow
1. Fork your own copy of amdovx-modules to your account
Public can access your repository from http://github.com/USER/amdovx-modules
where USER
is your GitHub username.
See GitHub help for more details.
- CMake 2.8 or newer
- OpenCL SDK
- OpenCV 3 SDK (optional)
- ROCm dependencies: rocm-cmake, MIOpenGEMM, MIOpen (optional)
% cd ~/work
% git clone --recursive http://github.com/USER/amdovx-modules
% cd amdovx-modules
% git branch -m master-personal
% git remote add amd http://github.com/GPUOpen-ProfessionalCompute-Libraries/amdovx-modules
% git fetch --all
% git checkout -b master --track amd/master
% git checkout -b develop --track amd/develop
% git pull
% cd deps
% rm -rf amdovx-core
% git clone --recursive http://github.com/USER/amdovx-core.git
% cd amdovx-core
% git branch -m master-personal
% git remote add amd http://github.com/GPUOpen-ProfessionalCompute-Libraries/amdovx-core.git
% git fetch --all
% git checkout -b master --track amd/master
% git checkout -b develop --track amd/develop
% git pull
% cd ../..
% git submodule init
% git submodule update
% cd ~/work
% mkdir build
% cd build
% cmake -DCMAKE_BUILD_TYPE=Release ../amdovx-modules
% make
% ls -l bin
... all the binaries will be in ~/work/build/bin folder ...
To make changes to amdovx-modules
repo, follow instructions in Section 3.
To make changes to amdovx-core
repo, follow instructions in Section 4.
% cd ~/work/amdovx-modules
% git checkout develop
% git pull
% git submodule update
% git checkout -b your-name-initials/new-branch-name
Pick a meaningful name for the new branch, for example, rg/stitching-examples
% cd ~/work/amdovx-modules
% ... edit source files ...
Make sure that amdovx-core dependency is the latest and correct. If you need a particular special branch of amdovx-core for your development, make sure to checkout the corresponding amdovx-core branch.
% cd ~/work/amdovx-modules/deps/amdovx-core
% git pull
Now, just build and unit test
% cd ~/work/build
% make
% ... unit test using binaries in ~/work/build/bin folder ...
Make sure that you didn't accidentally commit changes to deps/amdovx-core.
% cd ~/work/amdovx-modules
% git status
... review changes and make sure that only files that you intended to change are listed ...
% git diff
... review every change to source code files ...
% git add list-of-file(s)
% git status
... review changes again and make sure that only files that you intended to change are listed ...
% git commit -m "describe your changes"
% git push
... this will push local commits into your personal repository on github ...
3.4 Create a pull request to GPUOpen-ProfessionalCompute-Libraries/amdovx-modules
- select base fork as GPUOpen-ProfessionalCompute-Libraries/amdovx-modules
- select base branch as develop
- select head fork as USER/amdovx-modules
- select compare branch as your-name-initials/new-branch-name
- type in the title and comment
- scroll down and review all code change once more
- scroll up and click Create pull request button to submit the pull request
See GitHub help for more details.
% cd ~/work/amdovx-modules/deps/amdovx-core
% git checkout develop
% git pull
% git submodule update --recursive
% git checkout -b your-name-initials/new-branch-name
Pick a meaningful name for the new branch, for example, rg/opencl-interop-extension
% cd ~/work/amdovx-modules/deps/amdovx-core
% ... edit source files ...
Now, just build and unit test
% cd ~/work/build
% make
% ... unit test using binaries in ~/work/build/bin folder ...
Make sure that you didn't accidentally commit changes to deps/amdovx-modules.
% cd ~/work/amdovx-modules/deps/amdovx-core
% git status
... review changes and make sure that only files that you intended to change are listed ...
% git diff
... review every change to source code files ...
% git add list-of-file(s)
% git status
... review changes again and make sure that only files that you intended to change are listed ...
% git commit -m "describe your changes"
% git push
... this will push local commits into your personal repository on github ...
4.4 Create a pull request to GPUOpen-ProfessionalCompute-Libraries/amdovx-core
- select base fork as GPUOpen-ProfessionalCompute-Libraries/amdovx-core
- select base branch as develop
- select head fork as USER/amdovx-core
- select compare branch as your-name-initials/new-branch-name
- type in the title and comment
- scroll down and review all code change once more
- scroll up and click Create pull request button to submit the pull request
- select a reviewer
- once the pull request is accepted and merged, checkout develop branch and pull the latest changes
% cd ~/work/amdovx-modules/deps/amdovx-core
% git checkout develop
% git pull
- now you need to make sure
amdovx-modules
point to this change inamdovx-core
latest commit, by following instructions in Step 3.3 and Step 3.4 after verifying that all tests pass withamdovx-modules
andamdovx-core
repos.
See GitHub help for more details.
Now go back to Step 3.1