Skip to content

Commit

Permalink
Merge branch 'sycl-develop' into sync
Browse files Browse the repository at this point in the history
# Conflicts:
#	examples/CMakeLists.txt
#	examples/cute/tutorial/tiled_copy_sycl.cpp
#	include/cute/arch/copy_sm90_desc.hpp
#	include/cute/arch/util.hpp
#	include/cute/atom/mma_traits.hpp
#	include/cute/numeric/numeric_types.hpp
#	include/cutlass/arch/barrier.h
#	include/cutlass/epilogue/collective/collective_epilogue.hpp
#	include/cutlass/epilogue/fusion/xe_callbacks.hpp
#	include/cutlass/gemm/collective/collective_builder.hpp
#	include/cutlass/gemm/device/gemm.h
#	include/cutlass/gemm/device/gemm_universal_adapter.h
#	include/cutlass/gemm/dispatch_policy.hpp
#	include/cutlass/gemm/kernel/sm90_gemm_array_tma_warpspecialized_cooperative.hpp
#	include/cutlass/gemm/kernel/sm90_gemm_tma_warpspecialized.hpp
#	include/cutlass/gemm/kernel/sm90_tile_scheduler_stream_k.hpp
#	include/cutlass/gpu_generics.h
#	include/cutlass/platform/platform.h
#	test/unit/gemm/device/gemm_testbed_3x.hpp
#	tools/library/CMakeLists.txt
#	tools/util/include/cutlass/util/device_memory.h
  • Loading branch information
aacostadiaz committed Dec 5, 2024
2 parents cbea514 + e6466a9 commit bd28827
Show file tree
Hide file tree
Showing 191 changed files with 21,488 additions and 704 deletions.
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

version: 2
updates:
# Enable version updates for Github Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-actions:
patterns:
- "*"
reviewers:
- "codeplaysoftware/security-managers"
87 changes: 87 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: "CodeQL"

on:
push:
branches: [ "sycl-develop" ]
pull_request:
branches: [ "sycl-develop" ]
schedule:
- cron: '23 5 * * 5'

permissions: {}

jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
timeout-minutes: 360
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: c-cpp
build-mode: manual
- language: python
build-mode: none

container:
image: nvidia/cuda:12.4.1-devel-ubuntu22.04

steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}

- name: Install dependencies
if: matrix.build-mode == 'none'
shell: bash
run: |
apt update && apt install -y python3
# For a specific DPC++ nightly build define the repository variable DPCPP_VERSION
# for example using the tag: 'nightly-2024-04-22'
- name: Build
if: matrix.build-mode == 'manual'
shell: bash
run: |
apt update && apt install -y cmake curl git jq libstdc++-12-dev ninja-build python3 wget && \
pushd /usr/local && \
echo "Will use DPCPP $DPCPP_VERSION."
if [[ "$DPCPP_VERSION" != "" ]]; then \
echo "Downloading DPCPP from https://github.com/intel/llvm/releases/download/$DPCPP_VERSION/sycl_linux.tar.gz"; \
wget -q https://github.com/intel/llvm/releases/download/$DPCPP_VERSION/sycl_linux.tar.gz; \
else
latest=$(curl -sS https://api.github.com/repos/intel/llvm/releases | jq -r '[.[].tag_name|select(match("nightly-[0-9]{4}-[0-9]{2}-[0-9]{2}"))][0]') && \
echo "Downloading DPCPP from https://github.com/intel/llvm/releases/download/${latest}/sycl_linux.tar.gz"; \
wget -q https://github.com/intel/llvm/releases/download/${latest}/sycl_linux.tar.gz; \
fi && \
tar -xf sycl_linux.tar.gz && \
export PATH=/usr/local/bin/:$PATH && \
export C_INCLUDE_PATH=/usr/local/include/:$C_INCLUDE_PATH && \
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH && \
export CC=clang && \
export CXX=clang++ && \
popd && \
clang++ --version && \
cmake -G Ninja \
-DCMAKE_CUDA_HOST_COMPILER=clang++ \
-DCUTLASS_ENABLE_SYCL=ON \
-DDPCPP_SYCL_TARGET=nvptx64-nvidia-cuda \
-DDPCPP_SYCL_ARCH=sm_80 && \
cmake --build .
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8
with:
category: "/language:${{matrix.language}}"
53 changes: 53 additions & 0 deletions .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Coverity Scan

# We only want to test official release code, not every pull request.
on:
push:
branches:
- sycl-develop
pull_request:

permissions: read-all

jobs:
coverity:
runs-on: ubuntu-latest
container: nvidia/cuda:12.4.1-devel-ubuntu22.04
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Configure image
run: >
apt update && apt install -y cmake curl git jq libstdc++-12-dev \
ninja-build python3 wget
- name: Download DPCPP
shell: bash
run: |
cd /usr/local
echo "Will use DPCPP ${DPCPP_VERSION:-latest}."
if [[ "${DPCPP_VERSION}" != "" ]]; then
echo "Downloading DPCPP from https://github.com/intel/llvm/releases/download/$DPCPP_VERSION/sycl_linux.tar.gz"
wget -q https://github.com/intel/llvm/releases/download/$DPCPP_VERSION/sycl_linux.tar.gz
else
latest=$(curl -sS https://api.github.com/repos/intel/llvm/releases | jq -r '[.[].tag_name|select(match("nightly-[0-9]{4}-[0-9]{2}-[0-9]{2}"))][0]')
echo "Downloading DPCPP from https://github.com/intel/llvm/releases/download/${latest}/sycl_linux.tar.gz"
wget -q https://github.com/intel/llvm/releases/download/${latest}/sycl_linux.tar.gz
fi
tar -xf sycl_linux.tar.gz
- name: Configure CMake
run: |
export PATH=/usr/local/bin/:$PATH
export C_INCLUDE_PATH=/usr/local/include/:$C_INCLUDE_PATH
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
export CC=clang
export CXX=clang++
cmake -G Ninja \
-DCMAKE_CUDA_HOST_COMPILER=clang++ \
-DCUTLASS_ENABLE_SYCL=ON \
-DDPCPP_SYCL_TARGET=nvptx64-nvidia-cuda \
-DDPCPP_SYCL_ARCH=sm_80
- uses: vapier/coverity-scan-action@2068473c7bdf8c2fb984a6a40ae76ee7facd7a85 # v1.8.0
with:
email: ${{ secrets.COVERITY_SCAN_EMAIL }}
token: ${{ secrets.COVERITY_SCAN_TOKEN }}
command: cmake --build .
working-directory: ''
33 changes: 33 additions & 0 deletions .github/workflows/cuda_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: "Cuda Test"

on:
push:
branches: [ "sycl-develop" ]
pull_request:
branches: [ "sycl-develop" ]
workflow_dispatch:

permissions: {}

jobs:
run-tests:
name: Run cuda tests
runs-on: cp-nvidia-gpu
timeout-minutes: 120

steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6

- name: Build
shell: bash
run: |
nvidia-smi
export CUDACXX=/usr/local/cuda/bin/nvcc
cmake -G Ninja -DCUTLASS_NVCC_ARCHS="90a"
cmake --build .
- name: Unit test
shell: bash
run: |
cmake --build . --target test_unit -j
4 changes: 3 additions & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ name: "Pull Request Labeler"
on:
- pull_request_target

permissions: {}

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@main
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
9 changes: 6 additions & 3 deletions .github/workflows/new-issues-to-triage-projects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,30 @@ on:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

permissions:
issues: read

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
uses: takanabe/github-actions-automate-projects@5d004c140c65fa8b4ef3b18a38219ce680bce816 # v2.0.0
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
uses: takanabe/github-actions-automate-projects@5d004c140c65fa8b4ef3b18a38219ce680bce816 # v2.0.0
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
uses: takanabe/github-actions-automate-projects@5d004c140c65fa8b4ef3b18a38219ce680bce816 # v2.0.0
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 }}
Expand Down
53 changes: 53 additions & 0 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Scorecards' GitHub action

name: Scorecard supply-chain security
on:
# For Branch-Protection check. Only the default branch is supported. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
branch_protection_rule:
schedule:
- cron: '18 16 * * 3'
push:
branches: [ "sycl-develop" ]

# Declare default permissions as read only.
permissions: read-all

jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
# Needed to publish results and get a badge (see publish_results below).
id-token: write

steps:
- name: "Checkout code"
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3
with:
results_file: results.sarif
results_format: sarif
publish_results: true

# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8
with:
sarif_file: results.sarif
6 changes: 4 additions & 2 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ on:
schedule:
- cron: "0 * * * *"

permissions: {}

jobs:
mark-inactive-30d:
runs-on: ubuntu-latest
steps:
- name: Mark 30 day inactive issues and pull requests
uses: actions/stale@v3
uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: >
Expand All @@ -35,7 +37,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Mark 90 day inactive issues and pull requests
uses: actions/stale@v3
uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: >
Expand Down
Loading

0 comments on commit bd28827

Please sign in to comment.