You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current setup optimizes Marian to exploit CPU features at compile time. This is fine as long as we assume that Marian is re-compiled from scratch for each architecture it runs on. For distributable binaries, this is not possible.
Instead, Marian should determine CPU features at run time and optimize its execution path at that time by setting function pointers to functions optimized for the respective architecture / CPU type.
The current setup optimizes Marian to exploit CPU features at compile time. This is fine as long as we assume that Marian is re-compiled from scratch for each architecture it runs on. For distributable binaries, this is not possible.
Instead, Marian should determine CPU features at run time and optimize its execution path at that time by setting function pointers to functions optimized for the respective architecture / CPU type.
Google provides a library for detecting CPU features at run time: https://github.com/google/cpu_features
In my preliminary assessment it seems to be that the biggest hurdle will be to rework avx_mathfun.h and sse_mathfun.h.
The text was updated successfully, but these errors were encountered: