Re: [darktable-user] Checking for errors/debugging my openCL

2018-03-10 Thread Bernhard



Šarūnas schrieb am 07.03.2018 um 23:30:

Perhaps it is possible to try different versions of nvidia driver and
CUDA, older/newer?

Nvidia has a network repository at
http://developer.download.nvidia.com/compute/cuda/repos/

-- Šarūnas Burdulis math.dartmouth.edu/~sarunas

Thanks - I'm on my way to try this:
https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa/ and then 
compare with your link


--

regards
Bernhard

https://www.bilddateien.de


darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] Checking for errors/debugging my openCL

2018-03-07 Thread Šarūnas
On 03/07/2018 04:30 PM, Bernhard wrote:
> 
> 
> Ulrich Pegelow schrieb am 05.03.2018 um 17:54:
>> Additionally you may want to play with opencl_number_event_handles.
>> Start with an extreme setting of zero. In case this would solve your
>> issues you can then try different values in-between.
>>
>> Ulrich 
> I changed this value with no result.
> 
> Then I learned that there is a little tool called clinfo.
> I fear that it's a hardware or system issue now.
> 
> I get
> 
> $ clinfo
> Number of platforms   1
>   Platform Name   NVIDIA CUDA
>   Platform Vendor NVIDIA Corporation
>   Platform Version    OpenCL 1.2 CUDA 9.0.282
>   Platform Profile FULL_PROFILE
>   Platform Extensions cl_khr_global_int32_base_atomics
> cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics
> cl_khr_local_int32_extended_atomics cl_khr_fp64
> cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing
> cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
> cl_nv_copy_opts cl_nv_create_buffer
>   Platform Extensions function suffix NV
> 
>   Platform Name   NVIDIA CUDA
> Number of devices 1
>   Device Name GeForce GTX 1050 Ti
>   Device Vendor   NVIDIA Corporation
>   Device Vendor ID    0x10de
>   Device Version  OpenCL 1.2 CUDA
>   Driver Version  384.111
>   [...]

Perhaps it is possible to try different versions of nvidia driver and
CUDA, older/newer?

Nvidia has a network repository at
http://developer.download.nvidia.com/compute/cuda/repos/

-- 
Šarūnas Burdulis
math.dartmouth.edu/~sarunas



signature.asc
Description: OpenPGP digital signature


Re: [darktable-user] Checking for errors/debugging my openCL

2018-03-07 Thread Bernhard



Ulrich Pegelow schrieb am 05.03.2018 um 17:54:
Additionally you may want to play with opencl_number_event_handles. 
Start with an extreme setting of zero. In case this would solve your 
issues you can then try different values in-between.


Ulrich 

I changed this value with no result.

Then I learned that there is a little tool called clinfo.
I fear that it's a hardware or system issue now.

I get

$ clinfo
Number of platforms   1
  Platform Name   NVIDIA CUDA
  Platform Vendor NVIDIA Corporation
  Platform Version    OpenCL 1.2 CUDA 9.0.282
  Platform Profile FULL_PROFILE
  Platform Extensions cl_khr_global_int32_base_atomics 
cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics 
cl_khr_local_int32_extended_atomics cl_khr_fp64 
cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing 
cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll 
cl_nv_copy_opts cl_nv_create_buffer

  Platform Extensions function suffix NV

  Platform Name   NVIDIA CUDA
Number of devices 1
  Device Name GeForce GTX 1050 Ti
  Device Vendor   NVIDIA Corporation
  Device Vendor ID    0x10de
  Device Version  OpenCL 1.2 CUDA
  Driver Version  384.111
  Device OpenCL C Version OpenCL C 1.2
  Device Type GPU
  Device Profile FULL_PROFILE
  Device Topology (NV)    PCI-E, 01:00.0
  Max compute units   6
  Max clock frequency 1392MHz
  Compute Capability (NV) 6.1
  Device Partition    (core)
    Max number of sub-devices 1
    Supported partition types None
  Max work item dimensions    3
  Max work item sizes 1024x1024x64
  Max work group size 1024
  Preferred work group size multiple  32
  Warp size (NV)  32
  Preferred / native vector sizes
    char 1 / 1
    short    1 / 1
    int  1 / 1
    long 1 / 1
    half 0 / 0    (n/a)
    float    1 / 1
    double   1 / 1    
(cl_khr_fp64)

  Half-precision Floating-point support   (n/a)
  Single-precision Floating-point support (core)
    Denormals Yes
    Infinity and NANs Yes
    Round to nearest  Yes
    Round to zero Yes
    Round to infinity Yes
    IEEE754-2008 fused multiply-add   Yes
    Support is emulated in software   No
    Correctly-rounded divide and sqrt operations  Yes
  Double-precision Floating-point support (cl_khr_fp64)
    Denormals Yes
    Infinity and NANs Yes
    Round to nearest  Yes
    Round to zero Yes
    Round to infinity Yes
    IEEE754-2008 fused multiply-add   Yes
    Support is emulated in software   No
    Correctly-rounded divide and sqrt operations  No
  Address bits    64, Little-Endian
  Global memory size 4231725056 (3.941GiB)
  Error Correction support    No
  Max memory allocation 1057931264 (1009MiB)
  Unified memory for Host and Device  No
  Integrated memory (NV)  No
  Minimum alignment for any data type 128 bytes
  Alignment of base address   4096 bits (512 bytes)
  Global Memory cache type Read/Write
  Global Memory cache size    98304
  Global Memory cache line    128 bytes
  Image support   Yes
    Max number of samplers per kernel 32
    Max size for 1D images from buffer    134217728 pixels
    Max 1D or 2D image array size 2048 images
    Max 2D image size 16384x32768 pixels
    Max 3D image size 16384x16384x16384 pixels
    Max number of read image args 256
    Max number of write image args    16
  Local memory type   Local
  Local memory size  

Re: [darktable-user] Checking for errors/debugging my openCL

2018-03-05 Thread Ulrich Pegelow
Additionally you may want to play with opencl_number_event_handles. 
Start with an extreme setting of zero. In case this would solve your 
issues you can then try different values in-between.


Ulrich

Am 05.03.2018 um 11:37 schrieb KOVÁCS István:
The only memory-transfer related setting that I know of 
is opencl_use_pinned_memory. The manual 
(https://www.darktable.org/usermanual/en/darktable_and_opencl_optimization.html) 
says for NVidia it should be set to false. You may want to check - for 
me, it was set to true by default, although it did not cause problems 
apart from being slow.


Kofa





darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] Checking for errors/debugging my openCL

2018-03-05 Thread KOVÁCS István
The only memory-transfer related setting that I know of
is opencl_use_pinned_memory. The manual (
https://www.darktable.org/usermanual/en/darktable_and_opencl_optimization.html)
says for NVidia it should be set to false. You may want to check - for me,
it was set to true by default, although it did not cause problems apart
from being slow.

Kofa



On 4 Mar 2018 16:03, "Bernhard"  wrote:

> Hi,
>
> I'm still struggling with "part-time openCL" on my new Nvidia card.
>
> General system data:
>
> System:Host: lorem_ipsum Kernel: 4.10.0-38-generic x86_64 (64 bit gcc:
> 5.4.0)
>Desktop: Cinnamon 3.6.7 (Gtk 3.18.9-1ubuntu3.3)
>Distro: Linux Mint 18.3 Sylvia
> Machine:   Mobo: ASUSTeK model: P8Z77-M v: Rev 1.xx
>Bios: American Megatrends v: 2203 date: 12/18/2015
> CPU:   Quad core Intel Core i5-3570 (-MCP-) cache: 6144 KB
>flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips:
> 27278
>clock speeds: max: 3800 MHz 1: 2190 MHz 2: 1858 MHz 3: 1964 MHz
>4: 2103 MHz
> Graphics:  Card: NVIDIA Device 1c82 bus-ID: 01:00.0
>Display Server: X.Org 1.18.4 drivers: nvidia (unloaded:
> fbdev,vesa,nouveau)
>Resolution: 1920x1200@59.95hz
>GLX Renderer: GeForce GTX 1050 Ti/PCIe/SSE2
>GLX Version: 4.5.0 NVIDIA 384.111 Direct Rendering: Yes
>
> openCL settings in darktable are default except the one mentioned by
> Ulrich days ago in darktablerc
>
> opencl=TRUE
> opencl_async_pixelpipe=false
> opencl_avoid_atomics=false
> opencl_checksum=1868237003
> opencl_device_priority=*/!0,*/*/*
> opencl_disable_drivers_blacklist=false
> opencl_enable_markesteijn=true
> opencl_library=
> opencl_mandatory_timeout=200
> *opencl_memory_headroom=500*
> opencl_memory_requirement=768
> opencl_micro_nap=1000
> opencl_number_event_handles=25
> opencl_omit_whitebalance=
> opencl_scheduling_profile=default
> opencl_size_roundup=16
> opencl_synch_cache=false
> opencl_use_cpu_devices=false
> opencl_use_pinned_memory=false
> I never saw too high memory consumption in nvidia-smi since then.
>
> I compared my installation to this list https://www.darktable.org/
> usermanual/en/darktable_and_opencl_system.html
>
> $ dpkg -l | grep nvidia
> ii  nvidia-384
> 384.111-0ubuntu0.16.04.1amd64
> NVIDIA binary driver - version 384.111
> ii  nvidia-cuda-dev
> 7.5.18-0ubuntu1 amd64
> NVIDIA CUDA development files
> ii  nvidia-cuda-toolkit
> 7.5.18-0ubuntu1 amd64
> NVIDIA CUDA development toolkit
> ii  nvidia-modprobe
> 361.28-1amd64
> utility to load NVIDIA kernel modules and create device nodes
> ii  nvidia-opencl-dev:amd64
> 7.5.18-0ubuntu1 amd64
> NVIDIA OpenCL development files
> ii  nvidia-opencl-icd-384
> 384.111-0ubuntu0.16.04.1amd64
> NVIDIA OpenCL ICD
> ii  nvidia-prime
> 0.8.2linuxmint1 amd64
> Tools to enable NVIDIA's Prime
> ii  nvidia-prime-applet
> 1.0.6   all  An
> applet for NVIDIA Prime
> ii  nvidia-profiler
> 7.5.18-0ubuntu1 amd64
> NVIDIA Profiler for CUDA and OpenCL
> ii  nvidia-settings
> 361.42-0ubuntu1 amd64Tool
> for configuring the NVIDIA graphics driver
> I find some additional CUDA packages but some other files are missing.
> So e. g. nvidia-libopencl1-384 is missing but synaptic says:
>
> This package contains NVIDIA's OpenCL implementation and the ICD Loader
> library. This library supports only OpenCL 1.1.
>
> So I find ocl-icd-libopencl1 on my system instead (installed automatically)
> :
>
> $ dpkg -l | grep opencl
> ii  nvidia-opencl-dev:amd64
> 7.5.18-0ubuntu1 amd64
> NVIDIA OpenCL development files
> ii  nvidia-opencl-icd-384
> 384.111-0ubuntu0.16.04.1amd64
> NVIDIA OpenCL ICD
> ii  ocl-icd-libopencl1:amd64
> 2.2.8-1 amd64
> Generic OpenCL ICD Loader
> ii  opencl-headers
> 2.0~svn32091-2  all
> OpenCL (Open Computing Language) header files
>
> $ ls -l /dev/nvidia*
> crw-rw-rw- 1 root root 195,   0 Mär  4 09:44 /dev/nvidia0
> crw-rw-rw- 1 root root 195, 255 Mär  4 09:44 /dev/nvidiactl
> crw-rw-rw- 1 root root 195, 254 Mär  4 09:44 /dev/nvidia-modeset
> crw-rw-rw- 1 root root 242,   0 Mär  4 09:44 /dev/nvidia-uvm
>
> $ lsmod | grep nvidia
> nvidia_uvm671744  2
> nvidia_drm 45056  1
> nvidia_modeset860160  4 nvidia_drm
> nvidia  13139968 <(1)%20313%209968>  429
> nvidia_modeset,nvidia_uvm
> drm_kms_helper151552  1 nvidia_drm
> drm   352256  4 nvidia_drm,drm_kms_helper
>
>
> I al

[darktable-user] Checking for errors/debugging my openCL

2018-03-04 Thread Bernhard

Hi,

I'm still struggling with "part-time openCL" on my new Nvidia card.

General system data:

System:    Host: lorem_ipsum Kernel: 4.10.0-38-generic x86_64 (64 bit 
gcc: 5.4.0)

   Desktop: Cinnamon 3.6.7 (Gtk 3.18.9-1ubuntu3.3)
   Distro: Linux Mint 18.3 Sylvia
Machine:   Mobo: ASUSTeK model: P8Z77-M v: Rev 1.xx
   Bios: American Megatrends v: 2203 date: 12/18/2015
CPU:   Quad core Intel Core i5-3570 (-MCP-) cache: 6144 KB
   flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 
27278

   clock speeds: max: 3800 MHz 1: 2190 MHz 2: 1858 MHz 3: 1964 MHz
   4: 2103 MHz
Graphics:  Card: NVIDIA Device 1c82 bus-ID: 01:00.0
   Display Server: X.Org 1.18.4 drivers: nvidia (unloaded: 
fbdev,vesa,nouveau)

   Resolution: 1920x1200@59.95hz
   GLX Renderer: GeForce GTX 1050 Ti/PCIe/SSE2
   GLX Version: 4.5.0 NVIDIA 384.111 Direct Rendering: Yes

openCL settings in darktable are default except the one mentioned by 
Ulrich days ago in darktablerc


opencl=TRUE
opencl_async_pixelpipe=false
opencl_avoid_atomics=false
opencl_checksum=1868237003
opencl_device_priority=*/!0,*/*/*
opencl_disable_drivers_blacklist=false
opencl_enable_markesteijn=true
opencl_library=
opencl_mandatory_timeout=200
*opencl_memory_headroom=500*
opencl_memory_requirement=768
opencl_micro_nap=1000
opencl_number_event_handles=25
opencl_omit_whitebalance=
opencl_scheduling_profile=default
opencl_size_roundup=16
opencl_synch_cache=false
opencl_use_cpu_devices=false
opencl_use_pinned_memory=false

I never saw too high memory consumption in nvidia-smi since then.

I compared my installation to this list 
https://www.darktable.org/usermanual/en/darktable_and_opencl_system.html


$ dpkg -l | grep nvidia
ii  nvidia-384 384.111-0ubuntu0.16.04.1 amd64    NVIDIA binary 
driver - version 384.111
ii  nvidia-cuda-dev 7.5.18-0ubuntu1 amd64    NVIDIA CUDA development 
files
ii  nvidia-cuda-toolkit 7.5.18-0ubuntu1 amd64    NVIDIA CUDA 
development toolkit
ii  nvidia-modprobe 361.28-1 amd64    utility to load NVIDIA kernel 
modules and create device nodes
ii  nvidia-opencl-dev:amd64 7.5.18-0ubuntu1 amd64    NVIDIA OpenCL 
development files
ii  nvidia-opencl-icd-384 384.111-0ubuntu0.16.04.1 amd64    NVIDIA 
OpenCL ICD

ii  nvidia-prime 0.8.2linuxmint1 amd64    Tools to enable NVIDIA's Prime
ii  nvidia-prime-applet 1.0.6 all  An applet for NVIDIA Prime
ii  nvidia-profiler 7.5.18-0ubuntu1 amd64    NVIDIA Profiler for 
CUDA and OpenCL
ii  nvidia-settings 361.42-0ubuntu1 amd64    Tool for configuring 
the NVIDIA graphics driver


I find some additional CUDA packages but some other files are missing.
So e. g. nvidia-libopencl1-384 is missing but synaptic says:

   This package contains NVIDIA's OpenCL implementation and the ICD Loader
   library. This library supports only OpenCL 1.1.

So I find ocl-icd-libopencl1 on my system instead (installed automatically):

$ dpkg -l | grep opencl
ii  nvidia-opencl-dev:amd64 7.5.18-0ubuntu1 amd64    NVIDIA OpenCL 
development files
ii  nvidia-opencl-icd-384 384.111-0ubuntu0.16.04.1 amd64    NVIDIA 
OpenCL ICD

ii  ocl-icd-libopencl1:amd64 2.2.8-1 amd64    Generic OpenCL ICD Loader
ii  opencl-headers 2.0~svn32091-2 all  OpenCL (Open Computing 
Language) header files


$ ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195,   0 Mär  4 09:44 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Mär  4 09:44 /dev/nvidiactl
crw-rw-rw- 1 root root 195, 254 Mär  4 09:44 /dev/nvidia-modeset
crw-rw-rw- 1 root root 242,   0 Mär  4 09:44 /dev/nvidia-uvm

$ lsmod | grep nvidia
nvidia_uvm    671744  2
nvidia_drm 45056  1
nvidia_modeset    860160  4 nvidia_drm
nvidia  13139968  429 nvidia_modeset,nvidia_uvm
drm_kms_helper    151552  1 nvidia_drm
drm   352256  4 nvidia_drm,drm_kms_helper


I also checked /etc/OpenCL as suggested in the docs and found only one 
file: /etc/OpenCL/vendors/nvidia.icd with a one-line-entry: 
libnvidia-opencl.so.1
I find this in /usr/lib/x86_64-linux-gnu and also in 
/usr/lib/i386-linux-gnu which seems to link to libnvidia-opencl.so.384.111



*_ERRORS:_*

I sometimes find something like this in the log:

[dev_process_thumbnail] pixel pipeline processing took 0,623 secs (1,912 
CPU)

[dev] took 0,468 secs (0,172 CPU) to load the image.
[dev] took 0,000 secs (0,000 CPU) to load the image.
[pixelpipe_process] [full] using device 0
[dev_pixelpipe] took 0,010 secs (0,028 CPU) initing base buffer [full]
[opencl_pixelpipe] couldn't copy image to opencl device for module 
rawprepare
[opencl_pixelpipe] could not run module 'rawprepare' on gpu. falling 
back to cpu path
*[opencl_pixelpipe (b)] late opencl error detected while copying back to 
cpu buffer: -5**

**[pixelpipe_process] [full] falling back to cpu path*

*/I don't find '-5' error in the docs - what does this mean?/*
This does _not_ deactivate openCL immediately, but after 5 s