Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenCL tuning fails on Pixel7a MaliG710 GPU #977

Open
jopdorp opened this issue Aug 23, 2024 · 4 comments
Open

OpenCL tuning fails on Pixel7a MaliG710 GPU #977

jopdorp opened this issue Aug 23, 2024 · 4 comments

Comments

@jopdorp
Copy link

jopdorp commented Aug 23, 2024

I was able to compile for android with opencl support using my branch:
https://github.com/jopdorp/KataGo/tree/android-support

Hopefully this will make it easier to use katago on android for future devs.
Now in the runtime when I try to use it, I get a crash during the tuning process:

No existing tuning parameters found or parseable or valid at: /data/user/0/nl.jopdorp.opengoban/files/.katago/opencltuning/tune11_gpuMaliG710r0p0_x19_y19_c128_mv8.txt
Performing autotuning

......

Tuning hGemmWmma for convolutions
error: couldn't allocate output register for constraint 'r'

@HackYardo
Copy link

Have you tried Termux, an Android terminal emulator and Linux environment app without root? Google Android is sort of bare Android. To compile something you will need a comfortable environment.

@jopdorp
Copy link
Author

jopdorp commented Oct 15, 2024

I don't want to use termux, and my compilation step went fine, just skipped hGemmWmma for now with a patch.
The point is that I'm adding android support to the codebase, so people can build for android with a normal workflow instead of having to compile from an android device.

@HackYardo
Copy link

It's not Android, it is Linux ARM. And the compiling steps are the same as on a Linux AMD64 platform.

@jopdorp
Copy link
Author

jopdorp commented Oct 23, 2024

@HackYardo
Linux ARM comes in a couple of different flavors, and the android flavor is not the same as normal 32 bit or 64 bit arm, it also has different arch names that need to be taken into account in the CMake

Maybe you can have a look at my pull request and review with useful feedback.
One thing I'm still struggling with, is that the endianness of model files loaded into the Android version are reversed, so I had to reverse the endianness of the models that go into it, which is a hassle.

I think there should be a way to adjust the CMake file to fix this, but I didn't succeed there yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants