我需要在OSX上使用并行线性代数 和尽可能轻松(即最多我可以使用HomeBrew和我的同事)分解库是由于我在问题中的DOF数量。
我尝试过Armadillo,它支持稀疏代数,这是我需要的,我可以与Accelerate
框架链接,但它只是解决线性问题,它不支持分解AFAIK。
接下来,MKL,但我无能为力似乎触发了线程,即使使用TBB:
tbb::task_scheduler_init scheduler(4);
mkl_set_dynamic(true);
mkl_set_num_threads(4);
mkl_set_num_threads_local(4);
Eigen可能很酷,但似乎与MKL一样,它不会并行运行。
你有什么建议吗?
答案 0 :(得分:0)
OSX clang不支持openmp,这是多线程Eigen和MKL所必需的。
根据Intel® Math Kernel Library Link Line Advisor,MKL不支持使用clang进行TBB线程。
但它似乎支持带有额外链接选项-liomp5
的英特尔OpenMP库。你可以试试它是否有效。如果没有,您可能必须使用其他编译器,如gcc。你可以在HomeBrew中找到它。