The Mac mini has a very feeble video card and it cannot be upgraded!
OpenCL 1.0 released with Mac OS X Snow Leopard on August 28, 2009. According to an Apple press release: 26 Snow Leopard further extends support for modern hardware with Open Computing Language (OpenCL), which lets any application tap into the vast gigaflops of GPU computing power previously available only to graphics applications. OpenCL™ (Open Computing Language) is a low-level API for heterogeneous computing that runs on CUDA-powered GPUs. Using the OpenCL API, developers can launch compute kernels written using a limited subset of the C programming language on a GPU. OpenCL lets you tap into the parallel computing power of modern GPUs and multicore CPUs to accelerate compute-intensive tasks in your Mac apps.Use OpenCL to incorporate advanced numerical and data analytics features, perform cutting-edge image and media processing, and deliver accurate physics and AI simulation in games. We need to specify where the OpenCL headers are located by adding the path to the OpenCL 'CL' is in the same location as the other CUDA include files, that is, CUDAINCPATH. On a x64 Windows 8.1 machine with CUDA 6.5 the environment variable CUDAINCPATH is defined as ' C: Program Files NVIDIA GPU Computing Toolkit CUDA v6.5 include '.
According to this Mac computers that use OpenCL and OpenGL graphics - Apple Support the version of OpenCL for the Mac mini is probably 1.2 but it depends on how old your Mac mini is.
As far as I am aware the OpenCL version is linked to both your Mac model and the Mac operating system version and cannot be separately updated. There are a lot of complaints that as a result the Mac version of OpenCL is a long way behind the current version available on e.g. Linux.
Apple would prefer developers to switch to using Metal instead of OpenCL. There is also the option of using CUDA but for this you need a suitable Nvidia video card which your Mac mini will not have.
Deploy OpenCL™ Runtimes
Obtain runtimes to execute or develop OpenCL™ applications on Intel® Processors
- Intel® Graphics Technology Runtimes
- Target Intel® GEN Compute Architectures on Intel® Processors only
- Intel® Xeon® Processor or Intel® Core™ Processor Runtimes
- Target Intel® x86/x86-64 only
Important Change
There is a change in OpenCL™ CPU runtime for Windows* distribution in the 2020 February release to be consistent with Linux* distribution. The OpenCL CPU runtime is removed from the OpenCL driver for Windows starting in the 2020 February release version 'igfx_win10_100.7870.exe'.
- But the installer of the new driver did not remove the old OpenCL CPU runtime when you upgrade the newer driver, so you may have two OpenCL CPU runtimes on your system. This issue is already fixed in the installation script on github here.
- To download the OpenCL CPU runtime for Windows, please follow any of the following methods:
- Follow the section 'Intel® CPU Runtime for OpenCL™ Applications 18.1 for Windows* OS (64bit or 32bit)' below to download and install.
- Github: https://github.com/intel/llvm/releases
- Search for 'oneAPI DPC++ Compiler dependencies' and find latest release to download, e.g. https://github.com/intel/llvm/releases/tag/2020-WW20
- Following the installation instructions to install
Intel® Graphics Technology Runtimes
Execute OpenCL™ applications on Intel® Processors with Intel® Graphics Technology.
- Specifically target Intel® HD Graphics, Intel® Iris® Graphics, and Intel® Iris® Pro Graphics if available on Intel® Processors.
- Runtimes for Intel® Graphics Technology are often deployed in tandem with an Intel® CPU runtime.
- Consider graphics runtimes when developing OpenCL™ applications with the Intel® SDK for OpenCL™ Applications or Intel® System Studio.
Check release notes to ensure supported targets include your target device. For Intel® processors older than supported targets, please see the legacy deployment page.
Linux* OS
Repository Install Guidance *Easy* | Manual Download and Install | Build | README | FAQ
Intel® Graphics Compute Runtime for OpenCL™ Driver is deployed with package managers for multiple distributions. Please see the documentation on the GitHub* portal for deployment instructions.
Opencl For Matlab
Considerations for deployment:
- Ensure the deployment system has the (libOpenCL.so) ICD loader runtime from either:
- Your system package manager (for example with the unofficial ocl-icd )
- Useful package manager search hints:
- apt update; apt-file find libOpenCL.so
- yum provides '*/libOpenCL.so'
- Useful package manager search hints:
- Build from the official Khronos ICD Loader reference repository.
- Part of the Intel® SDK for OpenCL™ Applications.
- Your system package manager (for example with the unofficial ocl-icd )
- The Intel® Graphics Compute Runtime for OpenCL™ Driver depends on the i915 kernel driver. Necessary i915 features are available with relatively recent Linux* OS kernels. The recommended kernel is the validation kernel cited in documentation. In general, deployments after the 4.11 kernel should be OK. Make sure to review the release notes and documentation for more specifics.
Windows* OS
- Intel® Graphics Compute Runtime for OpenCL™ Driver is included with the Intel® Graphics Driver package for Windows* OS.
- Download Options
- System Vendor
- See your vendor website for a graphics or video driver download for the system
- Intel® Download Center
- Navigate to 'Graphics Drivers' for recent releases.
- Try the system vendor first in consideration of vendor support. System vendors may disable Intel® Graphics Driver install.
- The graphics driver package is built in with Windows* 10 OS install. However, the built-in default deployment may not contain latest features.
- System Vendor
- Release Notes
- In the Download Center navigate to 'Graphics Drivers' for Release Notes.
Intel® Xeon® Processor OR Intel® Core™ Processor (CPU) Runtimes
Execute OpenCL™ kernels directly on Intel® CPUs as OpenCL™ target devices.
- Consider an OpenCL™ CPU implementation for Intel® systems without Intel® Graphics Technology.
- Systems with Intel® Graphics Technology can simultaneously deploy runtimes for Intel® Graphics Technology and runtimes for Intel® CPU (x86-64).
- For application developers, the CPU-only runtime is pre-included with the Intel® SDK for OpenCL™ Applications or Intel® System Studio: OpenCL™ Tools component.
Check release notes to ensure supported targets include your target device. For Intel® processors older than supported targets, see the legacy deployment page.
Intel® CPU Runtime for OpenCL™ Applications 18.1 for Linux* OS (64bit only)
Download
- Size 125 MB
- See supported platform details in the Release Notes.
- Ubuntu* install uses an rpm translator
- The Linux* OS CPU runtime package also includes the ICD loader runtime (libOpenCL.so). The runtime installer should set the deployment system to see this ICD loader runtime by default. When examining system libraries, administrators may observe ICD loader runtimes obtained from other places. Examples include the system package manager (for example with ocl-icd) or as part of the Intel® SDK for OpenCL™ Applications.
- Maintenance and updates are now provided in the Experimental Intel® CPU Runtime for OpenCL™ Applications with SYCL support implementation. This implementation is listed later in this article.
- MD5 83c428ab9627268fc61f4d8219a0d670
- SHA1 5f2fa6e6bc400ca04219679f89ec289f17e94e5d
Intel® CPU Runtime for OpenCL™ Applications 18.1 for Windows* OS (64bit or 32bit)
- Size 60 MB
- CPU-only deployments should use the .msi installer linked in the Download button, and consider removal of the Intel® Graphics Technology drivers where applicable.
- CPU & Graphics deployments should use the Intel® Graphics Technology driver package, which contains both CPU (x86-64) and Intel® Graphics Technology implementations.
- See supported operating system details in the Release Notes
- Maintenance and updates are now provided in the Experimental Intel® CPU Runtime for OpenCL™ Applications with SYCL support implementation. This implementation is listed later in this article.
- MD5 8e24048001fb46ed6921d658dd71b8ff
- SHA1 451d96d37259cb111fe8832d5513c5562efa3e56
Experimental Intel® CPU Runtime for OpenCL™ Applications with SYCL support
Download from Intel staging area for llvm.org contribution: prerequisites.
Installation Guide on Github*
- This OpenCL™ implementation for Intel® CPUs is actively maintained. It is currently in *beta* as of article publication date.
- OpenCL 1.2, 2.0, and 2.1 programs can use this runtime.
- The DPC++/SYCL implementation can use this runtime. This runtime additionally supports the SYCL runtime stack. OpenCL™ developers are highly encouraged to explore Intel® DPC++ compiler and SYCL.
- Deployments with the Intel® CPU Runtime for OpenCL™ Applications 18.1 and this Experimental runtime are not jointly validated at article publication time. Use one or the other implementation, but not both.
- Feedback can be provided at the Intel® oneAPI Data Parallel C++ forum. Issues are also communicated at the Intel staging area for llvm.org contribution.
Develop OpenCL™ Applications
Tools to develop OpenCL™ applications for Intel® Processors
Intel® oneAPI: DPC++ Compiler
- DPC++/SYCL programs can run SYCL kernels by way of underlying OpenCL™ implementations.
- OpenCL-C kernels can also be directly ingested and run by a SYCL runtime. Users of the OpenCL C++ API wrapper may find the SYCL specification particularly appealing.
- Explore the Intel® oneAPI: DPC++ Compiler, Github* hosted DPC++/SYCL code samples, OpenCL™ injection tests, as well as training videos part1 and part2 on techdecoded.intel.io.
- As of article publication, this compiler is in Beta.
Intel® System Studio
- For compilation, cross-platform, IoT, power considerate development, and performance analysis.
- OpenCL™ development tools component:
- Develop OpenCL™ applications targeting Intel® Xeon® Processors, Intel® Core™ Processors, and/or Intel® Graphics Technology.
- Develop applications with expanded IDE functionality, debug, and analysis tools.
- Note: Some debug and analysis features have been removed from recent versions of the SDK.
- Earlier versions of the SDK contain an experimental OpenCL™ 2.1 implementation. Intel® CPU Runtime for OpenCL™ Applications 18.1 was intended as a replacement for the experimental implementation.
- OpenCL™ development tools component:
- Visit the Intel® System Studio portal
Intel® SDK for OpenCL™ Applications
- Standalone distribution of Intel® System Studio: OpenCL™ Tools component.
- Develop OpenCL™ Applications targeting Intel® Xeon® Processors, Intel® Core™ Processors, and/or Intel® Graphics Technology.
- Develop applications with expanded IDE functionality, debug, and analysis tools.
- Note: Some debug and analysis features have been removed from recent versions of the SDK.
- Earlier versions of the SDK contain an experimental OpenCL™ 2.1 implementation suitable for development testing on CPU OpenCL™ targets. Intel® CPU Runtime for OpenCL™ Applications 18.1 was intended as a replacement for that experimental implementation.
- See release notes, requirements, and download links through the Intel® SDK for OpenCL™ Applications portal.
Intel® FPGA SDK for OpenCL™ Software Technology
- Build OpenCL™ Applications and OpenCL™ kernels for Intel® FPGA devices.
- See release notes, requirements, and download links through the SDK's portal webpage.
- For OpenCL™ runtimes and required system drivers, visit Download Center for FPGAs.
Intel® Distribution of OpenVINO™ toolkit
- The Intel® Distribution of OpenVINO™ toolkit is available for vision and deep learning inference. It benefits from OpenCL™ acceleration for each of these components:
- Intel® Deep Learning Deployment Toolkit
- OpenCV
- OpenVX*
- For a developer oriented overview, see videos on the techdecoded.intel.io training hub.
Intercept Layer for Debugging and Analyzing OpenCL™ Applications
- The Intercept Layer for Debugging and Analyzing OpenCL™ Applications (clIntercept) can intercept, report, and modify OpenCL™ API calls.
- No application-level modifications nor OpenCL™ implementation modifications are necessary.
- clIntercept functionality can supplement removed functionality from recent releases of the Intel® SDK for OpenCL™ Applications.
According to this Mac computers that use OpenCL and OpenGL graphics - Apple Support the version of OpenCL for the Mac mini is probably 1.2 but it depends on how old your Mac mini is.
As far as I am aware the OpenCL version is linked to both your Mac model and the Mac operating system version and cannot be separately updated. There are a lot of complaints that as a result the Mac version of OpenCL is a long way behind the current version available on e.g. Linux.
Apple would prefer developers to switch to using Metal instead of OpenCL. There is also the option of using CUDA but for this you need a suitable Nvidia video card which your Mac mini will not have.
Deploy OpenCL™ Runtimes
Obtain runtimes to execute or develop OpenCL™ applications on Intel® Processors
- Intel® Graphics Technology Runtimes
- Target Intel® GEN Compute Architectures on Intel® Processors only
- Intel® Xeon® Processor or Intel® Core™ Processor Runtimes
- Target Intel® x86/x86-64 only
Important Change
There is a change in OpenCL™ CPU runtime for Windows* distribution in the 2020 February release to be consistent with Linux* distribution. The OpenCL CPU runtime is removed from the OpenCL driver for Windows starting in the 2020 February release version 'igfx_win10_100.7870.exe'.
- But the installer of the new driver did not remove the old OpenCL CPU runtime when you upgrade the newer driver, so you may have two OpenCL CPU runtimes on your system. This issue is already fixed in the installation script on github here.
- To download the OpenCL CPU runtime for Windows, please follow any of the following methods:
- Follow the section 'Intel® CPU Runtime for OpenCL™ Applications 18.1 for Windows* OS (64bit or 32bit)' below to download and install.
- Github: https://github.com/intel/llvm/releases
- Search for 'oneAPI DPC++ Compiler dependencies' and find latest release to download, e.g. https://github.com/intel/llvm/releases/tag/2020-WW20
- Following the installation instructions to install
Intel® Graphics Technology Runtimes
Execute OpenCL™ applications on Intel® Processors with Intel® Graphics Technology.
- Specifically target Intel® HD Graphics, Intel® Iris® Graphics, and Intel® Iris® Pro Graphics if available on Intel® Processors.
- Runtimes for Intel® Graphics Technology are often deployed in tandem with an Intel® CPU runtime.
- Consider graphics runtimes when developing OpenCL™ applications with the Intel® SDK for OpenCL™ Applications or Intel® System Studio.
Check release notes to ensure supported targets include your target device. For Intel® processors older than supported targets, please see the legacy deployment page.
Linux* OS
Repository Install Guidance *Easy* | Manual Download and Install | Build | README | FAQ
Intel® Graphics Compute Runtime for OpenCL™ Driver is deployed with package managers for multiple distributions. Please see the documentation on the GitHub* portal for deployment instructions.
Opencl For Matlab
Considerations for deployment:
- Ensure the deployment system has the (libOpenCL.so) ICD loader runtime from either:
- Your system package manager (for example with the unofficial ocl-icd )
- Useful package manager search hints:
- apt update; apt-file find libOpenCL.so
- yum provides '*/libOpenCL.so'
- Useful package manager search hints:
- Build from the official Khronos ICD Loader reference repository.
- Part of the Intel® SDK for OpenCL™ Applications.
- Your system package manager (for example with the unofficial ocl-icd )
- The Intel® Graphics Compute Runtime for OpenCL™ Driver depends on the i915 kernel driver. Necessary i915 features are available with relatively recent Linux* OS kernels. The recommended kernel is the validation kernel cited in documentation. In general, deployments after the 4.11 kernel should be OK. Make sure to review the release notes and documentation for more specifics.
Windows* OS
- Intel® Graphics Compute Runtime for OpenCL™ Driver is included with the Intel® Graphics Driver package for Windows* OS.
- Download Options
- System Vendor
- See your vendor website for a graphics or video driver download for the system
- Intel® Download Center
- Navigate to 'Graphics Drivers' for recent releases.
- Try the system vendor first in consideration of vendor support. System vendors may disable Intel® Graphics Driver install.
- The graphics driver package is built in with Windows* 10 OS install. However, the built-in default deployment may not contain latest features.
- System Vendor
- Release Notes
- In the Download Center navigate to 'Graphics Drivers' for Release Notes.
Intel® Xeon® Processor OR Intel® Core™ Processor (CPU) Runtimes
Execute OpenCL™ kernels directly on Intel® CPUs as OpenCL™ target devices.
- Consider an OpenCL™ CPU implementation for Intel® systems without Intel® Graphics Technology.
- Systems with Intel® Graphics Technology can simultaneously deploy runtimes for Intel® Graphics Technology and runtimes for Intel® CPU (x86-64).
- For application developers, the CPU-only runtime is pre-included with the Intel® SDK for OpenCL™ Applications or Intel® System Studio: OpenCL™ Tools component.
Check release notes to ensure supported targets include your target device. For Intel® processors older than supported targets, see the legacy deployment page.
Intel® CPU Runtime for OpenCL™ Applications 18.1 for Linux* OS (64bit only)
Download
- Size 125 MB
- See supported platform details in the Release Notes.
- Ubuntu* install uses an rpm translator
- The Linux* OS CPU runtime package also includes the ICD loader runtime (libOpenCL.so). The runtime installer should set the deployment system to see this ICD loader runtime by default. When examining system libraries, administrators may observe ICD loader runtimes obtained from other places. Examples include the system package manager (for example with ocl-icd) or as part of the Intel® SDK for OpenCL™ Applications.
- Maintenance and updates are now provided in the Experimental Intel® CPU Runtime for OpenCL™ Applications with SYCL support implementation. This implementation is listed later in this article.
- MD5 83c428ab9627268fc61f4d8219a0d670
- SHA1 5f2fa6e6bc400ca04219679f89ec289f17e94e5d
Intel® CPU Runtime for OpenCL™ Applications 18.1 for Windows* OS (64bit or 32bit)
- Size 60 MB
- CPU-only deployments should use the .msi installer linked in the Download button, and consider removal of the Intel® Graphics Technology drivers where applicable.
- CPU & Graphics deployments should use the Intel® Graphics Technology driver package, which contains both CPU (x86-64) and Intel® Graphics Technology implementations.
- See supported operating system details in the Release Notes
- Maintenance and updates are now provided in the Experimental Intel® CPU Runtime for OpenCL™ Applications with SYCL support implementation. This implementation is listed later in this article.
- MD5 8e24048001fb46ed6921d658dd71b8ff
- SHA1 451d96d37259cb111fe8832d5513c5562efa3e56
Experimental Intel® CPU Runtime for OpenCL™ Applications with SYCL support
Download from Intel staging area for llvm.org contribution: prerequisites.
Installation Guide on Github*
- This OpenCL™ implementation for Intel® CPUs is actively maintained. It is currently in *beta* as of article publication date.
- OpenCL 1.2, 2.0, and 2.1 programs can use this runtime.
- The DPC++/SYCL implementation can use this runtime. This runtime additionally supports the SYCL runtime stack. OpenCL™ developers are highly encouraged to explore Intel® DPC++ compiler and SYCL.
- Deployments with the Intel® CPU Runtime for OpenCL™ Applications 18.1 and this Experimental runtime are not jointly validated at article publication time. Use one or the other implementation, but not both.
- Feedback can be provided at the Intel® oneAPI Data Parallel C++ forum. Issues are also communicated at the Intel staging area for llvm.org contribution.
Develop OpenCL™ Applications
Tools to develop OpenCL™ applications for Intel® Processors
Intel® oneAPI: DPC++ Compiler
- DPC++/SYCL programs can run SYCL kernels by way of underlying OpenCL™ implementations.
- OpenCL-C kernels can also be directly ingested and run by a SYCL runtime. Users of the OpenCL C++ API wrapper may find the SYCL specification particularly appealing.
- Explore the Intel® oneAPI: DPC++ Compiler, Github* hosted DPC++/SYCL code samples, OpenCL™ injection tests, as well as training videos part1 and part2 on techdecoded.intel.io.
- As of article publication, this compiler is in Beta.
Intel® System Studio
- For compilation, cross-platform, IoT, power considerate development, and performance analysis.
- OpenCL™ development tools component:
- Develop OpenCL™ applications targeting Intel® Xeon® Processors, Intel® Core™ Processors, and/or Intel® Graphics Technology.
- Develop applications with expanded IDE functionality, debug, and analysis tools.
- Note: Some debug and analysis features have been removed from recent versions of the SDK.
- Earlier versions of the SDK contain an experimental OpenCL™ 2.1 implementation. Intel® CPU Runtime for OpenCL™ Applications 18.1 was intended as a replacement for the experimental implementation.
- OpenCL™ development tools component:
- Visit the Intel® System Studio portal
Intel® SDK for OpenCL™ Applications
- Standalone distribution of Intel® System Studio: OpenCL™ Tools component.
- Develop OpenCL™ Applications targeting Intel® Xeon® Processors, Intel® Core™ Processors, and/or Intel® Graphics Technology.
- Develop applications with expanded IDE functionality, debug, and analysis tools.
- Note: Some debug and analysis features have been removed from recent versions of the SDK.
- Earlier versions of the SDK contain an experimental OpenCL™ 2.1 implementation suitable for development testing on CPU OpenCL™ targets. Intel® CPU Runtime for OpenCL™ Applications 18.1 was intended as a replacement for that experimental implementation.
- See release notes, requirements, and download links through the Intel® SDK for OpenCL™ Applications portal.
Intel® FPGA SDK for OpenCL™ Software Technology
- Build OpenCL™ Applications and OpenCL™ kernels for Intel® FPGA devices.
- See release notes, requirements, and download links through the SDK's portal webpage.
- For OpenCL™ runtimes and required system drivers, visit Download Center for FPGAs.
Intel® Distribution of OpenVINO™ toolkit
- The Intel® Distribution of OpenVINO™ toolkit is available for vision and deep learning inference. It benefits from OpenCL™ acceleration for each of these components:
- Intel® Deep Learning Deployment Toolkit
- OpenCV
- OpenVX*
- For a developer oriented overview, see videos on the techdecoded.intel.io training hub.
Intercept Layer for Debugging and Analyzing OpenCL™ Applications
- The Intercept Layer for Debugging and Analyzing OpenCL™ Applications (clIntercept) can intercept, report, and modify OpenCL™ API calls.
- No application-level modifications nor OpenCL™ implementation modifications are necessary.
- clIntercept functionality can supplement removed functionality from recent releases of the Intel® SDK for OpenCL™ Applications.
Additional resources
Opencl Studio For Mac Trend: OpenCL Studio, LuxRender X86 ..
*OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.