Arm port#1009
Conversation
|
Looks good. Checked that it still works with some of my existing models on (Intel) CPU and GPUs. |
| #pragma GCC pop | ||
| #endif | ||
|
|
||
| #if USE_RUY_SGEMM |
There was a problem hiding this comment.
I am not particularly happy about this.
There was a problem hiding this comment.
Rome wasn't built in a day
There was a problem hiding this comment.
Do you have an M1 to test on ? We should test RUY vs OpenBLas vs AppleAccelerate to determine what sgemm implementation to use here.
There was a problem hiding this comment.
Ruy path was intended for Android. The usual BLAS was painful to compile. Since not available via package manager or anything we'd have to go compile-route with a submodule addition if going for OpenBLAS.
There was a problem hiding this comment.
Did you guys ever get the int8 stuff to work? Did you use RUY?
There was a problem hiding this comment.
I haven't ported it from our fork yet. Int8 with ruy works in our port.
There was a problem hiding this comment.
ah right. Where's your code? We'll take a look. May give you a hand with it
There was a problem hiding this comment.
| @@ -0,0 +1,142 @@ | |||
| # Modified from https://github.com/axr/solar-cmake/blob/73cfea0db0284c5e2010aca23989046e5bda95c9/Solar.cmake | |||
There was a problem hiding this comment.
TODO. This file needs to be removed and detecting ARM needs to be done in a different way. The variables that this file sets break the double M1/x86_64 compilation that is supposed to be done on modern OSX.
There was a problem hiding this comment.
what are the offending variables in this file?
Description
RFC on the initial ARM port work
List of changes:
Added dependencies: Ruy, simd_utils
How to test
Download a model and run it:
TODO
Checklist