I'm wondering if it would be worth the effort to improve Go's vectorization optimizations as opposed to creating/improving its bindings to the various GPUs.
Jon On Thursday, November 4, 2021 at 7:28:15 AM UTC-7 david....@gmail.com wrote: > On Thu, Nov 4, 2021 at 5:43 AM quin...@gmail.com <quin...@gmail.com> > wrote: > >> Hi, >> >> Has anyone got any experience of high performance image processing in go? >> >> By this I mean doing complex image processing in real time at 4K >> resolution on commodity hardware. This is really pushing it using carefully >> written C++ but when we tried writing similar code using go slices we go a >> significant slowdown (x4 over gcc). >> >> We experimented using unsafe pointers thinking it is go's slice range >> checking that cause the problems, but surprisingly saw no improvement. >> >> Has anyone had success saturating the memory bandwidth using go? Is my >> result a surprise to people? Is it just that gcc's code generator is very >> mature and Go's is less so, or should I keep looking for dropoffs in my >> code? >> > This doesn't particularly surprise me. The Go GC compiler is optimised for > fast compile-times and does very limited vectorization. > > I think the general advice in cases where one needs better optimization > paths has been to use gccgo or gollvm (if possible). > > >> >> I haven't looked at the generated assembly yet, but that is my next step. >> >> Any opinions? >> >> -Steve >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/8419a816-8058-48c1-874b-09a34be0f3fcn%40googlegroups.com >> >> <https://groups.google.com/d/msgid/golang-nuts/8419a816-8058-48c1-874b-09a34be0f3fcn%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/e2003daa-9f13-48a6-a787-91ec22badb42n%40googlegroups.com.