Skip to content

AGX OpenCL module compilation failing on AMD Terascale 2 GPU (HD7670M) #20305

@Unorthodactyl

Description

@Unorthodactyl

Is there an existing issue for this?

  • I checked and did not find my issue in the already reported ones

Describe the bug

Running 5.4 & 5.4.1 on Windows 10 laptop with a i7-3740QM CPU & an HD 7670M dedicated GPU.
The OpenCL module AGX fails to compile on both versions 5.4 & 5.4.1, the output of cltest doesn't provide much insight as to why:

[dt_opencl_device_init]
DEVICE: 1: 'Intel(R) HD Graphics 4000'
CONF KEY: cldevice_v5_intelropenclintelrhdgraphics4000
PLATFORM, VENDOR & ID: Intel(R) OpenCL, Intel(R) Corporation, ID=32902
CANONICAL NAME: intelropenclintelrhdgraphics4000
DRIVER VERSION: 10.18.10.5161
DEVICE VERSION: OpenCL 1.2
DEVICE_TYPE: GPU, unified mem
GLOBAL MEM SIZE: 1400 MB
MAX MEM ALLOC: 350 MB
MAX IMAGE SIZE: 16384 x 16384
MAX CONSTANT BUFFER: 64 KB
ADDRESS ALIGN: 128
COMPUTE UNITS: 16
MAX WORK GROUP SIZE: 512
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 512 512 512 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: NO
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH & HEIGHT 16x16
CHECK EVENT HANDLES: 128
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: C:\Program Files\darktable\share\darktable\kernels
KERNEL DIRECTORY: C:\Users\tehnb\AppData\Local\Microsoft\Windows\INetCache\darktable\cached_v5_kernels_for_IntelROpenCLIntelRHDGraphics4000_1018105161
CL COMPILER OPTION:
CL COMPILER COMMAND: -w -DINTEL=1 -I"C:\Program Files\darktable\share\darktable\kernels"
3.3193 [opencl_build_program] could not build program: CL_INVALID_BUILD_OPTIONS
3.3234 [dt_opencl_device_init] failed to compile program `demosaic_ppg.cl'!

[dt_opencl_device_init]
DEVICE: 2: 'Turks'
CONF KEY: cldevice_v5_amdacceleratedparallelprocessingturks
PLATFORM, VENDOR & ID: AMD Accelerated Parallel Processing, Advanced Micro Devices, Inc., ID=4098
CANONICAL NAME: amdacceleratedparallelprocessingturks
DRIVER VERSION: 1800.11 (VM)
DEVICE VERSION: OpenCL 1.2 AMD-APP (1800.11)
DEVICE_TYPE: GPU, dedicated mem
GLOBAL MEM SIZE: 1024 MB
MAX MEM ALLOC: 512 MB
MAX IMAGE SIZE: 16384 x 16384
MAX CONSTANT BUFFER: 64 KB
ADDRESS ALIGN: 256
COMPUTE UNITS: 6
MAX WORK GROUP SIZE: 256
MAX WORK ITEM DIMENSIONS: 3
MAX WORK ITEM SIZES: [ 256 256 256 ]
ASYNC PIXELPIPE: NO
PINNED MEMORY TRANSFER: NO
AVOID ATOMICS: NO
MICRO NAP: 250
ROUNDUP WIDTH & HEIGHT 16x16
CHECK EVENT HANDLES: 128
TILING ADVANTAGE: 0.000
DEFAULT DEVICE: NO
KERNEL BUILD DIRECTORY: C:\Program Files\darktable\share\darktable\kernels
KERNEL DIRECTORY: C:\Users\tehnb\AppData\Local\Microsoft\Windows\INetCache\darktable\cached_v5_kernels_for_AMDAcceleratedParallelProcessingTurks_180011VM
CL COMPILER OPTION: -cl-fast-relaxed-math
CL COMPILER COMMAND: -w -cl-fast-relaxed-math -DAMD=1 -I"C:\Program Files\darktable\share\darktable\kernels"
3.5791 [opencl_build_program] could not build program: CL_BUILD_PROGRAM_FAILURE
3.5829 [dt_opencl_device_init] failed to compile program `agx.cl'!

The compilation for the HD Graphics 4000 iGPU fails completely as well, but I haven't attempted to fix this.
Deleting the AGX OpenCL kernel lets me run Darktable with OpenCL enabled as all the other modules compile fine on the HD 7670m.
Is there a way to get more verbose output from the OpenCL compilation? If that would help I can run it & post it here

Steps to reproduce

Run darktable-cltest

Expected behavior

Successfully compiles all modules, as HD7670m conforms fully to OpenCL 1.2 std

Logfile | Screenshot | Screencast

darktable-log.txt

Commit

No response

Where did you obtain darktable from?

darktable.org / GitHub release

darktable version

5.4.1

What OS are you using?

Windows

What is the version of your OS?

Windows 10

Describe your system

OS - Windows 10
CPU - i7 3740QM
GPU discrete - HD 7670M 1gb
GPU integrated - HD Graphics 4000
RAM - 16GB DDR3

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

HD 7670M 1gb DDR3, driver 15.201.1151.1008

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

Does the same thing with the previous version, 5.4
It's just the AGX module is failing to compile, deleting the kernel for it lets me enable OpenCL for the HD7670M
No idea what's causing the HD4000 issues but I'm happy to test that too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    OpenCLRelated to darktable OpenCL code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions