8573
Troubleshooting SARscape 5.1 installation issues related to Open-CL runtime on Windows
Overview
Background
Warning message
Troubleshooting and solution
a. running "sarxinfo" tool
b. how to read the “sarxinfo" log
c. solution
d. checking the result of the AMD CPU-only runtime installation
e. using the new OpenCL device during SARscape processing
Background
With SARscape 5.1, the support of GPGPU-based technologies is added to increase the processing performance through parallelization. The solution is based on the Open Computing Language (OpenCL), which is an open standard widely supported by most of the hardware manufacturers and software developers.
In order to work with SARscape 5.1, a working OpenCL runtime must be first installed on the target machine. There are several different OpenCL runtime versions that are designed to work with specific devices such as CPUs, GPUs and accelerators.
The user can have more than one version of OpenCL runtime installed on the target machine and can select which version should be used by SARscape at any time under the SARscape Preferences.
During the installation of SARscape 5.1 on Windows, the Intel CPU-only runtime is automatically installed to provide a fallback OpenCL implementation if no other workingCPU-only implementation of OpenCL is already available.
Please be aware that the Intel CPU-only runtime only works on modern Intel processors (and unofficially on some recent AMD processors, too), which means on CPUs that are not older than 5 years.
Warning message
In case the machine is old or the processor is not compatible with the above specifications, you can encounter the message reported below during the SARscape installation process. You may then need to perform some steps to have SARscape working properly on your machine.
SARscape 5.1.0 64 bit has been successfully installed to:
C:\Program Files\SARMAP SA\SARscape5.1
but no working OpenCL CPU-only runtime have been detected. We recommend to restart the system to see whether the problem gets fixed.
If after the restart you still have some OpenCL-related problem, please follow the instructions provided at this link (you might want to investigate the option of installing the AMD OpenCL CPU-only runtime):
http://www.sarmap.ch/ocl/opencl-install.html
|
Troubleshooting and solution
a.running the "sarxinfo" tool
If you encounter the warning message above, the first thing to do is to run the "sarxinfo" tool, which is a command-line tool installed with SARscape and available under the exe_envi directory. The application should be executed from the console window and reports a summary of selected hardware and software characteristics of the machine, including available OpenCL platforms and devices. The report can be used to verify if OpenCL is properly installed and configured.
To run the tool, please proceed as follows:
- open DOS prompt
- run the command
"C:\Program Files\SARMAPSA\SARscape 5.1\exe_envi\sarxinfo" filename
where filename is the name of the output text file generated by the tool.
We recommend that you include this file as attachment when contacting technical support.
b. how to read the "sarxinfo" log
The output obtained by the "sarxinfo" tool looks like the one below:
------------------
Hardware topology:
------------------
PC name . . . . . : PC_NAME
CPU name . . . . . : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
RAM . . . . . . . : 2024 MB
Systems . . . . . : 1
# of nodes . . . . : 1
# of CPUs . . . . : 1
# of cores . . . . : 2
# of PUs . . . . . : 2
----------------
Supported types:
----------------
char . . . . . . . : 8 bit
short . . . . . . : 16 bit
int . . . . . . . : 32 bit
long . . . . . . . : 32 bit
long long . . . . : 64 bit
size_t . . . . . . : 64 bit
float . . . . . . : 32 bit
double . . . . . . : 64 bit
long double . . . : 64 bit
bool . . . . . . . : 8 bit
pointer . . . . . : 64 bit
-----------------
OpenCL platforms:
-----------------
# of platforms . . : 2
Platform 0 . . . : NVIDIA CUDA
Available devices: 1 (1 GPUs, 0 CPUs, 0 accelerators)
Device 0 . . . : Quadro NVS 290 (def.)
Device type . : GPU
Device version : OpenCL 1.0 CUDA
Driver version : 332.76
Global mem size: 256 MB
Local mem size : 16 KB
Max mem object : 128 MB
Address bits . : 32
Compute units : 2
Global cache . : 0 KB
Max clock freq.: 918 MHz
Max workgroup : 512
Context check : passed
Platform 1 . . . : Intel(R) OpenCL
Available devices: 1 (0 GPUs, 1 CPUs, 0 accelerators)
Device 0 . . . : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (def.)
Device type . : CPU
Device version : OpenCL 1.2 (Build 117)
Driver version : 4.4.0.117
Global mem size: 4027 MB
Local mem size : 32 KB
Max mem object : 1006 MB
Address bits . : 64
Compute units : 2
Global cache . : 6144 KB
Max clock freq.: 3000 MHz
Max workgroup : 8192
Context check : failed, reason 'Device not available'
|
The log is composed of three sections, where the most important is the last one, called "OpenCL platforms". This section lists the available OpenCL platforms located on the machine. In the example above, the system is provided with 2 OpenCL platforms: NVIDIA CUDA and Intel.
For each platform, here are the main points to look at:
- Device version: SARscape requires at least OpenCL 1.1 version.
- Context check: the results should be set to "passed" to have this device supported by SARscape.
With this in mind and looking to the above example, Platform 0 is too old (OpenCL 1.0) and Platform 1 did not pass the check (Context check : failed, reason 'Device not available').
c. solution
The solution is then to install the AMD CPU-Only runtime device, as explained in the section 2 of the below webpage, under OpenCL runtimes > CPU-only > AMD CPU-only runtime:
http://www.sarmap.ch/ocl/opencl-install.html
d.checking the result after the AMD CPU-only runtime installation
Once the AMD CPU-only runtime has been installed, we suggest to run again the "sarxinfo" tool and look at the new output, to be sure that the new device is up and running. Find below the "OpenCL platforms" section ofthe new output obtained by the same machine as above:
-----------------
OpenCL platforms:
-----------------
# of platforms . . : 3
Platform 0 . . . : NVIDIA CUDA
Available devices: 1 (1 GPUs, 0 CPUs, 0 accelerators)
Device 0 . . . : Quadro NVS 290 (def.)
Device type . : GPU
Device version : OpenCL 1.0 CUDA
Driver version : 332.76
Global mem size: 256 MB
Local mem size : 16 KB
Max mem object : 128 MB
Address bits . : 32
Compute units : 2
Global cache . : 0 KB
Max clock freq.: 918 MHz
Max workgroup : 512
Context check : passed
Platform 1 . . . : Intel(R) OpenCL
Available devices: 1 (0 GPUs, 1 CPUs, 0 accelerators)
Device 0 . . . : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (def.)
Device type . : CPU
Device version : OpenCL 1.2 (Build 117)
Driver version : 4.4.0.117
Global mem size: 4027 MB
Local mem size : 32 KB
Max mem object : 1006 MB
Address bits . : 64
Compute units : 2
Global cache . : 6144 KB
Max clock freq.: 3000 MHz
Max workgroup : 8192
Context check : failed, reason 'Device not available'
Platform 2 . . . : AMD Accelerated Parallel Processing
Available devices: 1 (0 GPUs, 1 CPUs, 0 accelerators)
Device 0 . . . : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (def.)
Device type . : CPU
Device version : OpenCL 1.2 AMD-APP (1214.3)
Driver version : 1214.3 (sse2)
Global mem size: 4027 MB
Local mem size : 32 KB
Max mem object : 2048 MB
Address bits . : 64
Compute units : 2
Global cache . : 32 KB
Max clock freq.: 2992 MHz
Max workgroup : 1024
Context check : passed
|
A third device is now listed: Platform 2, related to the new AMD device installed. This device has a version compatible with SARscape (OpenCL 1.2) and it passed the context check. The new device is then up and ready to be used by SARscape.
e. using the new OpenCL device during SARscape processing
To be sure SARscape is taking into account the newly installed OpenCL device, please :
- open ENVI,
- in the ENVI toolbox go to SARscape > Preferences
- select the tab General Parameters
- look for the available devices under "General Platform type".
The device identified above as the one properly installed and running should be the one selected in the SARscape preferences, in order to be able to run SARscape. If the wrong platform is selected (i.e. Platform 1 in the above example), the SARscape processing will fail.
If you encounter an issue related to the OpenCL, don't hesitate to contact Harris Geospatial technical support and provide the log from the "sarxinfo" tool.
Written by CS on 8/10/2014, reviewed by BC, PS and MM