Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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