|
<< Click to Display Table of Contents >> Frequently Asked Questions - OpenCL |
![]() ![]()
|
Q.- What is OpenCL?
A. - The Open Computing Languange (OpenCL) is a framework for writing applications capable of taking advantage of the parallel power provided by modern computational devices like multicore processors, graphics processing units (GPUs), co-processors (Xeon Phi), field/programmable gate arrays (FPGAs), etc. OpenCL is an open standard adopted by the majority of today’s hardware manufacturers. We used OpenCL to improve the performance of the core units of selected algorithms in SARscape 5.1. Unlike other similar products like NVIDIA CUDA, OpenCL is not tight to any specific vendor, operating system, or hardware platform.
Q.- Why using OpenCL in SARscape?
A. - Since about one decade, processors are providing additional computational power through improved parallelism rather than higher clock frequencies. For this reason, we already parallelized several portions of the SARscape pipelines to cope with this shift in the programming paradigm. GPUs and other modern massively parallel devices (such as Xeon Phi coprocessors) are providing a significantly higher level of parallelism within a reasonable cost/benefit ratio. By writing our core units in OpenCL, we allow SARscape to take advantage not only of multicore CPUs, but also (when available) of the parallel computational power provided by those dedicated devices.
Q.- What portions of SARscape are taking advantage of OpenCL?
A. - OpenCL has been introduced as a strict requirement in SARscape version 5.1. Currently, the Persistence scatterer and Geocoding processing pipelines have been ported to OpenCL, in addition to several global routines used in many parts of SARscape. Additional OpenCL support will be progressively introduced with the future releases of SARscape.
Q.- Do I need a recent graphics card to run SARscape 5.1?
A. - No. Unlike CUDA, where an NVIDIA GPU is required to run the code, OpenCL provides at least two CPU-only implementations that can be used to run SARscape to any computer. These CPU-only implementations are much more than a simple fallback for machines not equipped with a recent GPU since they are optimized for exploiting the hardware resources of the CPU (like multiple cores and advanced instruction sets). In any case, SARscape 5.1 requires a GPU (or OpenCL accelerator) with at least 1 GB of memory. If you plan to buy some hardware for explicit usage with SARscape 5.1, we recommend AMD and Intel (Xeon Phi) products. While SARscape runs smoothly on NVIDIA hardware too, the NVIDIA OpenCL support is significantly inferior than the one provided by other hardware manufacturers.
Q.- I don’t have any GPU in my computer: can I run SARscape 5.1?
A. - Yes: by default, the SARscape 5.1 installer inspects the underlying system and, if no CPU-only OpenCL runtime is detected, the Intel CPU-only OpenCL runtime is automatically installed. The Intel CPU-only OpenCL runtime supports most of the recent Intel CPUs. If your CPU is not Intel or if it is not supported by the Intel runtime, you can always download and install the AMD CPU-only OpenCL runtime, which is slightly less optimized than Intel’s one but works on a broader series of processors. For legal reasons, we cannot redistribute the AMD runtime with SARscape, but it is integrated within the AMD APP SDK that can be freely downloaded at the AMD developer portal (developer.amd.com). At the moment, we recommend to use the AMD APP SDK version 2.8.1 even if more recent versions are available.
Q.- Will SARscape run faster on my computer with two (or more) GPUs connected through SLI/CrossFire?
A. - SLI (NVIDIA) and CrossFire (AMD) are technologies exploited only when the GPUs are used for graphics rendering: they don’t have any impact on OpenCL. At the moment, only one single device can be used by SARscape: if several devices are available, it is up to the user to specify which one to use. On the other hand, multiple instances of SARscape can be open and independent processes can be assigned to different GPUs.
Please, see the SARscape_OpenCL_Installation.pdf document for more details in the doc folder generated in the installation procedure.