-
-
Notifications
You must be signed in to change notification settings - Fork 12
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
Automatic detection of CPU capabilities. #45
Comments
Hi @dietmarwo, For the deployment of Python, there are some options you can choose.
Since it allows to compile in the native machine(like
It is the most convenient distribution method for users, but it is quite difficult to configure deployment. I choosed this option for my python tomotopy, which is using Eigen & EigenRand. You can see the simple example at https://github.com/bab2min/tomotopy/blob/main/src/python/py_rt.cpp. If you want to see the intra structure of the package, you can unzip any wheel files at https://pypi.org/project/tomotopy/#files.
Simple solution, but users should know their details of CPU architecture. |
Thanks for the detailed answer. For now I decided to use only SSE2 for the public version and compile |
Is there a way the CPU capabilites can automatically being detected?
Since today EigenRand is used in all of the optmization algorithms of fcmaes
currently by hardcoding SSE2 support. Would be better if AVX support would be automatically detected
since fcmaes is used from Python and I cannot predict on which CPUs it is deployed.
But I already see a significant speedup, specially with machine learning tasks ( EvoJax uses some of my algos) which require up to a million random variable generations each iteration (lasting a few seconds).
Thks for this great project!
The text was updated successfully, but these errors were encountered: