• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H13-Oct-2021-

cmake/H13-Oct-2021-

doc/H03-May-2022-

examples/H03-May-2022-

include/H13-Oct-2021-

scripts/H13-Oct-2021-

src/H03-May-2022-

tests/H03-May-2022-

.clang-ignorelistH A D13-Oct-2021394

.clang-tidyH A D13-Oct-20212.3 KiB

.gitattributesH A D13-Oct-20211.6 KiB

.gitignoreH A D13-Oct-2021883

CODE_OF_CONDUCT.mdH A D13-Oct-20213.3 KiB

CODING_STANDARDS.mdH A D13-Oct-20212.5 KiB

CONTRIBUTING.mdH A D13-Oct-20216.2 KiB

LICENSEH A D13-Oct-202111.3 KiB

README.binary.inH A D13-Oct-20216.3 KiB

README.mdH A D13-Oct-202117.3 KiB

SECURITY.mdH A D13-Oct-2021425

THIRD-PARTY-PROGRAMSH A D13-Oct-202127.6 KiB

_clang-formatH A D13-Oct-20213.7 KiB

README.binary.in

1oneAPI Deep Neural Network Library (oneDNN)
2===========================================
3
4oneAPI Deep Neural Network Library (oneDNN) is an
5open-source performance library for deep learning applications. The library
6includes basic building blocks for neural networks optimized
7for Intel Architecture Processors, Intel Processor Graphics and
8Xe architecture-based Graphics.
9
10This package contains oneDNN v@PROJECT_VERSION@ (@DNNL_VERSION_HASH@).
11
12You can find information about the latest version and release notes
13at the oneDNN Github (https://github.com/oneapi-src/oneDNN/releases).
14
15Documentation
16-------------
17
18* Developer guide (https://oneapi-src.github.io/oneDNN/v@DNNL_VERSION_MAJOR@.@DNNL_VERSION_MINOR@)
19  explains the programming model, supported functionality, and implementation
20  details, and includes annotated examples.
21* API reference (https://oneapi-src.github.io/oneDNN/v@DNNL_VERSION_MAJOR@.@DNNL_VERSION_MINOR@/modules.html)
22provides a comprehensive reference of the library API.
23
24System Requirements
25-------------------
26
27oneDNN supports systems based on Intel 64 or AMD64 architectures.
28
29The library is optimized for the following CPUs:
30* Intel Atom processor with Intel SSE4.1 support
31* 4th, 5th, 6th, 7th, and 8th generation Intel(R) Core(TM) processor
32* Intel(R) Xeon(R) processor E3, E5, and E7 family (formerly Sandy Bridge,
33  Ivy Bridge, Haswell, and Broadwell)
34* Intel(R) Xeon Phi(TM) processor (formerly Knights Landing and Knights Mill)
35* Intel Xeon Scalable processor (formerly Skylake, Cascade Lake, and Cooper
36  Lake)
37* future Intel Xeon Scalable processor (code name Sapphire Rapids)
38
39oneDNN detects the instruction set architecture (ISA) at runtime and uses
40just-in-time (JIT) code generation to deploy the code optimized
41for the latest supported ISA. Future ISAs may have initial support in the
42library disabled by default and require the use of run-time controls to enable
43them. See CPU dispatcher control (https://oneapi-src.github.io/oneDNN/dev_guide_cpu_dispatcher_control.html)
44for more details.
45
46The library is optimized for the following GPUs:
47* Intel HD Graphics
48* Intel UHD Graphics
49* Intel Iris Plus Graphics
50* Xe architecture-based Graphics (code named DG1 and Tiger Lake)
51
52## Linux
53
54Common dependencies:
55* GNU C Library (libc.so) 2.12 or later
56* GNU Standard C++ Library v3 (libstdc++.so) compatible with GCC 4.8 or later
57* Dynamic Linking Library (libdl.so)
58* C Math Library (libm.so)
59* POSIX Threads Library (libpthread.so)
60
61Runtime specific dependencies:
62
63| Runtime configuration | Dependency                                         |
64| --------------------- | -------------------------------------------------- |
65| cpu_gomp              | GNU OpenMP runtime (libgomp.so)                    |
66| cpu_iomp              | Intel OpenMP runtime (libiomp5.so)                 |
67| cpu_tbb               | TBB 2017 Update 2 or later (libtbb.so)             |
68| cpu_dpcpp_gpu_dpcpp   | Intel oneAPI DPC++ Compiler runtime (libsycl.so.3) |
69|                       | TBB 2020.2 or later (libtbb.so.12)                 |
70|                       | oneAPI Level Zero loader (libze_loader.so.1)       |
71|                       | OpenCL loader (libOpenCL.so)                       |
72
73## Windows
74
75Common dependencies:
76* Microsoft Visual C++ Redistributable 2015 or later (msvcrt.dll)
77
78Runtime specific dependencies:
79
80| Runtime configuration | Dependency                                         |
81| --------------------- | -------------------------------------------------- |
82| cpu_vcomp             | No additional dependencies                         |
83| cpu_iomp              | Intel OpenMP runtime                               |
84| cpu_tbb               | TBB 2017 Update 2 or later (tbb.dll)               |
85| cpu_dpcpp_gpu_dpcpp   | Intel oneAPI DPC++ Compiler runtime (sycl.dll)     |
86|                       | TBB 2020.2 or later (tbb.dll)                      |
87|                       | oneAPI Level Zero loader (ze_loader.dll)           |
88|                       | OpenCL loader (OpenCL.dll)                         |
89
90## macOS
91
92Common dependencies:
93* System C/C++ runtime (libc++.dylib, libSystem.dylib) compatible with
94  macOS 10.13 (High Sierra) or later
95
96Runtime specific dependencies:
97
98| Runtime configuration | Dependency                                |
99| --------------------- | ----------------------------------------- |
100| cpu_iomp              | Intel OpenMP runtime (libiomp5.dylib)     |
101| cpu_tbb               | TBB 2017 Update 2 or later (libtbb.dylib) |
102
103Support
104-------
105
106Please submit your questions, feature requests, and bug reports on the
107GitHub issues page (https://github.com/oneapi-src/oneDNN/issues/new/choose).
108
109You may reach out to project maintainers privately at
110dnnl.maintainers@intel.com.
111
112License
113-------
114
115oneDNN is licensed under Apache License Version 2.0. Refer to the "LICENSE"
116file for the full license text and copyright notice.
117
118This distribution includes third party software governed by separate license
119terms.
120
1213-clause BSD license:
122* Xbyak (https://github.com/herumi/xbyak)
123* Instrumentation and Tracing Technology API (ITT API) (https://github.com/intel/IntelSEAPI/tree/master/ittnotify)
124* CMake (https://github.com/Kitware/CMake)
125
126Boost Software License, Version 1.0:
127* Boost C++ Libraries (https://www.boost.org/)
128
129MIT License:
130* Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver (https://github.com/intel/compute-runtime)
131* Intel Graphics Compiler (https://github.com/intel/intel-graphics-compiler)
132
133This third party software, even if included with the distribution of
134the Intel software, may be governed by separate license terms, including
135without limitation, third party license terms, other Intel software license
136terms, and open source software license terms. These separate license terms
137govern your use of the third party programs as set forth in the
138"THIRD-PARTY-PROGRAMS" file.
139
140# Trademark Information
141
142Intel, the Intel logo, Intel Atom, Intel Core, Intel Xeon Phi, Iris, OpenVINO,
143the OpenVINO logo, Pentium, VTune, and Xeon are trademarks
144of Intel Corporation or its subsidiaries.
145
146* Other names and brands may be claimed as the property of others.
147
148Microsoft, Windows, and the Windows logo are trademarks, or registered
149trademarks of Microsoft Corporation in the United States and/or other
150countries.
151
152OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission
153by Khronos.
154
155(C) Intel Corporation
156

README.md

1oneAPI Deep Neural Network Library (oneDNN)
2===========================================
3
4> This software was previously known as
5> **Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)**
6> and **Deep Neural Network Library (DNNL)**.
7
8oneAPI Deep Neural Network Library (oneDNN) is an open-source cross-platform
9performance library of basic building blocks for deep learning applications.
10The library is optimized for Intel Architecture Processors, Intel Processor
11Graphics and Xe architecture-based Graphics. oneDNN has experimental support
12for the following architectures:
13* Arm\* 64-bit Architecture (AArch64)
14* NVIDIA\* GPU
15* OpenPOWER\* Power ISA (PPC64)
16* IBMz\* (s390x)
17
18oneDNN is intended for deep learning applications and framework
19developers interested in improving application performance
20on Intel CPUs and GPUs. Deep learning practitioners should use one of the
21[applications enabled with oneDNN](#applications-enabled-with-onednn).
22
23# Table of Contents
24
25- [Documentation](#documentation)
26- [Installation](#installation)
27- [System Requirements](#system-requirements)
28- [Applications Enabled with oneDNN](#applications-enabled-with-onednn)
29- [Support](#support)
30- [Contributing](#contributing)
31- [License](#license)
32- [Security](#security)
33- [Trademark Information](#trademark-information)
34
35# Documentation
36
37* [Developer guide](https://oneapi-src.github.io/oneDNN) explains programming
38  model, supported functionality, and implementation details, and
39  includes annotated examples.
40* [API reference](https://oneapi-src.github.io/oneDNN/modules.html) provides
41  a comprehensive reference of the library API.
42
43# Installation
44
45Binary distribution of this software is available as
46[Intel oneAPI Deep Neural Network Library](https://software.intel.com/en-us/oneapi/onednn)
47in [Intel oneAPI]( https://software.intel.com/en-us/oneapi).
48
49Pre-built binaries for Linux\*, Windows\*, and macOS\* are available
50for download in the
51[releases section](https://github.com/oneapi-src/oneDNN/releases). Package
52names use the following convention:
53
54| OS      | Package name
55| :------ | :-----------
56| Linux   | `dnnl_lnx_<version>_cpu_<cpu runtime>[_gpu_<gpu runtime>].tgz`
57| Windows | `dnnl_win_<version>_cpu_<cpu runtime>[_gpu_<gpu runtime>].zip`
58| macOS   | `dnnl_mac_<version>_cpu_<cpu runtime>.tgz`
59
60Several packages are available for each operating system to ensure
61interoperability with CPU or GPU runtime libraries used by the application.
62
63| Configuration         | Dependency
64| :---------------------| :---------
65| `cpu_iomp`            | Intel OpenMP runtime
66| `cpu_gomp`            | GNU\* OpenMP runtime
67| `cpu_vcomp`           | Microsoft Visual C OpenMP runtime
68| `cpu_tbb`             | Threading Building Blocks (TBB)
69| `cpu_dpcpp_gpu_dpcpp` | [Intel oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler), TBB, OpenCL runtime, oneAPI Level Zero runtime
70
71The packages do not include library dependencies and these need to be resolved
72in the application at build time. See the
73[System Requirements](#system-requirements) section below and the
74[Build Options](https://oneapi-src.github.io/oneDNN/dev_guide_build_options.html)
75section in the [developer guide](https://oneapi-src.github.io/oneDNN) for more
76details on CPU and GPU runtimes.
77
78If the configuration you need is not available, you can
79[build the library from source](https://oneapi-src.github.io/oneDNN/dev_guide_build.html).
80
81# System Requirements
82
83oneDNN supports platforms based on the following architectures:
84- [Intel 64 or AMD64](https://en.wikipedia.org/wiki/X86-64),
85- [Arm 64-bit Architecture (AArch64)](https://developer.arm.com/architectures/cpu-architecture/a-profile).
86- [OpenPOWER](https://openpowerfoundation.org/) / [IBM Power ISA](https://en.wikipedia.org/wiki/Power_ISA).
87- [IBMz z/Architecture (s390x)](https://en.wikipedia.org/wiki/Z/Architecture).
88
89> **WARNING**
90>
91> Arm 64-bit Architecture (AArch64), Power ISA (PPC64) and IBMz (s390x) support
92> is **experimental** with limited testing validation.
93
94The library is optimized for the following CPUs:
95* Intel Atom processor with Intel SSE4.1 support
96* 4th, 5th, 6th, 7th, and 8th generation Intel(R) Core(TM) processor
97* Intel(R) Xeon(R) processor E3, E5, and E7 family (formerly Sandy Bridge,
98  Ivy Bridge, Haswell, and Broadwell)
99* Intel(R) Xeon Phi(TM) processor (formerly Knights Landing and Knights Mill)
100* Intel Xeon Scalable processor (formerly Skylake, Cascade Lake, and Cooper
101  Lake)
102* future Intel Xeon Scalable processor (code name Sapphire Rapids)
103
104On a CPU based on Intel 64 or on AMD64 architecture, oneDNN detects
105the instruction set architecture (ISA) at runtime and uses just-in-time (JIT)
106code generation to deploy the code optimized for the latest supported ISA.
107Future ISAs may have initial support in the library disabled by default and
108require the use of run-time controls to enable them. See
109[CPU dispatcher control](https://oneapi-src.github.io/oneDNN/dev_guide_cpu_dispatcher_control.html)
110for more details.
111
112On a CPU based on Arm AArch64 architecture, oneDNN can be built with Arm Compute Library
113integration. Compute Library is an open-source library for machine learning applications
114and provides AArch64 optimized implementations of core functions. This functionality currently
115requires that Compute Library is downloaded and built separately, see
116[Build from Source](https://oneapi-src.github.io/oneDNN/dev_guide_build.html). oneDNN is only
117compatible with Compute Library versions 21.05 or later.
118
119> **WARNING**
120>
121> On macOS, applications that use oneDNN may need to request special
122> entitlements if they use the hardened runtime. See the
123> [linking guide](https://oneapi-src.github.io/oneDNN/dev_guide_link.html)
124> for more details.
125
126The library is optimized for the following GPUs:
127* Intel HD Graphics
128* Intel UHD Graphics
129* Intel Iris Plus Graphics
130* Xe architecture-based Graphics (code named DG1 and Tiger Lake)
131
132## Requirements for Building from Source
133
134oneDNN supports systems meeting the following requirements:
135* Operating system with Intel 64 / Arm 64 / Power / IBMz architecture support
136* C++ compiler with C++11 standard support
137* [CMake](https://cmake.org/download/) 2.8.12 or later
138* [Doxygen](http://www.doxygen.nl/download.html#srcbin) 1.8.5 or later
139  to build the documentation
140* [Arm Compute Library](https://github.com/arm-software/ComputeLibrary)
141  for builds using Compute Library on AArch64.
142
143Configurations of CPU and GPU engines may introduce additional build time
144dependencies.
145
146### CPU Engine
147
148oneDNN CPU engine is used to execute primitives on Intel Architecture
149Processors, 64-bit Arm Architecture (AArch64) processors,
15064-bit Power ISA (PPC64) processors, IBMz (s390x), and compatible devices.
151
152The CPU engine is built by default but can be disabled at build time by setting
153`DNNL_CPU_RUNTIME` to `NONE`. In this case, GPU engine must be enabled.
154The CPU engine can be configured to use the OpenMP, TBB or DPCPP runtime.
155The following additional requirements apply:
156* OpenMP runtime requires C++ compiler with OpenMP 2.0 or later
157  standard support
158* TBB runtime requires
159[Threading Building Blocks (TBB)](https://www.threadingbuildingblocks.org/)
1602017 or later.
161* DPCPP runtime requires
162  * [Intel oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler)
163  * [Threading Building Blocks (TBB)](https://www.threadingbuildingblocks.org/)
164
165Some implementations rely on OpenMP 4.0 SIMD extensions. For the best
166performance results on Intel Architecture Processors we recommend using the
167Intel C++ Compiler.
168
169### GPU Engine
170
171Intel Processor Graphics and Xe architecture-based Graphics are supported by
172the oneDNN GPU engine. The GPU engine is disabled in the default build
173configuration. The following additional requirements apply when GPU engine
174is enabled:
175* OpenCL runtime requires
176    * OpenCL\* runtime library (OpenCL version 1.2 or later)
177    * OpenCL driver (with kernel language support for OpenCL C 2.0 or later)
178      with Intel subgroups extension support
179* DPCPP runtime requires
180    * [Intel oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler)
181    * OpenCL runtime library (OpenCL version 1.2 or later)
182    * [oneAPI Level Zero](https://github.com/oneapi-src/level-zero)
183* DPCPP runtime with NVIDIA GPU support requires
184    * [oneAPI DPC++ Compiler](https://github.com/intel/llvm)
185    * OpenCL runtime library (OpenCL version 1.2 or later)
186    * NVIDIA CUDA\* driver
187    * cuBLAS 10.1 or later
188    * cuDNN 7.6 or later
189
190> **WARNING**
191>
192> NVIDIA GPU support is experimental. General information, build instructions
193> and implementation limitations is available in
194> [NVIDIA backend readme](https://github.com/oneapi-src/oneDNN/blob/master/src/gpu/nvidia/README.md).
195
196### Runtime Dependencies
197
198When oneDNN is built from source, the library runtime dependencies
199and specific versions are defined by the build environment.
200
201#### Linux
202
203Common dependencies:
204* GNU C Library (`libc.so`)
205* GNU Standard C++ Library v3 (`libstdc++.so`)
206* Dynamic Linking Library (`libdl.so`)
207* C Math Library (`libm.so`)
208* POSIX Threads Library (`libpthread.so`)
209
210Runtime-specific dependencies:
211
212| Runtime configuration    | Compiler                      | Dependency
213| :----------------------- | :---------------------------- | :---------
214| `DNNL_CPU_RUNTIME=OMP`   | GCC                           | GNU OpenMP runtime (`libgomp.so`)
215| `DNNL_CPU_RUNTIME=OMP`   | Intel C/C++ Compiler          | Intel OpenMP runtime (`libiomp5.so`)
216| `DNNL_CPU_RUNTIME=OMP`   | Clang                         | Intel OpenMP runtime (`libiomp5.so`)
217| `DNNL_CPU_RUNTIME=TBB`   | any                           | TBB (`libtbb.so`)
218| `DNNL_CPU_RUNTIME=DPCPP` | Intel oneAPI DPC++ Compiler   | Intel oneAPI DPC++ Compiler runtime (`libsycl.so`), TBB (`libtbb.so`), OpenCL loader (`libOpenCL.so`)
219| `DNNL_GPU_RUNTIME=OCL`   | any                           | OpenCL loader (`libOpenCL.so`)
220| `DNNL_GPU_RUNTIME=DPCPP` | Intel oneAPI DPC++ Compiler   | Intel oneAPI DPC++ Compiler runtime (`libsycl.so`), OpenCL loader (`libOpenCL.so`), oneAPI Level Zero loader (`libze_loader.so`)
221
222#### Windows
223
224Common dependencies:
225* Microsoft Visual C++ Redistributable (`msvcrt.dll`)
226
227Runtime-specific dependencies:
228
229| Runtime configuration    | Compiler                      | Dependency
230| :----------------------- | :---------------------------- | :---------
231| `DNNL_CPU_RUNTIME=OMP`   | Microsoft Visual C++ Compiler | No additional requirements
232| `DNNL_CPU_RUNTIME=OMP`   | Intel C/C++ Compiler          | Intel OpenMP runtime (`iomp5.dll`)
233| `DNNL_CPU_RUNTIME=TBB`   | any                           | TBB (`tbb.dll`)
234| `DNNL_CPU_RUNTIME=DPCPP` | Intel oneAPI DPC++ Compiler   | Intel oneAPI DPC++ Compiler runtime (`sycl.dll`), TBB (`tbb.dll`), OpenCL loader (`OpenCL.dll`)
235| `DNNL_GPU_RUNTIME=OCL`   | any                           | OpenCL loader (`OpenCL.dll`)
236| `DNNL_GPU_RUNTIME=DPCPP` | Intel oneAPI DPC++ Compiler   | Intel oneAPI DPC++ Compiler runtime (`sycl.dll`), OpenCL loader (`OpenCL.dll`), oneAPI Level Zero loader (`ze_loader.dll`)
237
238#### macOS
239
240Common dependencies:
241* System C/C++ runtime (`libc++.dylib`, `libSystem.dylib`)
242
243Runtime-specific dependencies:
244
245| Runtime configuration  | Compiler                      | Dependency
246| :--------------------- | :---------------------------- | :---------
247| `DNNL_CPU_RUNTIME=OMP` | Intel C/C++ Compiler          | Intel OpenMP runtime (`libiomp5.dylib`)
248| `DNNL_CPU_RUNTIME=TBB` | any                           | TBB (`libtbb.dylib`)
249
250### Validated Configurations
251
252CPU engine was validated on RedHat\* Enterprise Linux 7 with
253* GNU Compiler Collection 4.8, 5.4, 6.1, 7.2, 8.1, and 9.1
254* Clang\* 3.8.1, 7.1, 8.0, and 9.0
255* [Intel C/C++ Compiler](https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html)
256  19.1
257* [Intel oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler) 2021.1
258
259on Windows Server\* 2016 with
260* Microsoft Visual Studio 2015, 2017, and 2019
261* [Intel C/C++ Compiler](https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html)
262  19.1
263* [Intel oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler) 2021.1
264
265on macOS 10.13 (High Sierra) with
266* Apple LLVM version 9.1
267* [Intel C/C++ Compiler](https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html)
268  19.1
269
270GPU engine was validated on Ubuntu\* 20.04 with
271* GNU Compiler Collection 7.2, 8.1, and 9.1
272* Clang 3.8.1, 7.1, 8.0, and 9.0
273* [Intel C/C++ Compiler](https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html)
274  19.1
275* [Intel oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler) 2021.1
276* [Intel Software for General Purpose GPU capabilities](https://dgpu-docs.intel.com/index.html)
277latest stable version available at the time of release
278
279on Windows Server 2019 with
280* Microsoft Visual Studio 2015, 2017, and 2019
281* [Intel C/C++ Compiler](https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html)
282  19.1
283* [Intel oneAPI DPC++ Compiler](https://software.intel.com/en-us/oneapi/dpc-compiler) 2021.1
284* [Intel Graphics - Windows 10 DCH Drivers](https://downloadcenter.intel.com/download/29808/Intel-Graphics-Windows-10-DCH-Drivers)
285latest stable version available at the time of release
286
287## Requirements for Pre-built Binaries
288
289See the README included in the corresponding binary package.
290
291# Applications Enabled with oneDNN
292
293* [Apache\* MXNet](https://mxnet.apache.org)
294* [Apache\* SINGA](https://singa.apache.org)
295* [DeepLearning4J\*](https://deeplearning4j.org)
296* [Flashlight\*](https://github.com/facebookresearch/flashlight)
297* [Korali](https://github.com/cselab/korali)
298* [MATLAB\* Deep Learning Toolbox](https://www.mathworks.com/help/deeplearning/)
299* [ONNX Runtime](https://github.com/microsoft/onnxruntime)
300* [OpenVINO(TM) toolkit](https://01.org/openvinotoolkit)
301* [PaddlePaddle\*](http://www.paddlepaddle.org)
302* [PyTorch\*](https://pytorch.org/)
303* [Tensorflow\*](https://www.tensorflow.org)
304
305# Support
306
307Please submit your questions, feature requests, and bug reports on the
308[GitHub issues](https://github.com/oneapi-src/oneDNN/issues) page.
309
310You may reach out to project maintainers privately
311at dnnl.maintainers@intel.com.
312
313> **WARNING**
314>
315> This is pre-production software and functionality may change without prior
316> notice.
317
318# Contributing
319
320We welcome community contributions to oneDNN. If you have an idea on how
321to improve the library:
322
323* For changes impacting the public API or library overall, such as adding new
324  primitives or changes to the architecture, submit an
325  [RFC pull request](https://github.com/oneapi-src/oneDNN/tree/rfcs).
326* Ensure that the changes are consistent with the
327  [code contribution guidelines](CONTRIBUTING.md#code-contribution-guidelines)
328  and [coding standards](CONTRIBUTING.md#coding-standards).
329* Ensure that you can build the product and run all the examples with your
330  patch.
331* Submit a [pull request](https://github.com/oneapi-src/oneDNN/pulls).
332
333For additional details, see [contribution guidelines](CONTRIBUTING.md).
334
335This project is intended to be a safe, welcoming space for collaboration, and
336contributors are expected to adhere to the
337[Contributor Covenant](CODE_OF_CONDUCT.md) code of conduct.
338
339# License
340
341oneDNN is licensed under [Apache License Version 2.0](LICENSE). Refer to the
342"[LICENSE](LICENSE)" file for the full license text and copyright notice.
343
344This distribution includes third party software governed by separate license
345terms.
346
3473-clause BSD license:
348* [Xbyak](https://github.com/herumi/xbyak)
349* [gtest](https://github.com/google/googletest)
350* [Instrumentation and Tracing Technology API (ITT API)](https://github.com/intel/IntelSEAPI/tree/master/ittnotify)
351* [CMake](https://github.com/Kitware/CMake)
352
353Apache License Version 2.0:
354* [Font Roboto](https://fonts.google.com/specimen/Roboto)
355* [MathJax](https://github.com/mathjax/MathJax)
356* [Xbyak_aarch64](https://github.com/fujitsu/xbyak_aarch64)
357
358Boost Software License, Version 1.0:
359* [Boost C++ Libraries](https://www.boost.org/)
360
361MIT License:
362* [Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver](https://github.com/intel/compute-runtime)
363* [Intel Graphics Compiler](https://github.com/intel/intel-graphics-compiler)
364
365SIL Open Font License (OFL):
366* [Font Awesome](https://github.com/FortAwesome/Font-Awesome)
367* [Font Lato](https://fonts.google.com/specimen/Lato)
368* Font Asana Math
369
370This third party software, even if included with the distribution of
371the Intel software, may be governed by separate license terms, including
372without limitation, third party license terms, other Intel software license
373terms, and open source software license terms. These separate license terms
374govern your use of the third party programs as set forth in the
375"[THIRD-PARTY-PROGRAMS](THIRD-PARTY-PROGRAMS)" file.
376
377# Security
378
379See Intel's [Security Center](https://www.intel.com/content/www/us/en/security-center/default.html)
380for information on how to report a potential security issue or vulnerability.
381
382See also: [Security Policy](SECURITY.md)
383
384# Trademark Information
385
386Intel, the Intel logo, Intel Atom, Intel Core, Intel Xeon Phi, Iris, OpenVINO,
387the OpenVINO logo, Pentium, VTune, and Xeon are trademarks
388of Intel Corporation or its subsidiaries.
389
390\* Other names and brands may be claimed as the property of others.
391
392Microsoft, Windows, and the Windows logo are trademarks, or registered
393trademarks of Microsoft Corporation in the United States and/or other
394countries.
395
396OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission
397by Khronos.
398
399(C) Intel Corporation
400