Software Development Kit OpenCL™ on ARM Linux
The Mali OpenCL SDK provides developers with a framework and series of samples for developing OpenCL 1.1 applications on ARM Mali based platforms such as the Mali-T600 and above family of GPUs. The samples cover a wide range of use cases that utilize the Mali GPU to achieve a significant improvement in performance when compared to running on the CPU alone.
OpenCL is an open standard defined by Khronos that exposes the vast parallel processing capabilities of the GPU to the developer, to achieve improvements in performance and power efficiency. The samples are supported by tutorials with step-by-step guidance which describe best practices that should be used when targeting the Mali family of GPUs.
OpenCL SDK - DOWNLOAD
Mali OpenCL SDK v1.1
Released : 01 Febuary 2013
By downloading the packages below you ackowledge that you accept the End User Licence Agreement for the OpenCL SDK.
END USER LICENCE AGREEMENT FOR THE MALI OPENCL SDK
THIS END USER LICENCE AGREEMENT (“LICENCE”) IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED (“ARM”) FOR THE USE OF THE DELIVERABLES ACCOMPANYING THIS LICENCE. ARM IS ONLY WILLING TO LICENCE THE DELIVERABLES TO YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING “I AGREE” OR BY INSTALLING OR OTHERWISE USING OR COPYING THE DELIVERABLES YOU INDICATE THAT YOU AGREE TO BE BOUND BY ALL THE TERMS OF THIS LICENCE.
1. DEFINITIONS.
“Authorised Purpose” means; (i) with respect to Deliverables other than the Samples, the right to use internally to execute Open CL applications and kernel programs on ARM based devices; and (ii) with respect to the Samples the right to develop Software Applications.
“Deliverables” means the software source code accompanying this Licence, and any printed, electronic or online documentation supplied with it, in all cases relating to the MALI OPENCL SDK.
“Samples” means either or both; (i) any deliverables included in the directory and which are marked “Samples”; and (ii) any files in the root directory titled “Common”
“Separate Files” means the files identified in Clause 4 below, which are subject to the terms of the licence agreements identified in Clause 4.
“Software Applications” means graphics application programs developed by you under this Licence that conform to the Khronos OpenCL application programming interface.
2. LICENCE GRANT.
DELIVERABLES: ARM hereby grants to you, subject to the terms and conditions of this Licence, a nonexclusive, nontransferable, royalty free, worldwide licence to use and copy, internally only, the Deliverables solely for the Authorised Purpose.
3. RESTRICTIONS ON USE OF THE DELIVERABLES.
REVERSE ENGINEERING: Except to the extent that such activity is permitted by applicable law you shall not reverse engineer, decompile or disassemble any of the Deliverables. If the Deliverables were provided to you in Europe you shall not reverse engineer, decompile or disassemble any of the Deliverables for the purposes of error correction.
RESTRICTIONS ON TRANSFER OF LICENCED RIGHTS: The rights granted to you under this agreement may not be assigned, sublicenced or otherwise transferred by you to any third party without the prior written consent of ARM. You shall not rent or lease the Deliverables, or except as expressly provided above, share them with third parties.
TITLE AND RESERVATION OF RIGHTS: You acquire no rights to the Deliverables other than as expressly provided by this Licence. The Deliverables are licenced not sold. ARM does not transfer title to the Deliverables to you. In no event shall the licences granted in Clause 2 be construed as granting you expressly or by implication, estoppel or otherwise, licences to any ARM technology other than the Deliverables.
COPYRIGHT NOTICES: You shall not remove from the Deliverables any copyright notice or other notice and shall ensure that any such notice is reproduced in any copies of the whole or any part of the Deliverables made by you.
4. THIRD PARTY RIGHTS
The Deliverables contain files licenced from third parties which are subject to the relevant terms and conditions set out in the Schedule to this Licence (“Third Party Terms”). The Separate Files are delivered to you as part of the Deliverables for your convenience, and are expressly subject to the Third Party Terms. You hereby agree to comply with all the terms and conditions imposed on you by the Third Party Terms. Further you hereby agree that ARM shall have no liability to you under the terms of this Licence in respect of the Separate Files.
5. NO SUPPORT.
ARM has no obligation to support or to continue providing or updating any of the Deliverables.
6. NO WARRANTIES.
YOU AGREE THAT THE DELIVERABLES ARE LICENCED “AS IS”, AND THAT ARM EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, WARRANTIES, CONDITIONS OR OTHER TERMS, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, TITLE, SATISFACTORY QUALITY, MERCHANTIBILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
YOU EXPRESSLY ASSUME ALL LIABILITIES AND RISKS, FOR USE OR OPERATION OF ANY APPLICATION PROGRAMS YOU CREATE WITH THE DELIVERABLES, AND YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
7. LIMITATION OF LIABILITY.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ARM OR ITS LICENSORS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING LOSS OF PROFITS) ARISING OUT OF THE USE OR INABILITY TO USE THE DELIVERABLES WHETHER BASED ON A CLAIM UNDER CONTRACT, TORT OR OTHER LEGAL THEORY, EVEN IF ARM OR ANY SUCH LICENSOR WAS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
ARM does not seek to limit or exclude liability for death or personal injury arising from ARM’s negligence and because some jurisdictions do not permit the exclusion or limitation of liability for consequential or incidental damages the above limitation relating to liability for consequential damages may not apply to you.
NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED IN THIS LICENCE, THE MAXIMUM LIABILITY OF ARM TO YOU IN AGGREGATE FOR ALL CLAIMS MADE AGAINST ARM IN CONTRACT TORT OR OTHERWISE UNDER OR IN CONNECTION WITH THE SUBJECT MATTER OF THIS LICENCE SHALL NOT EXCEED THE GREATER OF THE TOTAL OF SUMS PAID BY YOU TO ARM (IF ANY) FOR THIS LICENCE AND US$5.00.
8. U.S. GOVERNMENT END USERS.
US Government Restrictions: Use, duplication, reproduction, release, modification, disclosure or transfer of this commercial product and accompanying documentation is restricted in accordance with the terms of this Licence.
9. TERM AND TERMINATION.
This Licence shall remain in force until terminated by you or by ARM. Without prejudice to any of its other rights if you are in breach of any of the terms and conditions of this Licence then ARM may terminate this Licence immediately upon giving written notice to you. You may terminate this Licence at any time.
Upon termination of this Licence by you or by ARM you shall stop using the Deliverables and destroy all copies of the Deliverables in your possession together with all documentation and related materials.
The provisions of Clauses 1, 4, 7, 8, 9, and 10 shall survive termination of this Licence.
10. GENERAL.
This Licence is governed by English Law. Except where ARM agrees otherwise in a written contract signed by you and ARM, this is the only agreement between you and ARM relating to the Deliverables and it may only be modified by written agreement between you and ARM. Except as expressly agreed in writing, this Licence may not be modified by purchase orders, advertising or other representation by any person. If any clause in this Licence is held by a court of law to be illegal or unenforceable the remaining provisions of this Licence shall not be affected thereby. The failure by ARM to enforce any of the provisions of this Licence, unless waived in writing, shall not constitute a waiver of ARM’s rights to enforce such provision or any other provision of this Licence in the future.
You agree to comply fully with all laws and regulations of the United States and other countries (“Export Laws”) to assure that the Deliverables are not (1) exported, directly or indirectly, in violation of Export Laws, either to any countries that are subject to U.S.A. export restrictions or to any end user who has been prohibited from participating in the U.S.A. export transactions by any federal agency of the U.S.A. government; or (2) intended to be used for any purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation.
Schedule
SGI FREE SOFTWARE LICENCE B (Version 2.0, Sept. 18, 2008)
Copyright (C) 2009 Silicon Graphics, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice including the dates of first publication and either this permission notice or a reference to http://oss.sgi.com/projects/FreeB/ shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Silicon Graphics, Inc. shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Silicon Graphics, Inc.
KHRONOS FREE SOFTWARE LICENCE
Copyright (c) 2007-2009 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the “Materials”), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Materials.
THE MATERIALS ARE PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
ARM contract reference: MALI OPENCL SDK
Windows Installer [MSI]
Linux [TGZ]
DOWNLOAD v1.1
OpenCL SDK - DOWNLOAD
Mali OpenCL SDK v1.1
Released : 01 Febuary 2013
By downloading the packages below you ackowledge that you accept the End User Licence Agreement for the OpenCL SDK.
END USER LICENCE AGREEMENT FOR THE MALI OPENCL SDK
THIS END USER LICENCE AGREEMENT (“LICENCE”) IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED (“ARM”) FOR THE USE OF THE DELIVERABLES ACCOMPANYING THIS LICENCE. ARM IS ONLY WILLING TO LICENCE THE DELIVERABLES TO YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING “I AGREE” OR BY INSTALLING OR OTHERWISE USING OR COPYING THE DELIVERABLES YOU INDICATE THAT YOU AGREE TO BE BOUND BY ALL THE TERMS OF THIS LICENCE.
1. DEFINITIONS.
“Authorised Purpose” means; (i) with respect to Deliverables other than the Samples, the right to use internally to execute Open CL applications and kernel programs on ARM based devices; and (ii) with respect to the Samples the right to develop Software Applications.
“Deliverables” means the software source code accompanying this Licence, and any printed, electronic or online documentation supplied with it, in all cases relating to the MALI OPENCL SDK.
“Samples” means either or both; (i) any deliverables included in the directory and which are marked “Samples”; and (ii) any files in the root directory titled “Common”
“Separate Files” means the files identified in Clause 4 below, which are subject to the terms of the licence agreements identified in Clause 4.
“Software Applications” means graphics application programs developed by you under this Licence that conform to the Khronos OpenCL application programming interface.
2. LICENCE GRANT.
DELIVERABLES: ARM hereby grants to you, subject to the terms and conditions of this Licence, a nonexclusive, nontransferable, royalty free, worldwide licence to use and copy, internally only, the Deliverables solely for the Authorised Purpose.
3. RESTRICTIONS ON USE OF THE DELIVERABLES.
REVERSE ENGINEERING: Except to the extent that such activity is permitted by applicable law you shall not reverse engineer, decompile or disassemble any of the Deliverables. If the Deliverables were provided to you in Europe you shall not reverse engineer, decompile or disassemble any of the Deliverables for the purposes of error correction.
RESTRICTIONS ON TRANSFER OF LICENCED RIGHTS: The rights granted to you under this agreement may not be assigned, sublicenced or otherwise transferred by you to any third party without the prior written consent of ARM. You shall not rent or lease the Deliverables, or except as expressly provided above, share them with third parties.
TITLE AND RESERVATION OF RIGHTS: You acquire no rights to the Deliverables other than as expressly provided by this Licence. The Deliverables are licenced not sold. ARM does not transfer title to the Deliverables to you. In no event shall the licences granted in Clause 2 be construed as granting you expressly or by implication, estoppel or otherwise, licences to any ARM technology other than the Deliverables.
COPYRIGHT NOTICES: You shall not remove from the Deliverables any copyright notice or other notice and shall ensure that any such notice is reproduced in any copies of the whole or any part of the Deliverables made by you.
4. THIRD PARTY RIGHTS
The Deliverables contain files licenced from third parties which are subject to the relevant terms and conditions set out in the Schedule to this Licence (“Third Party Terms”). The Separate Files are delivered to you as part of the Deliverables for your convenience, and are expressly subject to the Third Party Terms. You hereby agree to comply with all the terms and conditions imposed on you by the Third Party Terms. Further you hereby agree that ARM shall have no liability to you under the terms of this Licence in respect of the Separate Files.
5. NO SUPPORT.
ARM has no obligation to support or to continue providing or updating any of the Deliverables.
6. NO WARRANTIES.
YOU AGREE THAT THE DELIVERABLES ARE LICENCED “AS IS”, AND THAT ARM EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, WARRANTIES, CONDITIONS OR OTHER TERMS, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, TITLE, SATISFACTORY QUALITY, MERCHANTIBILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
YOU EXPRESSLY ASSUME ALL LIABILITIES AND RISKS, FOR USE OR OPERATION OF ANY APPLICATION PROGRAMS YOU CREATE WITH THE DELIVERABLES, AND YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
7. LIMITATION OF LIABILITY.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ARM OR ITS LICENSORS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING LOSS OF PROFITS) ARISING OUT OF THE USE OR INABILITY TO USE THE DELIVERABLES WHETHER BASED ON A CLAIM UNDER CONTRACT, TORT OR OTHER LEGAL THEORY, EVEN IF ARM OR ANY SUCH LICENSOR WAS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
ARM does not seek to limit or exclude liability for death or personal injury arising from ARM’s negligence and because some jurisdictions do not permit the exclusion or limitation of liability for consequential or incidental damages the above limitation relating to liability for consequential damages may not apply to you.
NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED IN THIS LICENCE, THE MAXIMUM LIABILITY OF ARM TO YOU IN AGGREGATE FOR ALL CLAIMS MADE AGAINST ARM IN CONTRACT TORT OR OTHERWISE UNDER OR IN CONNECTION WITH THE SUBJECT MATTER OF THIS LICENCE SHALL NOT EXCEED THE GREATER OF THE TOTAL OF SUMS PAID BY YOU TO ARM (IF ANY) FOR THIS LICENCE AND US$5.00.
8. U.S. GOVERNMENT END USERS.
US Government Restrictions: Use, duplication, reproduction, release, modification, disclosure or transfer of this commercial product and accompanying documentation is restricted in accordance with the terms of this Licence.
9. TERM AND TERMINATION.
This Licence shall remain in force until terminated by you or by ARM. Without prejudice to any of its other rights if you are in breach of any of the terms and conditions of this Licence then ARM may terminate this Licence immediately upon giving written notice to you. You may terminate this Licence at any time.
Upon termination of this Licence by you or by ARM you shall stop using the Deliverables and destroy all copies of the Deliverables in your possession together with all documentation and related materials.
The provisions of Clauses 1, 4, 7, 8, 9, and 10 shall survive termination of this Licence.
10. GENERAL.
This Licence is governed by English Law. Except where ARM agrees otherwise in a written contract signed by you and ARM, this is the only agreement between you and ARM relating to the Deliverables and it may only be modified by written agreement between you and ARM. Except as expressly agreed in writing, this Licence may not be modified by purchase orders, advertising or other representation by any person. If any clause in this Licence is held by a court of law to be illegal or unenforceable the remaining provisions of this Licence shall not be affected thereby. The failure by ARM to enforce any of the provisions of this Licence, unless waived in writing, shall not constitute a waiver of ARM’s rights to enforce such provision or any other provision of this Licence in the future.
You agree to comply fully with all laws and regulations of the United States and other countries (“Export Laws”) to assure that the Deliverables are not (1) exported, directly or indirectly, in violation of Export Laws, either to any countries that are subject to U.S.A. export restrictions or to any end user who has been prohibited from participating in the U.S.A. export transactions by any federal agency of the U.S.A. government; or (2) intended to be used for any purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation.
Schedule
SGI FREE SOFTWARE LICENCE B (Version 2.0, Sept. 18, 2008)
Copyright (C) 2009 Silicon Graphics, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice including the dates of first publication and either this permission notice or a reference to http://oss.sgi.com/projects/FreeB/ shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Silicon Graphics, Inc. shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Silicon Graphics, Inc.
KHRONOS FREE SOFTWARE LICENCE
Copyright (c) 2007-2009 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the “Materials”), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Materials.
THE MATERIALS ARE PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
ARM contract reference: MALI OPENCL SDK
Windows Installer [MSI] Linux [TGZ]
OpenCL SDK TUTORIALS
FEATURES & BENEFITS
- Samples & Tutorials
Numerous samples from the basic set-up to more complex examples demonstrating common filters and OpenCL operations
Samples demonstrating features of OpenCL 1.1
Step-by-Step walk through of samples and optimization steps
- Simple Project Setup
Simple build steps to get up and running quickly
- Simple Framework
A lightweight framework with common helper utilities
- Linux on ARM Support
Packages provides for support for ARM Linux based platforms with Mali-T600 Family of GPUs and OpenCL
DOCUMENTATION
OpenCL SDK
Getting Started Guide and Tutorials included.
Support
Please submit your questions and issues to the Mali Developer Forums
*OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
OPENCL EXAMPLES
Hello World
Basic Introduction to OpenCL and Vectorization. Starts with moving C code to OpenCL and improving performance by utilizing vectorization
Template
Skelton code that can be used for starting OpenCL development
Memory Buffers
Sharing memory efficiently between the ARM Cortex-A processor and Mali-T600 GPU
Image Objects
See how using image objects for textures and images can simplify development and increase performance
64-bit Integer and Atomic
How to use long data types and atomics with OpenCL 1.1 Full Profile
Sobel Filter
Implementation of a simple convolution filter used in edge detection
FIR Filter
Floating point FIR (Finite Input Response) image filter commonly used for pixelization and noise reduction
Mandelbrot
Mandelbrot fractal patterns
Single-Precision General Matrix Multiplication
Matrix multiplication example