sonic
sonic copied to clipboard
Apple Silicon support
build error on mac m1
build error on mac m1
Me too, at 2020 MacBook Pro, It seems that sonic is only support on amd64platform
armv8 platform was not supported.
plz
This will be a major design change. It is very hard to support another processor under the current architecture, and may require a complete redesign. This will be addressed in the next major release, Sonic v2.
Hello, is there currently a tentative date for the release of v2 ?
Secondly, I can help on this issue if you require it, since I have a M1 mac and its alongside my interests.
Thirdly, since generics was released with go stable 1.18 recently, any plans on using them to improve performance even more on v2 ?
Could you add a skip mechanism (for AVX or other ASM code)to compile successfully. Because most people edit projects on macbook. After compile success,submit codes to git. Debug or running on Linux.
Cool got it
support mac m1
anxiously waiting for v2.
+2000
We have implemented a compatibility layer (#233) recently.
This is just a thin wrapper around encoding/json
as a fallback, so don't expect high performance on Apple Silicon chips for now, but it can serve as a workaround to the compilation error and will unblock your development process.
The real native support will be included in the, well, Sonic v2, which we are still actively developing.
For those who want to use Sonic on Apple Silicon Macs, this might be a viable solution for now.
works like a charm
export GOARCH=amd64 go build
What about amazon Graviton processors?
at present, set GOARCH=amd64 and use Rosatta is enough (https://github.com/bytedance/sonic#compatibility). For better performance and really support ARM
arch in future, we still have a lot of jobs to do:
-
asm2asm
tool supports converting ARM assembly into Plan9 - ARM version of SIMD algorithm for native function
Skip()\Value()\u64toa()
... - alternative JIT assembler which supports ARM assembly All these need much time to develop and test. Maybe in our next major version we can finish it, in the most optimistic case
at present, set GOARCH=amd64 and use Rosatta is enough (https://github.com/bytedance/sonic#compatibility). For better performance and really support
ARM
arch in future, we still have a lot of jobs to do:
asm2asm
tool supports converting ARM assembly into Plan9- ARM version of SIMD algorithm for native function
Skip()\Value()\u64toa()
...- alternative JIT assembler which supports ARM assembly All these need much time to develop and test. Maybe in our next major version we can finish it, in the most optimistic case
I already installed Rosatta2 and set GOARCH=amd64. But it still does not work when i build with goland. What should I do?
at present, set GOARCH=amd64 and use Rosatta is enough (https://github.com/bytedance/sonic#compatibility). For better performance and really support
ARM
arch in future, we still have a lot of jobs to do:
asm2asm
tool supports converting ARM assembly into Plan9- ARM version of SIMD algorithm for native function
Skip()\Value()\u64toa()
...- alternative JIT assembler which supports ARM assembly All these need much time to develop and test. Maybe in our next major version we can finish it, in the most optimistic case
I already installed Rosatta2 and set GOARCH=amd64. But it still does not work when i build with goland. What should I do?
After i upgrade v1.3 to v.15, it success
at present, set GOARCH=amd64 and use Rosatta is enough (https://github.com/bytedance/sonic#compatibility). For better performance and really support
ARM
arch in future, we still have a lot of jobs to do:
asm2asm
tool supports converting ARM assembly into Plan9- ARM version of SIMD algorithm for native function
Skip()\Value()\u64toa()
...- alternative JIT assembler which supports ARM assembly All these need much time to develop and test. Maybe in our next major version we can finish it, in the most optimistic case
I already installed Rosatta2 and set GOARCH=amd64. But it still does not work when i build with goland. What should I do?
After i upgrade v1.3 to v.15, it success
but I still cannot debug program, it would not stop at breakpoint.
Is there an ETA on Sonic V2 with native aarch64/Arm64/M1/Graviton/etc. support?
Hi @AsterDY and @chenzhuoyu,
If arm64 support becomes available, it will be really beneficial. If you need any assistance, I am happy to help with testing or any other.