Skip to content

Commit

Permalink
Merge pull request #165 from CVCUDA/feat/dlesage/v0.8.x
Browse files Browse the repository at this point in the history
feat: adding code for release v0.8.0 of CV-CUDA
  • Loading branch information
milesp-nvidia authored May 31, 2024
2 parents 11d40a4 + 48df11e commit b3bd172
Show file tree
Hide file tree
Showing 75 changed files with 4,349 additions and 1,002 deletions.
67 changes: 43 additions & 24 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
Expand All @@ -22,11 +11,11 @@ on:
jobs:
analyze:
name: Analyze
runs-on: ${{ (matrix.language == 'c-cpp' && 'ubuntu-20.04-64core') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
runs-on: ubuntu-20.04-64core
timeout-minutes: 360
permissions:
actions: read
contents: read
actions: write
contents: write
security-events: write

strategy:
Expand All @@ -36,27 +25,35 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
lfs: true
submodules: 'recursive'

- if: matrix.language == 'c-cpp'
name: Setup environment
run: |
sudo apt update -y && sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt update -y && sudo apt install -y --no-install-recommends \
git git-lfs gcc-11 g++-11 ninja-build ccache libgtest-dev libgmock-dev \
shellcheck curl doxygen python3 python3-pip python3-dev python3-distutils
shellcheck curl doxygen python3 python3-pip python3-dev python3-distutils \
texlive-latex-extra ghostscript graphviz \
&& curl -L https://cmake.org/files/v3.20/cmake-3.20.1-linux-x86_64.tar.gz --output /tmp/cmake-3.20.1.tar.gz \
&& tar -xzf /tmp/cmake-3.20.1.tar.gz -C /tmp/ && sudo cp -r /tmp/cmake-3.20.1-linux-x86_64/bin/ /usr/local/ \
&& sudo cp -r /tmp/cmake-3.20.1-linux-x86_64/share/ /usr/local/ && sudo cp -r /tmp/cmake-3.20.1-linux-x86_64/doc/ /usr/local/ \
&& rm -rf /tmp/cmake-3.20.1*
- if: matrix.language == 'c-cpp'
name: Install Python Dependencies
run: |
python3 -m pip install sphinx-rtd-theme sphinx==4.5.0 breathe exhale \
recommonmark graphviz numpy==1.24.1
sudo apt update -y && sudo apt install -y --no-install-recommends \
python3 python3-pip python3-dev python3-distutils doxygen && sudo rm -rf /var/lib/apt/lists/* \
&& python3 -m pip install sphinx-rtd-theme sphinx breathe exhale recommonmark graphviz \
&& python3 -m pip install numpy==1.24.1 patchelf==0.17.2.1
- if: matrix.language == 'c-cpp'
name: Install CUDA Toolkit
uses: Jimver/[email protected].11
uses: Jimver/[email protected].15
id: cuda-toolkit
with:
cuda: '11.7.1'
Expand All @@ -72,22 +69,44 @@ jobs:
nvcc -V
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
queries: +security-and-quality

- if: matrix.language != 'c-cpp'
name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

- if: matrix.language == 'c-cpp'
name: Build CMake project
run: |
echo "Running CMake project build script"
./ci/build.sh debug build "-DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF" $*
./ci/build.sh debug build "-DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PYTHON=ON" $*
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

- if: matrix.language == 'c-cpp' && github.event_name == 'push'
name: Build Docs and Clean up Sphinx Build Directory
run: |
./ci/build.sh debug build "-DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_DOCS=ON -DBUILD_PYTHON=ON" $*
find build/docs/sphinx -name '*.doctree' -delete
find build/docs/sphinx -name '*.map' -delete
find build/docs/sphinx -name '*.pickle' -delete
find build/docs/sphinx -name '*.inv' -delete
find build/docs/sphinx -name '*.gz' -delete
- if: matrix.language == 'c-cpp' && github.event_name == 'push'
name: Create .nojekyll file
run: touch build/docs/sphinx/.nojekyll

- if: matrix.language == 'c-cpp' && github.event_name == 'push'
name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: build/docs/sphinx
branch: gh-pages
clean: true
91 changes: 0 additions & 91 deletions .pre-commit-config.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ endif()

project(cvcuda
LANGUAGES C CXX
VERSION 0.7.0
VERSION 0.8.0
DESCRIPTION "CUDA-accelerated Computer Vision algorithms"
)

Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

# Contributing to CV-CUDA

**As of release v0.7.0-beta, CV-CUDA is not accepting outside contribution.**
**Currently, CV-CUDA is not accepting outside contributions.**

Contributions to CV-CUDA fall into the following categories:

Expand All @@ -28,8 +28,8 @@ Contributions to CV-CUDA fall into the following categories:
1. To propose a new feature, please file a new feature request
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). Describe the
intended feature and discuss the design and implementation with the team and
community. NOTE: Currently, as of release v0.7.0-beta, CV-CUDA is not accepting
outside contribution.
community. NOTE: Currently, CV-CUDA is not accepting
outside contributions.
1. To ask a general question, please sumbit a question
[issue](https://github.com/CVCUDA/CV-CUDA/issues/new/choose). If you need
more context on a particular issue, please ask in a comment.
Expand Down
1 change: 1 addition & 0 deletions DEVELOPER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ CV-CUDA includes:
| Reformat | Converts a planar image into non-planar and vice versa |
| Remap | Maps pixels in an image with one projection to another projection in a new image. |
| Resize | Changes the size and scale of an image |
| ResizeCropConvertReformat | Performs fused Resize-Crop-Convert-Reformat sequence with optional channel reordering |
| Rotate | Rotates a 2D array in multiples of 90 degrees |
| SIFT | Identifies and describes features in images that are invariant to scale rotation and affine distortion. |
| Thresholding | Chooses a global threshold value that is the same for all pixels across the image. |
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

[![License](https://img.shields.io/badge/License-Apache_2.0-yellogreen.svg)](https://opensource.org/licenses/Apache-2.0)

![Version](https://img.shields.io/badge/Version-v0.7.0--beta-blue)
![Version](https://img.shields.io/badge/Version-v0.8.0--beta-blue)

![Platform](https://img.shields.io/badge/Platform-linux--64_%7C_win--64_wsl2%7C_aarch64-gray)

Expand Down Expand Up @@ -76,10 +76,10 @@ Choose the installation method that meets your environment needs.

Download the appropriate .whl file for your computer architecture, Python and CUDA version from the release assets of current CV-CUDA release. Release information of all CV-CUDA releases can be found [here][CV-CUDA GitHub Releases]. Once downloaded, execute the `pip install` command to install the Python wheel. For example:
```shell
pip install cvcuda_<cu_ver>-0.7.0b0-cp<py_ver>-cp<py_ver>-linux_<arch>.whl
pip install cvcuda_<cu_ver>-<x.x.x>-cp<py_ver>-cp<py_ver>-linux_<arch>.whl
```

where `<cu_ver>` is the desired CUDA version, `<py_ver>` is the desired Python version and `<arch>` is the desired architecture.
where `<cu_ver>` is the desired CUDA version, `<x.x.x>` is the CV-CUDA release version, `<py_ver>` is the desired Python version and `<arch>` is the desired architecture.

Please note that the Python wheels are standalone, they include both the C++/CUDA libraries and the Python bindings.

Expand Down Expand Up @@ -185,8 +185,8 @@ Install the dependencies required to build the documentation:
On Ubuntu, install the following packages using `apt` and `pip`:
```shell
apt install -y doxygen graphviz python3 python3-pip
python3 -m pip install sphinx==4.5.0 breathe exhale recommonmark graphviz sphinx-rtd-theme
apt install -y doxygen graphviz python3 python3-pip sphinx
python3 -m pip install breathe exhale recommonmark graphviz sphinx-rtd-theme
```
Build the documentation:
Expand Down Expand Up @@ -249,7 +249,7 @@ pip install cvcuda_cu12-<x.x.x>-cp310-cp310-linux_x86_64.whl

CV-CUDA is an open source project. As part of the Open Source Community, we are
committed to the cycle of learning, improving, and updating that makes this
community thrive. However, as of release v0.7.0-beta, CV-CUDA is not yet ready
community thrive. However, CV-CUDA is not yet ready
for external contributions.

To understand the process for contributing the CV-CUDA, see our
Expand Down
Loading

0 comments on commit b3bd172

Please sign in to comment.