From 4e666e1dfd5b32377ba66bb0438a13f528cfb228 Mon Sep 17 00:00:00 2001 From: Andrew Kerr Date: Fri, 17 Dec 2021 09:26:20 -0500 Subject: [PATCH] Updated README and added issue templates. (#382) --- .github/ISSUE_TEMPLATE/bug_report.md | 23 ++++++++ .../ISSUE_TEMPLATE/documentation_request.md | 35 ++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 +++++++ .github/ISSUE_TEMPLATE/submit_question.md | 10 ++++ .github/workflows/labeler.yml | 11 ++++ .../new-issues-to-triage-projects.yml | 35 ++++++++++++ .github/workflows/stale.yml | 57 +++++++++++++++++++ README.md | 7 ++- 8 files changed, 196 insertions(+), 2 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/documentation_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/submit_question.md create mode 100644 .github/workflows/labeler.yml create mode 100644 .github/workflows/new-issues-to-triage-projects.yml create mode 100644 .github/workflows/stale.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..86322616 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,23 @@ +--- +name: Bug report +about: Create a bug report to help us improve CUTLASS +title: "[BUG]" +labels: "? - Needs Triage, bug" +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Steps/Code to reproduce bug** +Follow this guide http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports to craft a minimal bug report. This helps us reproduce the issue you're having and resolve the issue more quickly. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Environment details (please complete the following information):** + - Environment location: [Bare-metal, Docker, Cloud(specify cloud provider)] + +**Additional context** +Add any other context about the problem here. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/documentation_request.md b/.github/ISSUE_TEMPLATE/documentation_request.md new file mode 100644 index 00000000..9e96105f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation_request.md @@ -0,0 +1,35 @@ +--- +name: Documentation request +about: Report incorrect or needed documentation to improve CUTLASS +title: "[DOC]" +labels: "? - Needs Triage, documentation" +assignees: '' + +--- + +## Report incorrect documentation + +**Location of incorrect documentation** +Provide links and line numbers if applicable. + +**Describe the problems or issues found in the documentation** +A clear and concise description of what you found to be incorrect. + +**Steps taken to verify documentation is incorrect** +List any steps you have taken: + +**Suggested fix for documentation** +Detail proposed changes to fix the documentation if you have any. + +--- + +## Report needed documentation + +**Report needed documentation** +A clear and concise description of what documentation you believe it is needed and why. + +**Describe the documentation you'd like** +A clear and concise description of what you want to happen. + +**Steps taken to search for needed documentation** +List any steps you have taken: \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..9ea8e6de --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for CUTLASS +title: "[FEA]" +labels: "? - Needs Triage, feature request" +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I wish I could use CUTLASS to do [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context, code examples, or references to existing implementations about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/submit_question.md b/.github/ISSUE_TEMPLATE/submit_question.md new file mode 100644 index 00000000..743f893f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/submit_question.md @@ -0,0 +1,10 @@ +--- +name: Submit question +about: Ask a general question about CUTLASS +title: "[QST]" +labels: "? - Needs Triage, question" +assignees: '' + +--- + +**What is your question?** \ No newline at end of file diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 00000000..6510938e --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,11 @@ +name: "Pull Request Labeler" +on: +- pull_request_target + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@main + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file diff --git a/.github/workflows/new-issues-to-triage-projects.yml b/.github/workflows/new-issues-to-triage-projects.yml new file mode 100644 index 00000000..3049176e --- /dev/null +++ b/.github/workflows/new-issues-to-triage-projects.yml @@ -0,0 +1,35 @@ +name: Auto Assign New Issues to Triage Project + +on: + issues: + types: [opened] + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + assign_one_project: + runs-on: ubuntu-latest + name: Assign to New Issues to Triage Project + steps: + - name: Process bug issues + uses: docker://takanabe/github-actions-automate-projects:v0.0.1 + if: contains(github.event.issue.labels.*.name, 'bug') && contains(github.event.issue.labels.*.name, '? - Needs Triage') + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_PROJECT_URL: https://github.com/NVIDIA/cutlass + GITHUB_PROJECT_COLUMN_NAME: 'Needs prioritizing' + - name: Process feature issues + uses: docker://takanabe/github-actions-automate-projects:v0.0.1 + if: contains(github.event.issue.labels.*.name, 'feature request') && contains(github.event.issue.labels.*.name, '? - Needs Triage') + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_PROJECT_URL: https://github.com/NVIDIA/cutlass + GITHUB_PROJECT_COLUMN_NAME: 'Needs prioritizing' + - name: Process other issues + uses: docker://takanabe/github-actions-automate-projects:v0.0.1 + if: contains(github.event.issue.labels.*.name, '? - Needs Triage') && (!contains(github.event.issue.labels.*.name, 'bug') && !contains(github.event.issue.labels.*.name, 'feature request')) + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_PROJECT_URL: https://github.com/NVIDIA/cutlass + GITHUB_PROJECT_COLUMN_NAME: 'Needs prioritizing' \ No newline at end of file diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 00000000..cb2e7275 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,57 @@ +name: Mark inactive issues and pull requests + +on: + schedule: + - cron: "0 * * * *" + +jobs: + mark-inactive-30d: + runs-on: ubuntu-latest + steps: + - name: Mark 30 day inactive issues and pull requests + uses: actions/stale@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: > + This issue has been labeled `inactive-30d` due to no recent activity in the past 30 days. + Please close this issue if no further response or action is needed. + Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. + This issue will be labeled `inactive-90d` if there is no activity in the next 60 days. + stale-issue-label: "inactive-30d" + exempt-issue-labels: "0 - Blocked,0 - Backlog,good first issue" + days-before-issue-stale: 30 + days-before-issue-close: -1 + stale-pr-message: > + This PR has been labeled `inactive-30d` due to no recent activity in the past 30 days. + Please close this PR if it is no longer required. + Otherwise, please respond with a comment indicating any updates. + This PR will be labeled `inactive-90d` if there is no activity in the next 60 days. + stale-pr-label: "inactive-30d" + exempt-pr-labels: "0 - Blocked,0 - Backlog,good first issue" + days-before-pr-stale: 30 + days-before-pr-close: -1 + operations-per-run: 50 + mark-inactive-90d: + runs-on: ubuntu-latest + steps: + - name: Mark 90 day inactive issues and pull requests + uses: actions/stale@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: > + This issue has been labeled `inactive-90d` due to no recent activity in the past 90 days. + Please close this issue if no further response or action is needed. + Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. + stale-issue-label: "inactive-90d" + exempt-issue-labels: "0 - Blocked,0 - Backlog,good first issue" + days-before-issue-stale: 90 + days-before-issue-close: -1 + stale-pr-message: > + This PR has been labeled `inactive-90d` due to no recent activity in the past 90 days. + Please close this PR if it is no longer required. + Otherwise, please respond with a comment indicating any updates. + stale-pr-label: "inactive-90d" + exempt-pr-labels: "0 - Blocked,0 - Backlog,good first issue" + days-before-pr-stale: 90 + days-before-pr-close: -1 + operations-per-run: 50 \ No newline at end of file diff --git a/README.md b/README.md index 3fab8fe2..6d1b1905 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,11 @@ CUTLASS 2.8 is an update to CUTLASS adding: CUTLASS primitives are very efficient. When used to construct device-wide GEMM kernels, they exhibit performance comparable to cuBLAS for scalar GEMM computations. The above figure shows CUTLASS performance relative to cuBLAS -for large matrix dimensions on an NVIDIA GeForce 2080 Ti, an NVIDIA A100, and an NVIDIA TitanV -using CUDA 11.0 Toolkit. Tensor Core operations are implemented using CUDA's +for large matrix dimensions on an [NVIDIA A100](https://www.nvidia.com/en-us/data-center/a100/), +an [NVIDIA A2](https://www.nvidia.com/en-us/data-center/products/a2/), +an [NVIDIA TitanV](https://www.nvidia.com/en-us/titan/titan-v/), +and an [NVIDIA GeForce 2080 Ti](https://www.nvidia.com/en-us/geforce/graphics-cards/rtx-2080-ti/) +compiled with the [CUDA 11.5 Toolkit](https://developer.nvidia.com/cuda-downloads). Tensor Core operations are implemented using CUDA's [mma instruction](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-mma). # Compatibility