Errors may pop up when processing big images on NVidia cards on Windows (CL_INVALID_COMMAND_QUEUE, CL_INVALID_PROGRAM_EXECUTABLE, CL_MEM_OBJECT_ALLOCATION_FAILURE): The issue is related to a timeout of the operating system interrupting processing on the GPU. Add these keys to the windows registry and restart the machine (warning, don’t do this if you’re not sure. Ask you IT department for support. Read the BSD3 license file for details on what why we’re not responsible for your actions on your computer ):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers] "TdrDelay"=dword:0000003c "TdrDdiDelay"=dword:0000003c
Here is more information about what TDR is: https://docs.microsoft.com/en-us/windows-hardware/drivers/display/tdr-registry-keys
Similar to NVidia drives (see above), issues may appear due to a timeout when processing large images. The issue is related to a timeout of the operating system interrupting processing on the GPU. Add these keys to the windows registry and restart the machine (warning, don’t do this if you’re not sure. Ask you IT department for support. Read the BSD3 license file for details on what why we’re not responsible for your actions on your computer ). Similar to the solution above, enter a new key in the registry of Windows in this path
The key should be called
TdrDelay and have a value of 8.
Sources: https://community.amd.com/thread/180166 https://support.microsoft.com/en-us/help/2665946/display-driver-stopped-responding-and-has-recovered-error-in-windows-7
When creating CLIJ instances and closing them repeatedly, it crashes after about 40 attempts. This test allows reproducing the issue on specified hardward. Workaround: Don’t close the CLIJ instance and keep working with the singleton instance.
On some MacOS systems with modern AMD Graphics Cards, CLIJ causes a crash which leads to the operating system restarting the session and logging out the user. Reason is an energy saving mode. To solve this problem, turn off “Automatic graphics switching” under “System Preference” > “Energy Saver”. Thanks to Tanner Fadero for reporting this bug and its solution.
This might happend with older GPUs which have not been tested. A helpful workaround is converting all images to 32 bit using
run("32-bit"); before sending them to the GPU.
CLIJ throws various exceptions, like CL_OUT_OF_HOST_MEMORY on Linux. Try installing an OpenCL-driver such as beignet. On Fedora 27 Linux, this command list helped:
sudo yum install ocl-icd-devel sudo yum install cmake sudo yum install llvm sudo yum install llvm-devel sudo yum install libdrm libdrm-devel sudo yum install libXext-devel sudo yum install libXfixes-devel sudo yum install clang-devel git clone https://github.com/intel/beignet.git cd beignet/ mkdir build cd build cmake ../ make sudo make install
More info can be found on the website of the beignet project.