Skip to content

Commit bccaba6

Browse files
authored
Merge branch 'halide:main' into main
2 parents 8272670 + 59553d7 commit bccaba6

583 files changed

Lines changed: 13038 additions & 7998 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,8 @@ Standard: c++17
3838
TabWidth: 8
3939
UseTab: Never
4040
...
41+
---
42+
Language: Json
43+
IndentWidth: 2
44+
ColumnLimit: 0
45+
...

.clang-tidy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
---
2+
# keep-sorted start skip_lines=10
23
Checks: >
34
*,
45
-abseil-*,
@@ -159,6 +160,7 @@ Checks: >
159160
-readability-use-anyofallof,
160161
-readability-use-concise-preprocessor-directives,
161162
-readability-use-std-min-max,
163+
# keep-sorted end
162164
WarningsAsErrors: '*'
163165
HeaderFilterRegex: '.*'
164166
ExcludeHeaderFilterRegex: '\.fbs\.h|common/cmdline\.h|/mini_\w*\.h'

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@
3333
// Comment out to connect as the root user.
3434
"remoteUser": "ubuntu",
3535
"containerUser": "root"
36-
}
36+
}

.git-blame-ignore-revs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Bulk clang-format runs
2+
5e17a20783854e158c06729a2c9b788d2e041928 # Some clang-format suggestions (2018-05-08)
3+
fb89ed72cc0710ddba7d0734e38b72e6f6b9c1fd # clang-format nearly everything in src (2019-09-27)
4+
b465318a583ff58114ac63ecd8125ca7e648ae35 # Apply clang-format to the rest of apps/ (2019-12-03)
5+
e9ee1023649af4cd671b84c9068a0f208f2da3ee # Apply clang-format to test/*/* (2019-12-30)
6+
f1aa07bf66677393cca617942cd0973b35e1ee54 # Run clang-format on src/runtime (2019-12-30)
7+
8+
# clang-format version upgrades
9+
4b2d21154c5eda4e3ece657e4886d45fa78069f1 # Upgrade clang-format and clang-tidy to use LLVM 17 (#8042)
10+
6b9f786292471d92a4d421a45a8a128344079825 # Upgrade to clang-format 19 (#8543)
11+
bd5b85fd402b49c3c1775a37899d66d8388c782e # Remove most disablings of clang-format (#8874)
12+
13+
# Mechanical bulk changes
14+
a804b09c9059771a2930e96ce3050d6b84bf2f89 # <Halide.h> -> "Halide.h" (2015-02-24)
15+
512240ed29146f9eac4d73db5bbd0f659f952a23 # Adding `override` keyword where applicable (2018-10-09)
16+
eebc6fe793a030ea11e44b0213d09e9115cc9c4e # Move Halide.h to front of correctness test includes (2019-01-09)
17+
822f5da6731ec206ba748e0fdf55a09674343199 # Don't return negative values from main() (#7406)
18+
19+
# pre-commit rollout
20+
9baf7fcfcca5d00f79fb8f2b4aa6853783ece035 # Use pre-commit to implement GHA basic checks (#9015)
21+
93226012ef7c4ed05bf2c69bce4bc75e0e601317 # pre-commit: enable codespell; fix typos and cryptic names (#9019)
22+
e58aa4ede36e41e2e827024196a838c87f2970ae # pre-commit: check CMake sources for style guide violations (#9020)
23+
f700a7121b3652a354e438d81615638887d241c8 # pre-commit: enable shfmt and shellcheck (#9021)
24+
c07af18f0c57914afd8fde38b4bb782fea236678 # pre-commit: enable mdformat (markdown) (#9022)
25+
751a6915cf34a06524c6213f3b2283b5d33d1fa2 # pre-commit: keep sorted lists in order (#9024)
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Bug report
2+
description: Report a functional correctness problem (wrong output, crash, compilation failure, etc.)
3+
labels: [ "bug" ]
4+
body:
5+
- type: textarea
6+
id: description
7+
attributes:
8+
label: Description
9+
description: >-
10+
A clear and concise description of the bug. What happened and how
11+
did it differ from what you expected? Include error messages or
12+
incorrect output.
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: reproducer
17+
attributes:
18+
label: Reproducing case
19+
description: >-
20+
A minimal, self-contained code example that demonstrates the problem. The
21+
smaller and more self-contained, the better. Ideally, it should look like
22+
one of the tests in `test/correctness`.
23+
render: cpp
24+
validations:
25+
required: true
26+
- type: dropdown
27+
id: halide-source
28+
attributes:
29+
label: How did you get Halide?
30+
options:
31+
- Built from source
32+
- pip (halide)
33+
- vcpkg
34+
- Homebrew
35+
- GitHub release binary
36+
- Other (describe below)
37+
validations:
38+
required: false
39+
- type: input
40+
id: halide-version
41+
attributes:
42+
label: Halide version
43+
description: >-
44+
The version number reported by your package manager, or the release tag
45+
if you downloaded a binary.
46+
placeholder: "e.g. 19.0.0"
47+
validations:
48+
required: false
49+
- type: input
50+
id: halide-commit
51+
attributes:
52+
label: Halide commit (if known)
53+
description: >-
54+
If you built from source, the commit hash you built from.
55+
placeholder: "e.g. abc1234"
56+
validations:
57+
required: false
58+
- type: input
59+
id: target
60+
attributes:
61+
label: Target
62+
description: The Halide target string used when the bug occurs.
63+
placeholder: "e.g. x86-64-linux-avx2, arm-64-osx"
64+
validations:
65+
required: false
66+
- type: input
67+
id: os
68+
attributes:
69+
label: Operating system
70+
placeholder: "e.g. Ubuntu 24.04, macOS 15.3, Windows 11"
71+
validations:
72+
required: false
73+
- type: textarea
74+
id: extra
75+
attributes:
76+
label: Additional context
77+
description: Anything else that might be relevant (build flags, environment, workarounds found, etc.)
78+
validations:
79+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Questions
4+
url: https://github.com/halide/Halide/discussions/categories/q-a
5+
about: Ask questions about using Halide in GitHub Discussions.
6+
- name: Ideas and brainstorming
7+
url: https://github.com/halide/Halide/discussions/categories/ideas
8+
about: >-
9+
Share early-stage ideas or brainstorm in Discussions. Polished proposals
10+
can be promoted to a feature specification issue.
11+
- name: Contributor guidelines
12+
url: https://github.com/halide/Halide/blob/main/CONTRIBUTING.md
13+
about: >-
14+
Guidelines for contributing to Halide development. Read these before
15+
making a pull request or filing an issue.
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Enhancement request
2+
description: Report a case where Halide produces a correct output in a suboptimal way
3+
labels: [ "enhancement" ]
4+
body:
5+
- type: textarea
6+
id: description
7+
attributes:
8+
label: Description
9+
description: >-
10+
Describe the problem: could an error message could be made clearer?
11+
Is documentation is missing or misleading?
12+
Was an optimization was missed?
13+
Did a pipeline take unexpectedly long to compile?
14+
validations:
15+
required: true
16+
- type: textarea
17+
id: reproducer
18+
attributes:
19+
label: Reproducing case
20+
description: >-
21+
A minimal, self-contained code example that demonstrates the problem. The
22+
smaller and more self-contained, the better. Ideally, it should look like
23+
one of the tests in `test/correctness`.
24+
render: cpp
25+
validations:
26+
required: true
27+
- type: dropdown
28+
id: halide-source
29+
attributes:
30+
label: How did you get Halide?
31+
options:
32+
- Built from source
33+
- pip (halide)
34+
- vcpkg
35+
- Homebrew
36+
- GitHub release binary
37+
- Other (describe below)
38+
validations:
39+
required: false
40+
- type: input
41+
id: halide-version
42+
attributes:
43+
label: Halide version
44+
description: >-
45+
The version number reported by your package manager, or the release tag
46+
if you downloaded a binary.
47+
placeholder: "e.g. 19.0.0"
48+
validations:
49+
required: false
50+
- type: input
51+
id: halide-commit
52+
attributes:
53+
label: Halide commit (if known)
54+
description: >-
55+
If you built from source, the commit hash you built from.
56+
placeholder: "e.g. abc1234"
57+
validations:
58+
required: false
59+
- type: input
60+
id: target
61+
attributes:
62+
label: Target
63+
description: The Halide target string used when the bug occurs.
64+
placeholder: "e.g. x86-64-linux-avx2, arm-64-osx"
65+
validations:
66+
required: false
67+
- type: input
68+
id: os
69+
attributes:
70+
label: Operating system
71+
placeholder: "e.g. Ubuntu 24.04, macOS 15.3, Windows 11"
72+
validations:
73+
required: false
74+
- type: textarea
75+
id: extra
76+
attributes:
77+
label: Additional context
78+
description: Anything else that might be relevant (build flags, environment, workarounds found, etc.)
79+
validations:
80+
required: false
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Feature specification
2+
description: >-
3+
Propose a well-specified new feature. For early-stage ideas, please start a
4+
Discussion instead.
5+
labels: [ "feature" ]
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: >-
10+
**Note:** This template is for polished feature proposals. If your idea is
11+
still in the brainstorming stage, please
12+
[start a Discussion](https://github.com/halide/Halide/discussions/categories/ideas)
13+
instead. It can be promoted to an issue once the design solidifies.
14+
- type: textarea
15+
id: problem
16+
attributes:
17+
label: Problem statement
18+
description: What problem does this feature solve? Who is affected?
19+
validations:
20+
required: true
21+
- type: textarea
22+
id: proposal
23+
attributes:
24+
label: Proposed solution
25+
description: >-
26+
Describe the feature in detail. Include proposed API surfaces, semantics,
27+
and behavior. Compare this solution to other approaches you considered.
28+
Why is this one preferred?
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: extra
33+
attributes:
34+
label: Additional context
35+
description: >-
36+
References, related issues, prior art in other projects, or anything
37+
else that supports the proposal.
38+
validations:
39+
required: false

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
open-pull-requests-limit: 10
8+
labels:
9+
- dependencies
10+
- github-actions

.github/pull_request_template.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!-- Describe your changes and the motivation behind them. -->
2+
3+
Fixes #<!-- issue number, if applicable -->
4+
5+
## Breaking changes
6+
7+
List any breaking changes here. If there are none, you can remove this section.
8+
Common breaking changes include:
9+
10+
- Changes to any existing APIs in the `Halide::` namespace, but not the
11+
`Halide::Internal::` namespace.
12+
- Anything else that may cause existing Halide code to fail to compile or change
13+
output.
14+
15+
These do not necessarily disqualify a PR from being merged, but they should at
16+
least be tagged with the `release_notes` label.
17+
18+
## Checklist
19+
20+
- [ ] Tests added or updated (not required for docs, CI config, or typo fixes)
21+
- [ ] Documentation updated (if public API changed)
22+
- [ ] Python bindings updated (if public API changed)
23+
- [ ] Benchmarks are included here if the change is intended to affect performance.
24+
- [ ] Commits include AI attribution where applicable (see Code of Conduct)

0 commit comments

Comments
 (0)