* [GPU] improved impl cache key (#14797) - Add hash function for primitive and program_node - Filter task before entering async compilation queue * [GPU] improved impl cache key (#14797) - Multiply magic prime number at input value of hash_combine to avoid hash collision * [GPU] Update codes to follow up review comments (#14797) - Change func name from pop_front_task to erase_front_task - Change func name from get_layout_key to get_impl_key - Remove average_unpooling.hpp because it was alread removed - Replace std::list to std::deque in compilation_context - Modify layout::hash() to get hash of shape from partial shape - Remove calculation code to get hash from static layout in program_node => layout hash is calculated outside of program_node * [GPU] Update gpu functional test for improved impl key (#14797) * [GPU] update compilation queue (#14797) * [GPU] Move type_string hash to primitive (#14797) - Add hash for num_outputs in program_node * [GPU] update hash functions for program_node (#14797) - add hash for number of inputs in program_node - program node::hash() had separated into void program node::caclulate_hash() and size_t program_node::get_hash() * [GPU] Fix gpu unit test failures (#14797) - move the location to calculate all nodes from compile_graph to program ctor * [GPU] Fix build issue after rebase (#14797) * [GPU] Update impl if optimized kernel is in impl_cache even if the shape does not change. (#14797) - Apply improved hash key to mem kernels cache in update_weight - Add missing hash value for broadcast - Add simple unit test to check hash value for program_node, primitive and program_inst
Attached licenses
GPU plugin uses 3rd-party components licensed under following licenses:
- googletest under Google* License
- OpenCL™ ICD and C++ Wrapper under Khronos™ License
- RapidJSON under Tencent* License
Support
Please report issues and suggestions GitHub issues.
How to Contribute
We welcome community contributions to GPU plugin. If you have an idea how to improve the library:
- Share your proposal via GitHub issues
- Ensure you can build the product and run all the tests with your patch
- In the case of a larger feature, create a test
- Submit a pull request
We will review your contribution and, if any additional fixes or modifications are necessary, may provide feedback to guide you. When accepted, your pull request will be merged into our GitHub repository.
System Requirements
GPU plugin supports Intel® HD Graphics and Intel® Iris® Graphics and is optimized for Gen9-Gen12LP architectures
GPU plugin currently uses OpenCL™ with multiple Intel OpenCL™ extensions and requires Intel® Graphics Driver to run.
GPU plugin requires CPU with Intel® SSE/Intel® AVX support.
The software dependencies are:
- CMake* 3.5 or later
- C++ compiler with C++11 standard support compatible with:
- GNU* Compiler Collection 4.8 or later
- clang 3.5 or later
- Intel® C++ Compiler 17.0 or later
- Visual C++ 2015 (MSVC++ 19.0) or later
Intel® CPU intrinsics header (
<immintrin.h>) must be available during compilation.
- python™ 3.7 or later.
Trademark Information
Intel, the Intel logo, Intel Atom, Intel Core, Intel Xeon Phi, Iris, OpenVINO, the OpenVINO logo, Pentium, VTune, and Xeon are trademarks of Intel Corporation or its subsidiaries.
* Other names and brands may be claimed as the property of others.
Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
Copyright © 2021, Intel Corporation