Skip to content

Trying to get running on Apple M4.. #307

@oscarbg

Description

@oscarbg

Hi,
it's nice to see, that this program, since recently, builds on MacOS..

the initial issues I found while trying to run the provided artifact build in Actions are, that is still x64, and requires installing brew in x64 mode, and then installing gcc-14 x64 bottle to have:

/opt/homebrew/Cellar/gcc/14.2.0_1/lib/gcc/14/libgcc_s.1.1.dylib

testing on a M4 machine I get an error:
I get it's still unsupported on Apple Silicon:

    Exception gpu_error: INVALID_WORK_GROUP_SIZE (-54) transpIn at src/clwrap.cpp:319 run

but at least can this error be fixed?

seems like a program limitation anyway to not be able to acommodate to platform supported workgroup sizes..

I'm using the latest build:
https://github.com/preda/gpuowl/actions/runs/11979713173

I get running (after installing gcc from brew for x64 architecture):

./prpllori -iters 1000 -prp 57885161
20241127 05:23:46  PRPLL 21ca60b starting
20241127 05:23:46  config: -iters 1000 -prp 57885161 
20241127 05:23:46  device 0, OpenCL 1.1, unique id ''
20241127 05:23:46 57885161 No FFTs found in tune.txt that can handle 57885161. Consider tuning with -tune
20241127 05:23:46 57885161 BPW info for 512:16:512 not found, defaults={18.02, 18.12, 18.12, 18.22}
20241127 05:23:46 57885161 BPW info for 1K:16:512 not found, defaults={17.74, 17.84, 17.84, 17.94}
20241127 05:23:46 57885161 BPW info for 4K:16:512 not found, defaults={17.19, 17.29, 17.29, 17.39}
20241127 05:23:46 57885161 BPW info for 4K:16:1K not found, defaults={16.92, 17.02, 17.02, 17.12}
20241127 05:23:46 57885161 config: 
20241127 05:23:46 57885161 FFT: 3M 1K:6:256:0 (18.40 bpw)
20241127 05:23:47 57885161 In file included from <program source>:1:
In file included from transpose.cl:4:
base.cl:164:4: warning: no previous prototype for function 'U2'
T2 U2(T a, T b) { return (T2) (a, b); }
   ^

20241127 05:23:47 57885161 In file included from <program source>:1:
In file included from transpose.cl:4:
base.cl:164:4: warning: no previous prototype for function 'U2'
T2 U2(T a, T b) { return (T2) (a, b); }
   ^

20241127 05:23:47  Exception gpu_error: INVALID_WORK_GROUP_SIZE (-54) transpIn at src/clwrap.cpp:319 run
20241127 05:23:47  Bye

my arm64 build is even worse (note: using g++-14 arm64 bottle)..

./prpll -iters 1000 -prp 57885161 
20241127 05:38:10  PRPLL 21ca60b starting
20241127 05:38:10  config: -iters 1000 -prp 57885161 
20241127 05:38:10  device 0, OpenCL 1.2 1.0, unique id ''
20241127 05:38:10 57885161 No FFTs found in tune.txt that can handle 57885161. Consider tuning with -tune
20241127 05:38:10 57885161 BPW info for 512:16:512 not found, defaults={18.02, 18.12, 18.12, 18.22}
20241127 05:38:10 57885161 BPW info for 1K:16:512 not found, defaults={17.74, 17.84, 17.84, 17.94}
20241127 05:38:10 57885161 BPW info for 4K:16:512 not found, defaults={17.19, 17.29, 17.29, 17.39}
20241127 05:38:10 57885161 BPW info for 4K:16:1K not found, defaults={16.92, 17.02, 17.02, 17.12}
20241127 05:38:10 57885161 config: 
20241127 05:38:10 57885161 FFT: 3M 1K:6:256:0 (18.40 bpw)
zsh: abort      ./prpll -iters 1000 -prp 57885161

thanks..

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