Hi On 22/06/18 09:29, Billy Poon wrote:
Hi Pascal,
It depends on what you mean by useable. I outlined some steps for building and running DIALS at https://github.com/cctbx/cctbx_project/issues/85, but those steps will work for Phenix and CCTBX as well. Most tests will pass, but there are still missing dependencies and there is no Windows support. So most things should run, but I have not tested on multiple operating systems yet. Also, the workflow for compiling development builds and release installers still needs to be worked out. Thanks. I will have a look
Does openblas need to be installed by default? If so, testing the builds on different operating systems (especially CentOS 5 and 32-bit oses) are the time-consuming steps. It depends what cctbx people want. At the moment there is no dependency on blas/lapack and it can stay that way and having it optional as well as keeping the actual implementation as is. Which means duplicating some algorithms with blas/lapack calls. You still need to test the alternative at some point though.
Openblas can be made compulsory, some functions updated and any new development can rely on it. openblas, especially when dynamic arch is used is taking a huge amount of time to compile. Plus I can predict a long debate on why openblas or which library to use instead. A third option would be to keep third party blas/lapack libraries optional but include the version from netlib has a fall back in cctbx. No need to duplicate implementation. If you just include the functions used in cctbx from netlib it is also lightweight. Tests should be fine against netlib only. Third party libraries are checked on their own. Pascal