Skip to content

Unable to run on macOS (x86-64) AMDGPU: no atomic_uint #341

@Artoria2e5

Description

@Artoria2e5
20251120 17:12:06  PRPLL 0.15-154-g6c16f7e-dirty starting
20251120 17:12:06  config: -tune -d 1
20251120 17:12:06  device 1, OpenCL 1.2 (Jul 14 2025 21:13:32), unique id ''
20251120 17:12:07  In file included from <program source>:3:
carryfused.cl:144:34: error: use of undeclared identifier 'atomic_uint'
    if (me == 0) { atomic_store((atomic_uint *) &ready[gr], 1); }
                                 ^
carryfused.cl:144:47: error: expected expression
    if (me == 0) { atomic_store((atomic_uint *) &ready[gr], 1); }
                                              ^
carryfused.cl:172:62: error: use of undeclared identifier 'atomic_uint'
  if (me == 0) { do { spin(); } while(!atomic_load_explicit((atomic_uint *) &ready[gr - 1], memory_order_relaxed, memory_scope_device)); }
                                                             ^
carryfused.cl:172:75: error: expected expression
  if (me == 0) { do { spin(); } while(!atomic_load_explicit((atomic_uint *) &ready[gr - 1], memory_order_relaxed, memory_scope_device)); }
                                                                          ^

20251120 17:12:07  Compiling 'carryfused.cl' error BUILD_PROGRAM_FAILURE (-11) (args -w -cl-finite-math-only -cl-std=CL2.0  -DIN_SIZEX=8 -DIN_WG=64 -DEXP=4980727u -DWIDTH=256u -DSMALL_HEIGHT=256u -DMIDDLE=2u -DCARRY_LEN=8u -DNW=4u -DNH=4u -DWEIGHT_STEP=2.3797603047682418e-05 -DIWEIGHT_STEP=-2.3797036735248459e-05 -DFFT_VARIANT=101u -DTAILT=U2(-7.5298160855459062e-05,0.012271538285719925) -DTRIG_SCALE=9 -DTRIG_SIN={5.3263221801584762e-06,2.9767495243664746e-22,-2.5184367464740274e-17,3.5723657515182318e-29,-2.4130231682795684e-41,9.5078818943081101e-54,-2.4520163974664508e-66,4.4149667939391264e-79,} -DTRIG_COS={1,-1.4184853983424073e-11,3.3535013755177081e-23,-3.1712618229987226e-35,1.6065673539660592e-47,-5.0642051365037344e-60,1.0883867404577732e-72,-1.6846025309095688e-85,} -DFRAC_BPW_HI=4294819839u -DFRAC_BPW_LO=4294967295u -DFRAC_BITS_BIGSTEP=3221225471u )
20251120 17:12:07  Can't compile carryfused.cl
20251120 17:12:07  Exiting because "Can't compile carryfused.cl"
20251120 17:12:07  Bye

Device list

 N  : PCI BDF |   UID            |   Driver                 |    Device
 0  :         |                  | 1.1                      | Intel(R) Core(TM) i7-8086K CPU @ 4.00GHz |
 1  :         |                  | 1.2 (Jul 14 2025 21:13:32) | AMD Radeon RX 6800 XT Compute Engine |

The original output was filled with warnings with no sign of the error (macOS truncates the output by itself). I had to edit src/KernelCompiler.cpp to add a -w option to show the actual error.

I suppose this is kinda expected due to how badly Apple handles OpenCL (officially stops at 1.2), but #292 did make me expect that it would somewhat work. It didn't stop at -cl-std=CL2.0 at least.


Also, using -d 0 causes a different compiler to be used (the GPU compiler is some ancient clang 4.2 or something; the CPU appears more recent), with the different error message of INVALID_WORK_GROUP_SIZE.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions