一些库,如BLAS/LAPACK或某些优化库,会在编译时为本地机器架构进行优化。让我们以OpenBlas为例。使用OpenBlas创建Docker容器有两种方法:
选项(1)保证为您的计算机构建和优化OpenBlas。备选方案(2)呢?作为一个码头新手,我认为图像是固定的和静态的,所以运行这个映像不会优化到我的机器(这可能是基于AMD的,而不是维护人员的英特尔CPU)。让我感到困惑的是,在构建过程中,图像ipython/scipyserver确实克隆了最新的OpenBlas主版。
我似乎误解了Docker映像和/或自动构建的概念,我非常希望得到澄清。
发布于 2015-01-13 11:26:40
不,我觉得你是对的。
链接到的映像是一个自动构建,因此OpenBlas将使用Docker服务器的内核和体系结构进行编译。我注意到构建脚本在构建OpenBlas时设置了以下标志:
DYNAMIC_ARCH=1 NO_AFFINITY=1 NUM_THREADS=32
这可能会使安装以性能成本为代价而便携。另一种选择是为各种构建配置提供一个单独的映像。
https://stackoverflow.com/questions/27919866
复制相似问题