Ensure OpenCL runtimes are initialized first

The OpenCL API Specification states:

> The behavior of OpenCL API functions called from global constructors
> or destructors is therefore implementation-defined.

This patch improves compatibility with OpenCL runtimes that use static
objects to hold their internal state.

Change-Id: I850be378e9c6f0b5aa8db926fe0c62833a936724
Signed-off-by: Marco Antognini <marco.antognini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5383
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Sheri Zhang <sheri.zhang@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
1 file changed
tree: 1a89ef8a7f47207f38bfbb4a998d7788f6273105
  1. .clang-format
  2. .clang-tidy
  3. .github/
  4. .gitignore
  5. Android.bp
  6. LICENSE
  7. README.md
  8. SConscript
  9. SConstruct
  10. SECURITY.md
  11. arm_compute/
  12. data/
  13. docs/
  14. examples/
  15. include/
  16. scripts/
  17. src/
  18. support/
  19. tests/
  20. utils/
README.md

Release repository: https://github.com/arm-software/ComputeLibrary

Development repository: https://review.mlplatform.org/#/admin/projects/ml/ComputeLibrary

Please report issues here: https://github.com/ARM-software/ComputeLibrary/issues

Make sure you are using the latest version of the library before opening an issue. Thanks

News:

Related projects:

Tutorials:

Documentation (API, changelogs, build guide, contribution guide, errata, etc.) available at https://github.com/ARM-software/ComputeLibrary/wiki/Documentation.

Binaries available at https://github.com/ARM-software/ComputeLibrary/releases.

Supported Architectures/Technologies

  • Arm® CPUs:

    • Arm® Cortex®-A processor family using Arm® Neon™ technology
    • Arm® Cortex®-R processor family with Armv8-R AArch64 architecture using Arm® Neon™ technology
    • Arm® Cortex®-X1 processor using Arm® Neon™ technology
  • Arm® Mali™ GPUs:

    • Arm® Mali™-G processor family
    • Arm® Mali™-T processor family
  • x86

Supported Systems

  • Android™
  • Bare Metal
  • Linux®
  • macOS®
  • Tizen™

License and Contributions

The software is provided under MIT license. Contributions to this project are accepted under the same license.

Public mailing list

For technical discussion, the ComputeLibrary project has a public mailing list: acl-dev@lists.linaro.org The list is open to anyone inside or outside of Arm to self subscribe. In order to subscribe, please visit the following website: https://lists.linaro.org/mailman/listinfo/acl-dev

Developer Certificate of Origin (DCO)

Before the ComputeLibrary project accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use the Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/)

To indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message:

Signed-off-by: John Doe <john.doe@example.org>

You must use your real name, no pseudonyms or anonymous contributions are accepted.

Trademarks and Copyrights

Android is a trademark of Google LLC.

Arm, Cortex, Mali and Neon are registered trademarks or trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

Mac and macOS are trademarks of Apple Inc., registered in the U.S. and other countries.

Tizen is a registered trademark of The Linux Foundation.