From bd291eb0d1c7f802ca5081a8755562ab786db2a2 Mon Sep 17 00:00:00 2001 From: Ilya Isaev Date: Fri, 22 Nov 2024 10:31:52 +0100 Subject: [PATCH 1/6] Fix module show when using Lmod (#1567) --- integration/linux/modulefiles/tbb | 4 ++-- integration/linux/modulefiles/tbb32 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/integration/linux/modulefiles/tbb b/integration/linux/modulefiles/tbb index b8c695ed2c..58113ee62c 100644 --- a/integration/linux/modulefiles/tbb +++ b/integration/linux/modulefiles/tbb @@ -1,6 +1,6 @@ #%Module1.0################################################################### # -# Copyright (c) 2020-2023 Intel Corporation +# Copyright (c) 2020-2024 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -50,7 +50,7 @@ module-whatis "Dependencies: none" proc ModulesHelp { } { global modulefilename global modulefilever - module whatis "${modulefilename}/${modulefilever}" + puts "module whatis ${modulefilename}/${modulefilever}" } ############################################################################## diff --git a/integration/linux/modulefiles/tbb32 b/integration/linux/modulefiles/tbb32 index db34135176..89d6bc60fe 100644 --- a/integration/linux/modulefiles/tbb32 +++ b/integration/linux/modulefiles/tbb32 @@ -1,6 +1,6 @@ #%Module1.0################################################################### # -# Copyright (c) 2020-2023 Intel Corporation +# Copyright (c) 2020-2024 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -50,7 +50,7 @@ module-whatis "Dependencies: none" proc ModulesHelp { } { global modulefilename global modulefilever - module whatis "${modulefilename}/${modulefilever}" + puts "module whatis ${modulefilename}/${modulefilever}" } ############################################################################## From bef1519a4216d77042637c3f48af2c060a5213d1 Mon Sep 17 00:00:00 2001 From: Pavel Kumbrasev Date: Mon, 25 Nov 2024 12:22:07 +0000 Subject: [PATCH 2/6] Introduce MAINTAINERS.md (#1560) --------- Signed-off-by: pavelkumbrasev Co-authored-by: Ilya Isaev Co-authored-by: Mike Voss Co-authored-by: Aleksei Fedotov Co-authored-by: Alexandra --- MAINTAINERS.md | 143 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 MAINTAINERS.md diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000000..99c0a1dc92 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,143 @@ + + +# Introduction + +This document defines roles in the oneTBB project. + +# Roles and Responsibilities + +oneTBB project defines three main roles: + * [Contributor](#contributor) + * [Code Owner](#code-Owner) + * [Maintainer](#maintainer) + +[permissions]: https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#permissions-for-each-role + +| | Contributor | Code Owner | Maintainer | +| :------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------: | :---------------------: | :---------------------: | +| _Responsibilities_ | | | | +| Follow the [Code of Conduct](./CODE_OF_CONDUCT.md) | ✓ | ✓ | ✓ | +| Follow [Contribution Guidelines](./CONTRIBUTING.md) | ✓ | ✓ | ✓ | +| Ensure [Contribution Guidelines](./CONTRIBUTING.md) are followed | ✗ | ✓ | ✓ | +| Co-own component or aspect of the library,
including contributing: bug fixes, implementing features,
and performance optimizations | ✗ | ✓ | ✓ | +| Co-own on technical direction of component or
aspect of the library including work on RFCs | ✗ | ✓ | ✓ | +| Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | +| _Privileges_ | | | | +| Permission granted | [Read][permissions] | [Write][permissions] | [Maintain][permissions] | +| Eligible to become | Code Owner | Maintainer | ✗ | +| Can recommend Contributors
to become Code Owner | ✗ | ✓ | ✓ | +| Can participate in promotions of
Code Owners and Maintainers | ✗ | ✗ | ✓ | +| Can suggest Milestones during planning | ✓ | ✓ | ✓ | +| Can choose Milestones for specific component | ✗ | ✓ | ✓ | +| Make a decision on project's Milestones during planning | ✗ | ✗ | ✓ | +| Can propose new RFC or
participate in review of existing RFC | ✓ | ✓ | ✓ | +| Can request rework of RFCs
in represented area of responsibility | ✗ | ✓ | ✓ | +| Can request rework of RFCs
in any part of the project | ✗ | ✗ | ✓ | +| Can manage release process of the project | ✗ | ✗ | ✓ | +| Can represent the project in public as a Maintainer | ✗ | ✗ | ✓ | + +These roles are merit based. Refer to the corresponding section for specific +requirements and the nomination process. + +## Contributor + +A Contributor invests time and resources to improve oneTBB project. +Anyone can become a Contributor by bringing value in any following way: + * Answer questions from community members. + * Propose changes to the design. + * Provide feedback on design proposals. + * Review and/or test pull requests. + * Test releases and report bugs. + * Contribute code, including bug fixes, features implementations, +and performance optimizations. + +## Code Owner + +A Code Owner has responsibility for a specific project component or a functional +area. Code Owners are collectively responsible +for developing and maintaining their component or functional areas, including +reviewing all changes to corresponding areas of responsibility and indicating +whether those changes are ready to be merged. Code Owners have a track record of +contribution and review in the project. + +**Requirements:** + * Track record of accepted code contributions to a specific project component. + * Track record of contributions to the code review process. + * Demonstrate in-depth knowledge of the architecture of a specific project + component. + * Commit to being responsible for that specific area. + +How to become a Code Owner? +1. A Contributor is nominated by opening a PR modifying the MAINTAINERS.md file +including name, Github username, and affiliation. +2. At least two specific component Maintainers approve the PR. +3. [CODEOWNERS](./CODEOWNERS) file is updated to represent corresponding areas of responsibility. + +## Maintainer +Maintainers are the most established contributors responsible for the +project technical direction. They participate in making decisions about the +strategy and priorities of the project. + +**Requirements:** + * Have experience as a Code Owner. + * Track record of major project contributions to a specific project component. + * Demonstrate deep knowledge of a specific project component. + * Demonstrate broad knowledge of the project across multiple areas. + * Commit to using privileges responsibly for the good of the project. + * Be able to exercise judgment for the good of the project, independent of + their employer, friends, or team. + +Process of becoming a maintainer: +1. A Maintainer may nominate a current code owner to become a new Maintainer by +opening a PR against MAINTAINERS.md file. +2. A majority of the current Maintainers must then approve the PR. + +# Code Owners and Maintainers List + +## oneTBB core (API, Architecture, Tests) + +| Name | Github ID | Affiliation | Role | +| --------------------- | --------------------- | ----------------- | ---------- | +| Ilya Isaev | @isaevil | Intel Corporation | Code Owner | +| Sarath Nandu R | @sarathnandu | Intel Corporation | Code Owner | +| Dmitri Mokhov | @dnmokhov | Intel Corporation | Code Owner | +| Alexey Kukanov | @akukanov | Intel Corporation | Code Owner | +| Konstantin Boyarinov | @kboyarinov | Intel Corporation | Maintainer | +| Aleksei Fedotov | @aleksei-fedotov | Intel Corporation | Maintainer | +| Michael Voss | @vossmjp | Intel Corporation | Maintainer | +| Pavel Kumbrasev | @pavelkumbrasev | Intel Corporation | Maintainer | + +## oneTBB TBBMALLOC (API, Architecture, Tests) + +| Name | Github ID | Affiliation | Role | +| --------------------- | --------------------- | ----------------- | ---------- | +| Łukasz Plewa | @lplewa | Intel Corporation | Maintainer | + + +## oneTBB Documentation + +| Name | Github ID | Affiliation | Role | +| ---------------------- | --------------------- | ----------------- | ---------- | +| Alexandra Epanchinzeva | @aepanchi | Intel Corporation | Code Owner | + + +## oneTBB Release Management + +| Name | Github ID | Affiliation | Role | +| ------------------ | --------------------- | ----------------- | ---------- | +| Olga Malysheva | @omalyshe | Intel Corporation | Maintainer | + From 0d377cc8ec08d549f29ea1f2ac1b64bba9267505 Mon Sep 17 00:00:00 2001 From: Alexey Kukanov Date: Thu, 28 Nov 2024 16:25:24 +0100 Subject: [PATCH 3/6] Extend the documentation with more information about multidimensional ranges (#1569) Co-authored-by: Alexandra --- ..._Topic_Other_Kinds_of_Iteration_Spaces.rst | 38 ++++++++++++++++++- doc/main/tbb_userguide/parallel_for_os.rst | 5 ++- .../snippets/blocked_nd_range_example.cpp | 37 ++++++++++++++++++ .../snippets/blocked_nd_range_example.h | 37 ++++++++++++++++++ 4 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 doc/main/tbb_userguide/snippets/blocked_nd_range_example.cpp create mode 100644 doc/main/tbb_userguide/snippets/blocked_nd_range_example.h diff --git a/doc/main/tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.rst b/doc/main/tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.rst index 3352dd8d32..99446ab659 100644 --- a/doc/main/tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.rst +++ b/doc/main/tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.rst @@ -72,4 +72,40 @@ along its longest axis. When used with ``parallel_for``, it causes the loop to be "recursively blocked" in a way that improves cache usage. This nice cache behavior means that using ``parallel_for`` over a ``blocked_range2d`` can make a loop run faster than the sequential -equivalent, even on a single processor. +equivalent, even on a single processor. + +The ``blocked_range2d`` allows you to use different value types for +its first dimension, *rows*, and the second one, *columns*. +That means you can combine indexes, pointers, and iterators into a joint +iteration space. Use the methods ``rows()`` and ``cols()`` to obtain +``blocked_range`` objects that represent the respective dimensions. + +The ``blocked_range3d`` class template extends this approach to 3D by adding +``pages()`` as the first dimension, followed by ``rows()`` and ``cols()``. + +The ``blocked_nd_range`` class template represents a blocked iteration +space of any dimensionality. Unlike the previously described 2D and 3D ranges, +``blocked_nd_range`` uses the same value type for all its axes, and its +constructor requires you to pass N instances of ``blocked_range`` instead of +individual boundary values. The change in the naming pattern reflects these +differences. + + +Example of a Multidimensional Iteration Space +------------------------------------------------ + +The example demonstrates calculation of a 3-dimensional filter over the pack +of feature maps. + +The ``convolution3d`` function iterates over the output cells, assigning to +each cell the result of the ``kernel3d`` function that combines the values +from a range in the feature maps. + +To run the computation in parallel, ``tbb::parallel_for`` is called with +``tbb::blocked_nd_range`` as an argument. The body function processes +the received 3D subrange in nested loops, using the method ``dim`` to get +the loop boundaries for each dimension. + + +.. literalinclude:: ./snippets/blocked_nd_range_example.h + :language: c++ diff --git a/doc/main/tbb_userguide/parallel_for_os.rst b/doc/main/tbb_userguide/parallel_for_os.rst index fed07af68b..cbc7578f4c 100644 --- a/doc/main/tbb_userguide/parallel_for_os.rst +++ b/doc/main/tbb_userguide/parallel_for_os.rst @@ -55,8 +55,9 @@ before each identifier. The rest of the examples assume that such a Note the argument to ``operator()``. A ``blocked_range`` is a template class provided by the library. It describes a one-dimensional iteration space over type ``T``. Class ``parallel_for`` works with other -kinds of iteration spaces too. The library provides ``blocked_range2d`` -for two-dimensional spaces. You can define your own spaces as explained +kinds of iteration spaces too. The library provides ``blocked_range2d``, +``blocked_range3d``, and ``blocked_nd_range`` for multidimensional spaces. +You can define your own spaces as explained in :ref:`Advanced_Topic_Other_Kinds_of_Iteration_Spaces`. diff --git a/doc/main/tbb_userguide/snippets/blocked_nd_range_example.cpp b/doc/main/tbb_userguide/snippets/blocked_nd_range_example.cpp new file mode 100644 index 0000000000..7417123999 --- /dev/null +++ b/doc/main/tbb_userguide/snippets/blocked_nd_range_example.cpp @@ -0,0 +1,37 @@ +#include "blocked_nd_range_example.h" +#include +#include + +int main() { + const int kernel_length = 9; + const int kernel_width = 5; + const int kernel_height = 5; + + const int feature_maps_length = 128; + const int feature_maps_width = 16; + const int feature_maps_heigth = 16; + + const int out_length = feature_maps_length - kernel_length + 1; + const int out_width = feature_maps_width - kernel_width + 1; + const int out_heigth = feature_maps_heigth - kernel_height + 1; + + // Initializes feature maps with 1 in each cell and out with zeros. + std::vector>> feature_maps(feature_maps_length, std::vector>(feature_maps_width, std::vector(feature_maps_heigth, 1.0f))); + std::vector>> out(out_length, std::vector>(out_width, std::vector(out_heigth, 0.f))); + + // 3D convolution calculates the sum of all elements in the kernel + convolution3d(feature_maps, out, + out_length, out_width, out_heigth, + kernel_length, kernel_width, kernel_height); + + // Checks correctness of convolution by equality to the expected sum of elements + float expected = float(kernel_length * kernel_height * kernel_width); + for (auto i : out) { + for (auto j : i) { + for (auto k : j) { + assert(k == expected && "convolution failed to calculate correctly"); + } + } + } + return 0; +} diff --git a/doc/main/tbb_userguide/snippets/blocked_nd_range_example.h b/doc/main/tbb_userguide/snippets/blocked_nd_range_example.h new file mode 100644 index 0000000000..ded2a09c57 --- /dev/null +++ b/doc/main/tbb_userguide/snippets/blocked_nd_range_example.h @@ -0,0 +1,37 @@ +#include "oneapi/tbb/blocked_nd_range.h" +#include "oneapi/tbb/parallel_for.h" + +template +float kernel3d(const Features& feature_maps, int i, int j, int k, + int kernel_length, int kernel_width, int kernel_height) { + float result = 0.f; + + for (int feature_i = i; feature_i < i + kernel_length; ++feature_i) + for (int feature_j = j; feature_j < j + kernel_width; ++feature_j) + for (int feature_k = k; feature_k < k + kernel_width; ++feature_k) + result += feature_maps[feature_i][feature_j][feature_k]; + + return result; +} + +template +void convolution3d(const Features& feature_maps, Output& out, + int out_length, int out_width, int out_heigth, + int kernel_length, int kernel_width, int kernel_height) { + using range_t = oneapi::tbb::blocked_nd_range; + + oneapi::tbb::parallel_for( + range_t({0, out_length}, {0, out_width}, {0, out_heigth}), + [&](const range_t& out_range) { + auto out_x = out_range.dim(0); + auto out_y = out_range.dim(1); + auto out_z = out_range.dim(2); + + for (int i = out_x.begin(); i < out_x.end(); ++i) + for (int j = out_y.begin(); j < out_y.end(); ++j) + for (int k = out_z.begin(); k < out_z.end(); ++k) + out[i][j][k] = kernel3d(feature_maps, i, j, k, + kernel_length, kernel_width, kernel_height); + } + ); +} From d3b0a80d02501b2304de6afb940465f465482a6b Mon Sep 17 00:00:00 2001 From: snadampal <87143774+snadampal@users.noreply.github.com> Date: Fri, 29 Nov 2024 02:17:51 -0600 Subject: [PATCH 4/6] Bazel: fix build issue on arm64 linux platform (#1571) --- BUILD.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/BUILD.bazel b/BUILD.bazel index 9073f4640d..7c479ca3ed 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -37,6 +37,7 @@ cc_library( ]), copts = ["-w"] + select({ "@platforms//os:windows": [""], + "@platforms//cpu:arm64": [""], "//conditions:default": ["-mwaitpkg"], }), defines = From db883d1d0f6c5a0152fc21f146c06f9c02bb2f88 Mon Sep 17 00:00:00 2001 From: FantasqueX Date: Tue, 3 Dec 2024 19:16:06 +0800 Subject: [PATCH 5/6] Improve code readability in CMake integration section (#1574) --- doc/GSG/integrate.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/GSG/integrate.rst b/doc/GSG/integrate.rst index 13fd679dab..2b38dba246 100644 --- a/doc/GSG/integrate.rst +++ b/doc/GSG/integrate.rst @@ -26,10 +26,10 @@ Integrating oneTBB into your project using CMake*: To add oneTBB to another project using CMake*, add the following commands to your ``CMakeLists.txt`` file: -.. code-block:: +.. code-block:: cmake - `find_package(TBB REQUIRED)` - `target_link_libraries(my_executable TBB::tbb)` + find_package(TBB REQUIRED) + target_link_libraries(my_executable TBB::tbb) After that, configure your project with CMake* as usual. From 90b0f18297235511a86971653dc1dafc30ff4104 Mon Sep 17 00:00:00 2001 From: Olga Malysheva Date: Thu, 5 Dec 2024 16:49:25 +0100 Subject: [PATCH 6/6] Fix broken links after migration to uxlfoundation org. (#1577) --- Bazel.md | 2 +- CONTRIBUTING.md | 8 ++--- INSTALL.md | 6 ++-- README.md | 14 ++++----- RELEASE_NOTES.md | 12 ++++---- SECURITY.md | 6 ++-- SUPPORT.md | 4 +-- WASM_Support.md | 2 +- cmake/README.md | 4 +-- doc/GSG/installation.rst | 2 +- doc/GSG/samples.rst | 44 +++++++++++++-------------- doc/GSG/system_requirements.rst | 2 +- doc/README.md | 2 +- doc/conf.py | 6 ++-- doc/main/intro/help_support.rst | 2 +- doc/main/tbb_userguide/std_invoke.rst | 22 +++++++------- examples/README.md | 4 +-- integration/pkg-config/tbb.pc.in | 4 +-- 18 files changed, 73 insertions(+), 73 deletions(-) diff --git a/Bazel.md b/Bazel.md index 09a630a72b..13b112ee81 100644 --- a/Bazel.md +++ b/Bazel.md @@ -40,7 +40,7 @@ load("@platforms//tools/build_defs/repo:git.bzl", "git_repository") git_repository( name = "oneTBB", branch = "master", - remote = "https://github.com/oneapi-src/oneTBB/", + remote = "https://github.com/uxlfoundation/oneTBB/", ) ``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b2b6a968cd..3414b9eaf6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,17 +19,17 @@ As an open source project, we welcome community contributions to oneAPI Threadin ## Licensing -Licensing is very important to open source projects. It helps ensure the software continues to be available under the terms that the author desired. The oneTBB project uses the [Apache 2.0 License](https://github.com/oneapi-src/oneTBB/blob/master/LICENSE.txt), a permissive open source license that allows you to freely use, modify, and distribute your own products that include Apache 2.0 licensed software. By contributing to the oneTBB project, you agree to the license and copyright terms therein and release your own contributions under these terms. +Licensing is very important to open source projects. It helps ensure the software continues to be available under the terms that the author desired. The oneTBB project uses the [Apache 2.0 License](https://github.com/uxlfoundation/oneTBB/blob/master/LICENSE.txt), a permissive open source license that allows you to freely use, modify, and distribute your own products that include Apache 2.0 licensed software. By contributing to the oneTBB project, you agree to the license and copyright terms therein and release your own contributions under these terms. -Some imported or reused components within oneTBB use other licenses, as described in [third-party-programs.txt](https://github.com/oneapi-src/oneTBB/blob/master/third-party-programs.txt). By carefully reviewing potential contributions, we can ensure that the community can develop products with oneTBB without concerns over patent or copyright issues. +Some imported or reused components within oneTBB use other licenses, as described in [third-party-programs.txt](https://github.com/uxlfoundation/oneTBB/blob/master/third-party-programs.txt). By carefully reviewing potential contributions, we can ensure that the community can develop products with oneTBB without concerns over patent or copyright issues. ## Prerequisites -As a contributor, you’ll want to be familiar with the oneTBB project and the repository layout. You should also know how to use it as explained in the [oneTBB documentation](https://oneapi-src.github.io/oneTBB/) and how to set up your build development environment to configure, build, and test oneTBB as explained in the [oneTBB Build System Description](cmake/README.md). +As a contributor, you'll want to be familiar with the oneTBB project and the repository layout. You should also know how to use it as explained in the [oneTBB documentation](https://uxlfoundation.github.io/oneTBB/) and how to set up your build development environment to configure, build, and test oneTBB as explained in the [oneTBB Build System Description](cmake/README.md). ## Pull Requests -You can find all [open oneTBB pull requests](https://github.com/oneapi-src/oneTBB/pulls) on GitHub. +You can find all [open oneTBB pull requests](https://github.com/uxlfoundation/oneTBB/pulls) on GitHub. ### Before contributing changes directly to the oneTBB repository diff --git a/INSTALL.md b/INSTALL.md index 0ac95f8755..c33a2c7293 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -61,7 +61,7 @@ You can use the ``install`` components for partial installation. The following install components are supported: - `runtime` - oneTBB runtime package (core shared libraries and `.dll` files on Windows* OS). - `devel` - oneTBB development package (header files, CMake integration files, library symbolic links, and `.lib` files on Windows* OS). -- `tbb4py` - [oneTBB Module for Python](https://github.com/oneapi-src/oneTBB/blob/master/python/README.md). +- `tbb4py` - [oneTBB Module for Python](https://github.com/uxlfoundation/oneTBB/blob/master/python/README.md). If you want to install specific components after configuration and build, run: @@ -99,7 +99,7 @@ The following example demonstrates how to install oneTBB for single-configuratio # Do our experiments in /tmp cd /tmp # Clone oneTBB repository -git clone https://github.com/oneapi-src/oneTBB.git +git clone https://github.com/uxlfoundation/oneTBB.git cd oneTBB # Create binary directory for out-of-source build mkdir build && cd build @@ -121,7 +121,7 @@ Choose the configuration during the build and install steps: REM Do our experiments in %TMP% cd %TMP% REM Clone oneTBB repository -git clone https://github.com/oneapi-src/oneTBB.git +git clone https://github.com/uxlfoundation/oneTBB.git cd oneTBB REM Create binary directory for out-of-source build mkdir build && cd build diff --git a/README.md b/README.md index 3a0b50a7c0..36bdd6ce26 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # oneAPI Threading Building Blocks (oneTBB) -[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE.txt) [![oneTBB CI](https://github.com/oneapi-src/oneTBB/actions/workflows/ci.yml/badge.svg)](https://github.com/oneapi-src/oneTBB/actions/workflows/ci.yml?query=branch%3Amaster) -[![Join the community on GitHub Discussions](https://badgen.net/badge/join%20the%20discussion/on%20github/blue?icon=github)](https://github.com/oneapi-src/oneTBB/discussions) +[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE.txt) [![oneTBB CI](https://github.com/uxlfoundation/oneTBB/actions/workflows/ci.yml/badge.svg)](https://github.com/uxlfoundation/oneTBB/actions/workflows/ci.yml?query=branch%3Amaster) +[![Join the community on GitHub Discussions](https://badgen.net/badge/join%20the%20discussion/on%20github/blue?icon=github)](https://github.com/uxlfoundation/oneTBB/discussions) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9125/badge)](https://www.bestpractices.dev/projects/9125) -[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/oneapi-src/oneTBB/badge)](https://securityscorecards.dev/viewer/?uri=github.com/oneapi-src/oneTBB) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/uxlfoundation/oneTBB/badge)](https://securityscorecards.dev/viewer/?uri=github.com/uxlfoundation/oneTBB) oneTBB is a flexible C++ library that simplifies the work of adding parallelism to complex applications, even if you are not a threading expert. @@ -31,12 +31,12 @@ See [Release Notes](RELEASE_NOTES.md) and [System Requirements](SYSTEM_REQUIREME ## Documentation * [oneTBB Specification](https://spec.oneapi.com/versions/latest/elements/oneTBB/source/nested-index.html) -* [oneTBB Developer Guide and Reference](https://oneapi-src.github.io/oneTBB) -* [Migrating from TBB to oneTBB](https://oneapi-src.github.io/oneTBB/main/tbb_userguide/Migration_Guide.html) +* [oneTBB Developer Guide and Reference](https://uxlfoundation.github.io/oneTBB) +* [Migrating from TBB to oneTBB](https://uxlfoundation.github.io/oneTBB/main/tbb_userguide/Migration_Guide.html) * [README for the CMake build system](cmake/README.md) -* [oneTBB Testing Approach](https://oneapi-src.github.io/oneTBB/main/intro/testing_approach.html) +* [oneTBB Testing Approach](https://uxlfoundation.github.io/oneTBB/main/intro/testing_approach.html) * [Basic support for the Bazel build system](Bazel.md) -* [oneTBB Discussions](https://github.com/oneapi-src/oneTBB/discussions) +* [oneTBB Discussions](https://github.com/uxlfoundation/oneTBB/discussions) * [WASM Support](WASM_Support.md) ## Installation diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 5e3b3d24bc..16f04e0b92 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -33,19 +33,19 @@ This document contains changes of oneTBB compared to the last release. - On Windows OS on ARM64*, when compiling an application using oneTBB with the Microsoft* Compiler, the compiler issues a warning C4324 that a structure was padded due to the alignment specifier. Consider suppressing the warning by specifying /wd4324 to the compiler command line. - C++ exception handling mechanism on Windows* OS on ARM64* might corrupt memory if an exception is thrown from any oneTBB parallel algorithm (see Windows* OS on ARM64* compiler issue: https://developercommunity.visualstudio.com/t/ARM64-incorrect-stack-unwinding-for-alig/1544293. - When CPU resource coordination is enabled, tasks from a lower-priority ``task_arena`` might be executed before tasks from a higher-priority ``task_arena``. -- Using oneTBB on WASM*, may cause applications to run in a single thread. See [Limitations of WASM Support](https://github.com/oneapi-src/oneTBB/blob/master/WASM_Support.md#limitations). +- Using oneTBB on WASM*, may cause applications to run in a single thread. See [Limitations of WASM Support](https://github.com/uxlfoundation/oneTBB/blob/master/WASM_Support.md#limitations). -> **_NOTE:_** To see known limitations that impact all versions of oneTBB, refer to [oneTBB Documentation](https://oneapi-src.github.io/oneTBB/main/intro/limitations.html). +> **_NOTE:_** To see known limitations that impact all versions of oneTBB, refer to [oneTBB Documentation](https://uxlfoundation.github.io/oneTBB/main/intro/limitations.html). ## :hammer: Issues Fixed - Fixed the missed signal for thread request for enqueue operation. - Significantly improved scalability of ``task_group``, ``flow_graph``, and ``parallel_for_each``. -- Removed usage of ``std::aligned_storage`` deprecated in C++23 (Inspired by Valery Matskevich https://github.com/oneapi-src/oneTBB/pull/1394). +- Removed usage of ``std::aligned_storage`` deprecated in C++23 (Inspired by Valery Matskevich https://github.com/uxlfoundation/oneTBB/pull/1394). - Fixed the issue where ``oneapi::tbb::info`` interfaces might interfere with the process affinity mask on the Windows* OS systems with multiple processor groups. ## :octocat: Open-Source Contributions Integrated -- Detect the GNU Binutils version to determine WAITPKG support better. Contributed by Martijn Courteaux (https://github.com/oneapi-src/oneTBB/pull/1347). -- Fixed the build on non-English locales. Contributed by Vladislav Shchapov (https://github.com/oneapi-src/oneTBB/pull/1450). -- Improved Bazel support. Contributed by Julian Amann (https://github.com/oneapi-src/oneTBB/pull/1434). +- Detect the GNU Binutils version to determine WAITPKG support better. Contributed by Martijn Courteaux (https://github.com/uxlfoundation/oneTBB/pull/1347). +- Fixed the build on non-English locales. Contributed by Vladislav Shchapov (https://github.com/uxlfoundation/oneTBB/pull/1450). +- Improved Bazel support. Contributed by Julian Amann (https://github.com/uxlfoundation/oneTBB/pull/1434). diff --git a/SECURITY.md b/SECURITY.md index 4926041fc2..c9be5beb7f 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -61,6 +61,6 @@ If you have any suggestions on how this Policy could be improved, submit an issue or a pull request to this repository. **Do not** report potential vulnerabilities or security flaws via a pull request. -[1]: https://github.com/oneapi-src/oneTBB/releases/latest -[2]: https://github.com/oneapi-src/oneTBB/security/advisories/new -[3]: https://github.com/oneapi-src/oneTBB/security/advisories +[1]: https://github.com/uxlfoundation/oneTBB/releases/latest +[2]: https://github.com/uxlfoundation/oneTBB/security/advisories/new +[3]: https://github.com/uxlfoundation/oneTBB/security/advisories diff --git a/SUPPORT.md b/SUPPORT.md index 47bb60a538..bbf24f2854 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -21,14 +21,14 @@ Use the following methods if you face any challenges. ## Issues -If you have a problem, check out the [GitHub Issues](https://github.com/oneapi-src/oneTBB/issues) to see if the issue you want to address is already reported. +If you have a problem, check out the [GitHub Issues](https://github.com/uxlfoundation/oneTBB/issues) to see if the issue you want to address is already reported. You may find users that have encountered the same bug or have similar ideas for changes or updates. You can use issues to report a problem, make a feature request, or add comments on an existing issue. ## Discussions -Visit the [GitHub Discussions](https://github.com/oneapi-src/oneTBB/discussions) to engage with the community, ask questions, or help others. +Visit the [GitHub Discussions](https://github.com/uxlfoundation/oneTBB/discussions) to engage with the community, ask questions, or help others. ## Email diff --git a/WASM_Support.md b/WASM_Support.md index 6306620d7c..f40cf38c3d 100644 --- a/WASM_Support.md +++ b/WASM_Support.md @@ -47,7 +47,7 @@ Where: * ``-DCMAKE_C_COMPILER=emcc`` - specifies the C compiler as Emscripten* C compiler. -> **_NOTE:_** See [CMake documentation](https://github.com/oneapi-src/oneTBB/blob/master/cmake/README.md) to learn about other options. +> **_NOTE:_** See [CMake documentation](https://github.com/uxlfoundation/oneTBB/blob/master/cmake/README.md) to learn about other options. ## Run Test diff --git a/cmake/README.md b/cmake/README.md index 93710218cd..5883b0a655 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -48,7 +48,7 @@ Some useful options: #### TBBBind Library Configuration -> **_TIP:_** It is recommended to install the HWLOC* library. See [oneTBB documentation](https://oneapi-src.github.io/oneTBB/GSG/next_steps.html#hybrid-cpu-and-numa-support) for details. +> **_TIP:_** It is recommended to install the HWLOC* library. See [oneTBB documentation](https://uxlfoundation.github.io/oneTBB/GSG/next_steps.html#hybrid-cpu-and-numa-support) for details. The TBBbind library has three versions: `tbbbind`, `tbbbind_2_0`, and `tbbbind_2_5`. Each of these versions is linked with the corresponding HWLOC* library version: - `tbbbind` links with `HWLOC 1.11.x` @@ -270,7 +270,7 @@ Variable | Description `TBB_VERSION` | oneTBB version (format: `...`) `TBB_IMPORTED_TARGETS` | All created oneTBB imported targets (not supported for builds from source code) -Starting from [oneTBB 2021.1](https://github.com/oneapi-src/oneTBB/releases/tag/v2021.1), GitHub* release TBBConfig files in the binary packages are located under `/lib/cmake/TBB`. +Starting from [oneTBB 2021.1](https://github.com/uxlfoundation/oneTBB/releases/tag/v2021.1), GitHub* release TBBConfig files in the binary packages are located under `/lib/cmake/TBB`. For example, `TBB_DIR` should be set to `/lib/cmake/TBB`. TBBConfig files are automatically created during the build from source code and can be installed together with the library. diff --git a/doc/GSG/installation.rst b/doc/GSG/installation.rst index e6b6a09c34..d8f1933265 100644 --- a/doc/GSG/installation.rst +++ b/doc/GSG/installation.rst @@ -3,5 +3,5 @@ Installation ============ -See the `installation instructions `_ +See the `installation instructions `_ that will help you to install |short_name| successfully. \ No newline at end of file diff --git a/doc/GSG/samples.rst b/doc/GSG/samples.rst index f19a256238..18bf812801 100644 --- a/doc/GSG/samples.rst +++ b/doc/GSG/samples.rst @@ -10,40 +10,40 @@ The following samples are available: * **Containers** - * `concurrent_hash_map `_ - * `concurrent_priority_queue `_ - -* `Flow Graph `_ - * `A solution to the binpacking problem using a queue_node, a buffer_node, and function_node. `_ - * `Cholesky Factorization algorithm `_ - * `An implementation of dining philosophers in graph using the reserving join_node `_ - * `A parallel implementation of bzip2 block-sorting file compressor `_ - * `An example of a collection of digital logic gates that can be easily composed into larger circuits `_ - * `An example of a Kohonen Self-Organizing Map using cancellation `_ + * `concurrent_hash_map `_ + * `concurrent_priority_queue `_ + +* `Flow Graph `_ + * `A solution to the binpacking problem using a queue_node, a buffer_node, and function_node. `_ + * `Cholesky Factorization algorithm `_ + * `An implementation of dining philosophers in graph using the reserving join_node `_ + * `A parallel implementation of bzip2 block-sorting file compressor `_ + * `An example of a collection of digital logic gates that can be easily composed into larger circuits `_ + * `An example of a Kohonen Self-Organizing Map using cancellation `_ * `Split computational kernel for execution between CPU and GPU `_ * **Algorithms** - * `parallel_for `_ - * `Game of life overlay `_ - * `Polygon overlay `_ - * `Parallel seismic wave simulation `_ - * `Parallel 2-D raytracer/renderer `_ - * `Find largest matching substrings `_ + * `parallel_for `_ + * `Game of life overlay `_ + * `Polygon overlay `_ + * `Parallel seismic wave simulation `_ + * `Parallel 2-D raytracer/renderer `_ + * `Find largest matching substrings `_ * `Resumable task: Split computational kernel for execution between CPU and GPU `_ - * `parallel_for_each `_ - * `parallel_pipeline `_ - * `parallel_reduce `_ + * `parallel_for_each `_ + * `parallel_pipeline `_ + * `parallel_reduce `_ * **Task Scheduler** - * `task_arena `_ - * `task_group `_ + * `task_arena `_ + * `task_group `_ * `Execute similar computational kernels, with one task executing the SYCL* code and the other task executing the oneTBB code `_ * **Other** - * `Compute Fibonacci numbers in different ways `_ + * `Compute Fibonacci numbers in different ways `_ .. note:: You can also refer to the `oneAPI Samples `_ to learn more about the ecosystem. \ No newline at end of file diff --git a/doc/GSG/system_requirements.rst b/doc/GSG/system_requirements.rst index d5e951f35a..593680147f 100644 --- a/doc/GSG/system_requirements.rst +++ b/doc/GSG/system_requirements.rst @@ -3,4 +3,4 @@ System Requirements ******************* -Refer to the `oneTBB System Requirements `_. \ No newline at end of file +Refer to the `oneTBB System Requirements `_. \ No newline at end of file diff --git a/doc/README.md b/doc/README.md index 0cdd56f9c1..0e17d2e2dd 100644 --- a/doc/README.md +++ b/doc/README.md @@ -15,7 +15,7 @@ Do the following to generate HTML output of the documentation: 1. Clone oneTBB repository: ``` -git clone https://github.com/oneapi-src/oneTBB.git +git clone https://github.com/uxlfoundation/oneTBB.git ``` 2. Go to the `doc` folder: diff --git a/doc/conf.py b/doc/conf.py index 00dfed0e7f..a16dd5dec9 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -126,13 +126,13 @@ if BUILD_TYPE == 'dita': html_theme_options = { - 'repository_url': 'https://github.com/oneapi-src/oneTBB', + 'repository_url': 'https://github.com/uxlfoundation/oneTBB', 'path_to_docs': 'doc', 'repository_branch': 'master' } else: html_theme_options = { - 'repository_url': 'https://github.com/oneapi-src/oneTBB', + 'repository_url': 'https://github.com/uxlfoundation/oneTBB', 'path_to_docs': 'doc', 'use_issues_button': True, 'use_edit_page_button': True, @@ -140,7 +140,7 @@ } if BUILD_TYPE != 'oneapi' and BUILD_TYPE != 'dita': - html_theme_options["extra_footer"]="
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others. No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document, with the sole exception that code included in this document is licensed subject to the Zero-Clause BSD open source license (OBSD), http://opensource.org/licenses/0BSD.

oneTBB is licensed under Apache License Version 2.0. Refer to the LICENSE file for the full license text and copyright notice.
" + html_theme_options["extra_footer"]="
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others. No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document, with the sole exception that code included in this document is licensed subject to the Zero-Clause BSD open source license (OBSD), http://opensource.org/licenses/0BSD.

oneTBB is licensed under Apache License Version 2.0. Refer to the LICENSE file for the full license text and copyright notice.
" # Add any paths that contain custom static files (such as style sheets) here, diff --git a/doc/main/intro/help_support.rst b/doc/main/intro/help_support.rst index 278083d658..a1ab4097bc 100644 --- a/doc/main/intro/help_support.rst +++ b/doc/main/intro/help_support.rst @@ -12,4 +12,4 @@ Getting Help and Support For general information about oneTBB technical support, product updates, user forums, FAQs, tips and tricks and other support - questions, go to `GitHub issues `_. + questions, go to `GitHub issues `_. diff --git a/doc/main/tbb_userguide/std_invoke.rst b/doc/main/tbb_userguide/std_invoke.rst index 17ee7add99..d536eae8b2 100644 --- a/doc/main/tbb_userguide/std_invoke.rst +++ b/doc/main/tbb_userguide/std_invoke.rst @@ -204,14 +204,14 @@ Find More The following APIs supports Callable object as Bodies: -* `parallel_for `_ -* `parallel_reduce `_ -* `parallel_deterministic_reduce `_ -* `parallel_for_each `_ -* `parallel_scan `_ -* `parallel_pipeline `_ -* `function_node `_ -* `multifunction_node `_ -* `async_node `_ -* `sequencer_node `_ -* `join_node with key_matching policy `_ +* `parallel_for `_ +* `parallel_reduce `_ +* `parallel_deterministic_reduce `_ +* `parallel_for_each `_ +* `parallel_scan `_ +* `parallel_pipeline `_ +* `function_node `_ +* `multifunction_node `_ +* `async_node `_ +* `sequencer_node `_ +* `join_node with key_matching policy `_ diff --git a/examples/README.md b/examples/README.md index 037ca4d4e3..bf38ffba24 100644 --- a/examples/README.md +++ b/examples/README.md @@ -3,7 +3,7 @@ This directory contains example usages of oneAPI Threading Building Blocks. | Code sample name | Description |:--- |:--- -| getting_started/sub_string_finder | Example referenced by the [oneAPI Threading Building Blocks Get Started Guide](https://oneapi-src.github.io/oneTBB/GSG/get_started.html#get-started-guide). Finds the largest matching substrings. +| getting_started/sub_string_finder | Example referenced by the [oneAPI Threading Building Blocks Get Started Guide](https://uxlfoundation.github.io/oneTBB/GSG/get_started.html#get-started-guide). Finds the largest matching substrings. | concurrent_hash_map/count_strings | Concurrently inserts strings into a `concurrent_hash_map` container. | concurrent_priority_queue/shortpath | Solves the single source shortest path problem using a `concurrent_priority_queue` container. | graph/binpack | A solution to the binpacking problem using a `queue_node`, a `buffer_node`, and `function_node`s. @@ -26,7 +26,7 @@ This directory contains example usages of oneAPI Threading Building Blocks. | test_all/fibonacci | Compute Fibonacci numbers in different ways. ## System Requirements -Refer to the [System Requirements](https://github.com/oneapi-src/oneTBB/blob/master/SYSTEM_REQUIREMENTS.md) for the list of supported hardware and software. +Refer to the [System Requirements](https://github.com/uxlfoundation/oneTBB/blob/master/SYSTEM_REQUIREMENTS.md) for the list of supported hardware and software. ### Graphical User Interface (GUI) Some examples (e.g., fractal, seismic, tachyon, polygon_overlay) support different GUI modes, which may be defined via the `EXAMPLES_UI_MODE` CMake variable. diff --git a/integration/pkg-config/tbb.pc.in b/integration/pkg-config/tbb.pc.in index 34ea3bea17..2fe03c72e9 100644 --- a/integration/pkg-config/tbb.pc.in +++ b/integration/pkg-config/tbb.pc.in @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2023 Intel Corporation +# Copyright (c) 2021-2024 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ includedir=@_includedir_for_pc_file@ Name: oneAPI Threading Building Blocks (oneTBB) Description: C++ library for parallel programming on multi-core processors. -URL: https://github.com/oneapi-src/oneTBB +URL: https://github.com/uxlfoundation/oneTBB Version: @TBB_VERSION@ Libs: -L${libdir} @_tbb_pc_extra_libdir@ -l@_tbb_pc_lib_name@ Cflags: -I${includedir}