Skip to content

Commit fcb490d

Browse files
authored
Merge branch 'main' into ranuk/open-source-doc-updates
2 parents c4dcda2 + dac23cd commit fcb490d

File tree

731 files changed

+16043
-8500
lines changed

Some content is hidden

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

731 files changed

+16043
-8500
lines changed

.github/CODEOWNERS

+29-29
Original file line numberDiff line numberDiff line change
@@ -15,48 +15,48 @@
1515
#===============================================================================
1616

1717
# Default
18-
* @oneapi-src/onednn-arch @intel-innersource/dnn-arch
18+
* @uxlfoundation/onednn-arch
1919

2020
# Github automation
21-
/.github/ @oneapi-src/onednn-devops
21+
/.github/ @uxlfoundation/onednn-devops
2222

2323
# CPU Engine
24-
/src/cpu/aarch64/ @oneapi-src/onednn-cpu-aarch64
25-
/src/cpu/x64/ @oneapi-src/onednn-cpu-x64
26-
/src/cpu/rnn/ @oneapi-src/onednn-cpu-x64
24+
/src/cpu/aarch64/ @uxlfoundation/onednn-cpu-aarch64
25+
/src/cpu/x64/ @uxlfoundation/onednn-cpu-x64
26+
/src/cpu/rnn/ @uxlfoundation/onednn-cpu-x64
2727

2828
# GPU Engine
29-
/src/gpu/amd/ @oneapi-src/onednn-gpu-amd
30-
/src/gpu/intel/ @oneapi-src/onednn-gpu-intel
31-
/src/gpu/nvidia/ @oneapi-src/onednn-gpu-nvidia
32-
/src/gpu/generic/ @oneapi-src/onednn-arch
33-
/src/gpu/generic/sycl/ @oneapi-src/onednn-gpu-generic
29+
/src/gpu/amd/ @uxlfoundation/onednn-gpu-amd
30+
/src/gpu/intel/ @uxlfoundation/onednn-gpu-intel
31+
/src/gpu/nvidia/ @uxlfoundation/onednn-gpu-nvidia
32+
/src/gpu/generic/ @uxlfoundation/onednn-arch
33+
/src/gpu/generic/sycl/ @uxlfoundation/onednn-gpu-generic
3434

3535
# Tests
36-
/tests/benchdnn/inputs/ @oneapi-src/onednn-maintain
37-
/tests/benchdnn/graph/ @oneapi-src/onednn-graph @oneapi-src/onednn-arch
38-
/tests/benchdnn/inputs/graph/ @oneapi-src/onednn-graph @oneapi-src/onednn-arch
39-
/tests/gtests/graph/ @oneapi-src/onednn-graph
36+
/tests/benchdnn/inputs/ @uxlfoundation/onednn-maintain
37+
/tests/benchdnn/graph/ @uxlfoundation/onednn-graph @uxlfoundation/onednn-arch
38+
/tests/benchdnn/inputs/graph/ @uxlfoundation/onednn-graph @uxlfoundation/onednn-arch
39+
/tests/gtests/graph/ @uxlfoundation/onednn-graph
4040

4141
# Graph API
42-
/src/graph/ @oneapi-src/onednn-graph
42+
/src/graph/ @uxlfoundation/onednn-graph
4343

4444
# Documentation
45-
*.md @oneapi-src/onednn-doc @oneapi-src/onednn-arch
46-
/doc/ @oneapi-src/onednn-doc @oneapi-src/onednn-arch
45+
*.md @uxlfoundation/onednn-doc @uxlfoundation/onednn-arch
46+
/doc/ @uxlfoundation/onednn-doc @uxlfoundation/onednn-arch
4747

4848
# Third party components
49-
/third-party/ @oneapi-src/onednn-arch
50-
/third_party/level_zero/ @oneapi-src/onednn-gpu-intel
51-
/third_party/mdapi/ @oneapi-src/onednn-gpu-intel
52-
/third_party/ngen/ @oneapi-src/onednn-gpu-intel
53-
/third_party/xbyak/ @oneapi-src/onednn-cpu-x64
54-
/third_party/xbyak_aarch64/ @oneapi-src/onednn-cpu-aarch64
49+
/third-party/ @uxlfoundation/onednn-arch
50+
/third_party/level_zero/ @uxlfoundation/onednn-gpu-intel
51+
/third_party/mdapi/ @uxlfoundation/onednn-gpu-intel
52+
/third_party/ngen/ @uxlfoundation/onednn-gpu-intel
53+
/third_party/xbyak/ @uxlfoundation/onednn-cpu-x64
54+
/third_party/xbyak_aarch64/ @uxlfoundation/onednn-cpu-aarch64
5555

5656
# Governance and process
57-
/.github/CODEOWNERS @oneapi-src/onednn-maintain
58-
/SECURITY.md @oneapi-src/onednn-maintain
59-
/MAINTAINERS.md @oneapi-src/onednn-maintain
60-
/CONTRIBUTING.md @oneapi-src/onednn-maintain
61-
/CODING_STANDARDS.md @oneapi-src/onednn-maintain
62-
/CODE_OF_CONDUCT.md @oneapi-src/onednn-maintain
57+
/.github/CODEOWNERS @uxlfoundation/onednn-maintain
58+
/SECURITY.md @uxlfoundation/onednn-maintain
59+
/MAINTAINERS.md @uxlfoundation/onednn-maintain
60+
/CONTRIBUTING.md @uxlfoundation/onednn-maintain
61+
/CODING_STANDARDS.md @uxlfoundation/onednn-maintain
62+
/CODE_OF_CONDUCT.md @uxlfoundation/onednn-maintain

.github/ISSUE_TEMPLATE/bug_report.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ factors are considered important to reproduce an issue.
1212

1313
# Version
1414
Report oneDNN version and githash. Version information is printed to stdout
15-
in [verbose mode](https://oneapi-src.github.io/oneDNN/dev_guide_verbose.html).
15+
in [verbose mode](https://uxlfoundation.github.io/oneDNN/dev_guide_verbose.html).
1616

1717
# Environment
1818
oneDNN includes hardware-specific optimizations and may behave
@@ -28,10 +28,10 @@ the following information to help reproduce the issue:
2828

2929
# Steps to reproduce
3030
Please check that the issue is reproducible with the latest revision on
31-
master. Include all the steps to reproduce the issue.
31+
main. Include all the steps to reproduce the issue.
3232

33-
You can use [verbose mode](https://oneapi-src.github.io/oneDNN/dev_guide_verbose.html)
34-
and [benchdnn](https://github.com/oneapi-src/oneDNN/tree/master/tests/benchdnn)
33+
You can use [verbose mode](https://uxlfoundation.github.io/oneDNN/dev_guide_verbose.html)
34+
and [benchdnn](https://github.com/uxlfoundation/oneDNN/tree/main/tests/benchdnn)
3535
to validate correctness of all primitives the library supports. If this does not
3636
work a short C/C++ program or modified unit tests demonstrating the issue
3737
will greatly help with the investigation.
@@ -40,7 +40,7 @@ will greatly help with the investigation.
4040
Document behavior you observe. For performance defects, like performance
4141
regressions or a function being slow, provide a log including output generated
4242
by your application in
43-
[verbose mode](https://oneapi-src.github.io/oneDNN/dev_guide_verbose.html).
43+
[verbose mode](https://uxlfoundation.github.io/oneDNN/dev_guide_verbose.html).
4444

4545
# Expected behavior
4646
Document behavior you expect.

.github/automation/aarch64/ci.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"dependencies": {
33
"acl": "v25.02",
44
"gcc": "13",
5-
"clang": "17"
5+
"clang": "17",
6+
"onednn-base": "v3.7"
67
}
7-
}
8+
}

.github/automation/aarch64/skipped-tests.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ OS=${OS:-"Linux"}
2727
SKIPPED_GRAPH_TEST_FAILURES="test_graph_unit_dnnl_sdp_decomp_cpu"
2828
SKIPPED_GRAPH_TEST_FAILURES+="|test_graph_unit_dnnl_mqa_decomp_cpu"
2929

30-
# described in issue: https://github.com/oneapi-src/oneDNN/issues/2175
30+
# described in issue: https://github.com/uxlfoundation/oneDNN/issues/2175
3131
SKIPPED_TEST_FAILURES="test_benchdnn_modeC_matmul_multidims_cpu"
3232

3333
# We currently have some OS and config specific test failures.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#! /bin/bash
2+
3+
# *******************************************************************************
4+
# Copyright 2025 Arm Limited and affiliates.
5+
# SPDX-License-Identifier: Apache-2.0
6+
#
7+
# Licensed under the Apache License, Version 2.0 (the "License");
8+
# you may not use this file except in compliance with the License.
9+
# You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing, software
14+
# distributed under the License is distributed on an "AS IS" BASIS,
15+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
# See the License for the specific language governing permissions and
17+
# limitations under the License.
18+
# *******************************************************************************
19+
20+
# Usage: bash bench_nightly_performance.sh {baseline_benchdnn_executable} {benchdnn_executable} {baseline_results_file} {new_results_file}
21+
22+
IFS=$'\n' # Prevents shuffling from using spaces as delimiters
23+
24+
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
25+
26+
TESTS=(
27+
"$1 --matmul --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/matmul_nightly >> $3"
28+
"$2 --matmul --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/matmul_nightly >> $4"
29+
"$1 --conv --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/conv_nightly >> $3"
30+
"$2 --conv --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/conv_nightly >> $4"
31+
"$1 --eltwise --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/eltwise_nightly >> $3"
32+
"$2 --eltwise --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/eltwise_nightly >> $4"
33+
"$1 --reorder --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/reorder_nightly >> $3"
34+
"$2 --reorder --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/reorder_nightly >> $4"
35+
)
36+
37+
N=5
38+
39+
for i in $( seq $N )
40+
do
41+
echo "Testing loop ${i} / ${N}..."
42+
43+
TESTS=( $(shuf -e "${TESTS[@]}") )
44+
45+
for test in "${TESTS[@]}"
46+
do
47+
echo "Starting ${test}"
48+
SECONDS=0
49+
eval $test
50+
duration=$SECONDS
51+
echo "Completed in $((duration / 60)):$((duration % 60))"
52+
done
53+
done

.github/automation/performance/bench_performance.sh

-32
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#! /bin/bash
2+
3+
# *******************************************************************************
4+
# Copyright 2025 Arm Limited and affiliates.
5+
# SPDX-License-Identifier: Apache-2.0
6+
#
7+
# Licensed under the Apache License, Version 2.0 (the "License");
8+
# you may not use this file except in compliance with the License.
9+
# You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing, software
14+
# distributed under the License is distributed on an "AS IS" BASIS,
15+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
# See the License for the specific language governing permissions and
17+
# limitations under the License.
18+
# *******************************************************************************
19+
20+
# Usage: bash bench_pr_performance.sh {baseline_benchdnn_executable} {benchdnn_executable} {baseline_results_file} {new_results_file}
21+
22+
IFS=$'\n' # Prevents shuffling from using spaces as delimiters
23+
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
24+
25+
TESTS=(
26+
"$1 --matmul --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/matmul >> $3"
27+
"$2 --matmul --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/matmul >> $4"
28+
"$1 --conv --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/conv >> $3"
29+
"$2 --conv --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/conv >> $4"
30+
"$1 --eltwise --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/eltwise >> $3"
31+
"$2 --eltwise --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/eltwise >> $4"
32+
"$1 --reorder --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/reorder >> $3"
33+
"$2 --reorder --mode=P --perf-template=%prb%,%-time% --batch=${SCRIPT_DIR}/inputs/reorder >> $4"
34+
)
35+
36+
N=5
37+
38+
for i in $( seq $N )
39+
do
40+
echo "Testing loop ${i} / ${N}..."
41+
42+
TESTS=( $(shuf -e "${TESTS[@]}") )
43+
44+
for test in "${TESTS[@]}"
45+
do
46+
echo "Starting ${test}"
47+
SECONDS=0
48+
eval $test
49+
duration=$SECONDS
50+
echo "Completed in $((duration / 60)):$((duration % 60))"
51+
done
52+
done

.github/automation/performance/benchdnn_comparison.py

+24-11
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import os
2222
from collections import defaultdict
2323
from scipy.stats import ttest_ind
24+
import warnings
25+
import statistics
2426

2527

2628
def compare_two_benchdnn(file1, file2, tolerance=0.05):
@@ -38,9 +40,9 @@ def compare_two_benchdnn(file1, file2, tolerance=0.05):
3840
r2 = [x.split(",") for x in r2 if x[0:8] == "--mode=P"]
3941

4042
if (len(r1) == 0) or (len(r2) == 0):
41-
raise Exception("One or both of the test results have zero lines")
43+
warnings.warn("One or both of the test results have zero lines")
4244
if len(r1) != len(r2):
43-
raise Exception("The number of benchdnn runs do not match")
45+
warnings.warn("The number of benchdnn runs do not match")
4446

4547
r1_samples = defaultdict(list)
4648
r2_samples = defaultdict(list)
@@ -50,26 +52,37 @@ def compare_two_benchdnn(file1, file2, tolerance=0.05):
5052
for k, v in r2:
5153
r2_samples[k].append(float(v[:-1]))
5254

53-
passed = True
5455
failed_tests = []
56+
times = {}
5557
for prb, r1_times in r1_samples.items():
5658
if prb not in r2_samples:
57-
raise Exception(f"{prb} exists in {file1} but not {file2}")
59+
warnings.warn(f"{prb} exists in {file1} but not {file2}")
60+
continue
61+
5862
r2_times = r2_samples[prb]
5963

6064
res = ttest_ind(r2_times, r1_times, alternative='greater')
61-
62-
if res.pvalue < 0.05:
63-
failed_tests.append(prb)
65+
r1_med = statistics.median(r1_times)
66+
r2_med = statistics.median(r2_times)
67+
times[prb] = (r1_med, r2_med)
68+
times_str = f" {times[prb][0]} vs {times[prb][1]}"
69+
70+
# pass the test if:
71+
# the t-test passes (i.e. pvalue > 0.05) OR
72+
# both the median time and min time has not
73+
# slowed down by more than 10%
74+
passed = res.pvalue > 0.05 or \
75+
((r2_med - r1_med) / r1_med < 0.1 and \
76+
(min(r2_times) - min(r1_times)) / min(r1_times) < 0.1)
77+
if not passed:
78+
failed_tests.append(prb + times_str)
6479
passed = False
6580

66-
print(prb + (" passed" if passed else " failed"))
67-
6881
if "GITHUB_OUTPUT" in os.environ:
6982
with open(os.environ["GITHUB_OUTPUT"], "a") as f:
70-
print(f"pass={passed}", file=f)
83+
print(f"pass={not failed_tests}", file=f)
7184

72-
if passed:
85+
if not failed_tests:
7386
print("Regression tests passed")
7487
else:
7588
message = "\n----The following regression tests failed:----\n" + \

.github/automation/performance/inputs/conv

+7-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
# limitations under the License.
1616
# *******************************************************************************
1717

18-
# From Resnet
1918
--reset
2019
--dir=FWD_D
21-
--dt=bf16,f32
20+
--dt=f32
21+
mb1_ic64oc256_ih200oh200kh1sh1dh0ph0_iw267ow267kw1sw1dw0pw0
22+
23+
--reset
24+
--dir=FWD_D
25+
--dt=f32
26+
--attr-fpmath=bf16
2227
mb1_ic64oc256_ih200oh200kh1sh1dh0ph0_iw267ow267kw1sw1dw0pw0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# *******************************************************************************
2+
# Copyright 2025 Arm Limited and affiliates.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
# *******************************************************************************
17+
--reset
18+
--batch=conv
19+
20+
--reset
21+
--dt=f32
22+
--alg=auto
23+
--dir=FWD_D,FWD_B
24+
--attr-fpmath=,bf16
25+
--batch=shapes_resnet_50

.github/automation/performance/inputs/eltwise

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
--inplace=true
1919
--alg=gelu_erf
2020
--dir=FWD_D
21-
--dt=bf16
21+
--dt=f32,bf16
2222
--tag=abc
23-
1x1x1536
23+
1536x384

0 commit comments

Comments
 (0)