intel mkl在分布式系统中的使用
假设我有一个分布式系统,有36个节点,每个节点有36个核心,现在我使用intel的dgemm函数进行乘法,我想使用所有核心(36*36),我该怎么做?
Let's say I have a distributed system, which has 36 nodes and each node has 36 cores, now I am using intel's dgemm function for multiplication and I want to use all the cores(36*36), How can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
默认情况下,如果您在多核 CPU 上运行,Intel oneMKL 将使用所有可用核心。通过设置 MKL_VERBOSE=1,您可以看到告诉我们正在使用多少个核心的信息。
我们有一个选项 -qmkl=cluster 告诉编译器(intel 编译器)使用特定于集群的库和 oneMKL 中的顺序库进行链接。
请查看以下链接了解更多详情。
https://www.intel.com/content/www/us/en/develop/documentation/onemkl-linux-developer-guide/top/working-with-onemkl-cluster-software/examples-of-linking -for-clusters/examples-for-linking-ac-application.html
By default, Intel oneMKL uses all the available cores if you are running on multicore CPU. By setting MKL_VERBOSE=1 you can see the information which tells us how many cores are being utilized.
We have an option -qmkl=cluster that tells the compiler(intel compiler) to link using the cluster-specific libraries and the sequential libraries in oneMKL.
Please check the below link for more details.
https://www.intel.com/content/www/us/en/develop/documentation/onemkl-linux-developer-guide/top/working-with-onemkl-cluster-software/examples-of-linking-for-clusters/examples-for-linking-a-c-application.html