Skip to content

Commit 1cd29fb

Browse files
committed
task: more scanning and improvements
1 parent 714dc00 commit 1cd29fb

7 files changed

Lines changed: 140 additions & 0 deletions

File tree

‎.gitattributes‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Keep shell scripts LF on checkout so shellcheck and conda build scripts work
2+
# the same on Windows and WSL checkouts with core.autocrlf enabled.
3+
*.sh text eol=lf
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Bug report
2+
description: Report incorrect results, a crash, or a build failure
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
For security vulnerabilities, do not open an issue — follow
9+
[SECURITY.md](https://github.com/IntelPython/mkl_fft/blob/master/SECURITY.md).
10+
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Description
15+
description: What happened, and what did you expect instead?
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: reproducer
21+
attributes:
22+
label: Reproducer
23+
description: A minimal, self-contained snippet. Include the input shape and dtype.
24+
render: python
25+
validations:
26+
required: true
27+
28+
- type: dropdown
29+
id: install-source
30+
attributes:
31+
label: How was `mkl_fft` installed?
32+
options:
33+
- Intel channel (software.repos.intel.com)
34+
- conda-forge
35+
- pip / PyPI
36+
- Built from source
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
id: versions
42+
attributes:
43+
label: Versions
44+
description: |
45+
Output of:
46+
```
47+
python -c "import mkl_fft, numpy, mkl; print(mkl_fft.__version__); print(numpy.__version__); print(mkl.get_version_string())"
48+
```
49+
Add your OS and Python version too.
50+
render: shell
51+
validations:
52+
required: true
53+
54+
- type: textarea
55+
id: notes
56+
attributes:
57+
label: Anything else
58+
description: |
59+
Optional. Whether NumPy patching was active (`mkl_fft.is_patched()`), whether
60+
the result differs from `numpy.fft`/`scipy.fft`, or a non-default
61+
`MKL_NUM_THREADS`.
62+
validations:
63+
required: false

‎.github/ISSUE_TEMPLATE/config.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Security vulnerability
4+
url: https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html
5+
about: Report security vulnerabilities through Intel's process, not a public issue.
6+
- name: Question about usage
7+
url: https://github.com/IntelPython/mkl_fft/blob/master/README.md
8+
about: Check the README and the interfaces documentation first.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Feature request
2+
description: Propose a new transform, interface, or capability
3+
labels: ["enhancement"]
4+
body:
5+
- type: textarea
6+
id: problem
7+
attributes:
8+
label: What problem does this solve?
9+
description: The use case, not the implementation.
10+
validations:
11+
required: true
12+
13+
- type: textarea
14+
id: proposal
15+
attributes:
16+
label: Proposal
17+
description: |
18+
What you would like `mkl_fft` to do. If it mirrors a `numpy.fft` or
19+
`scipy.fft` function, name it — upstream signature and semantics are the
20+
contract for the interface layer.
21+
validations:
22+
required: true
23+
24+
- type: input
25+
id: upstream
26+
attributes:
27+
label: Upstream equivalent
28+
description: Link to the NumPy or SciPy docs for the equivalent API, if there is one.
29+
validations:
30+
required: false
31+
32+
- type: textarea
33+
id: alternatives
34+
attributes:
35+
label: Alternatives considered
36+
description: Optional. Workarounds you are using today.
37+
validations:
38+
required: false

‎.gitignore‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ mkl_fft.egg-info/
55
# Byte-compiled / optimized / DLL files
66
__pycache__/
77

8+
# Virtual environments, test caches, local env files
9+
.venv/
10+
venv/
11+
.pytest_cache/
12+
.env
13+
814
mkl_fft/_pydfti.c
915
mkl_fft/_pydfti.cpython*.so
1016
mkl_fft/_pydfti.*-win_amd64.pyd

‎AGENTS.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ It provides accelerated FFT transforms while aiming to preserve upstream API beh
1414
- **Tests:** `mkl_fft/tests/`
1515
- **Vendored helpers:** `_vendored/`
1616
- **Packaging:** `conda-recipe/`, `conda-recipe-cf/`
17+
- **Benchmarks:** `benchmarks/`
1718

1819
## Build/runtime basics
1920
- Build system: `pyproject.toml` + `meson.build`
@@ -46,3 +47,4 @@ Use nearest local `AGENTS.md` when present:
4647
- `conda-recipe/AGENTS.md` — Intel-channel conda packaging
4748
- `conda-recipe-cf/AGENTS.md` — conda-forge recipe context
4849
- `_vendored/AGENTS.md` — vendored tooling boundaries
50+
- `benchmarks/AGENTS.md` — ASV performance suite

‎benchmarks/AGENTS.md‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# AGENTS.md — benchmarks/
2+
3+
ASV performance suite for `mkl_fft`.
4+
5+
## Scope
6+
- `asv.conf.json` — ASV configuration, channels, and regression thresholds
7+
- `benchmarks/` — benchmark modules (`bench_fft1d`, `bench_fftnd`,
8+
`bench_interfaces`, `bench_memory`) plus shared bases in `_utils.py`
9+
- `README.md` — coverage table, threading model, and run commands
10+
11+
## Guardrails
12+
- Treat `asv.conf.json` as canonical for ASV settings; treat `README.md` as
13+
canonical for what each module covers.
14+
- Comparability across machines depends on the thread default in
15+
`benchmarks/__init__.py` and the DFTI warmup in each `setup`. Changing either
16+
invalidates comparison against existing results — call it out explicitly.
17+
- Keep inputs deterministic; benchmarks seed their own RNG.
18+
- Report performance numbers with reproducible context: hardware, thread count,
19+
versions, and the command used.
20+
- Benchmark results under `.asv/` are local artifacts and are gitignored.

0 commit comments

Comments
 (0)