x64 Multilib,我一知半解,请熟悉的同学给深入讲解一下
纯32位系统或纯64位系统都是NON-Multilib,但是如果有x64的U,想要既可以运行64bit的程序又可以运行32bit的程序,就得安装Multilib。想要纯64位的gcc?configure的时候--disable-multilib,要不然你构建gcc的时候还得装glibc-i3686-dev,因为它跟你要stubs-32.h,编译libgcc的时候。哈哈g++,fortran之类的我都没编译,太费时间啦。
btw, gcc 的 OpenMP支持比较成熟了
熟悉这个的同学多说说,我想知道的更透彻
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
#include <omp.h>
....
#pragma omp parallel for {//your process} //编译指示指令pragma omp ...
其他部分跟c几乎是一样的.
pragma omp ....的是OpenMP的特色需要熟悉,希望各位大拿能谈谈自己的体会.
那是因为从本质上说OpenMP不过是多thread的预处理而已. 而且如何并行还是要程序员在程序中指定的.
因此从某个角度来说,pragma omp ....可以看成asm中的伪指令,是指示编译器如何处理程序员要并行的各个程序单元或处理单元(PU).
虽说是比较成熟,但前提是共享地址空间(存储空间都不行),因此某种程度上来说只能局限与单机的多CPU处理(当然也有变通的方法),因此很多时候还需要跟MPI配合使用才能更好解决问题.
OpenMP 甚至封装了网络通信,到处传播代价,在 Gird 中那叫一个猖獗。“不完美”的是 code 必须在每个机器上有一份,data 最好也都有,要不然整天在 Gird 里面你给我 data , 我给你 data ,这代价,不活了。
OpenMP 的优势在于 Source Code 不用大变
MPI 一点都不知道,相信 GCC 已经支持。
有这样的信念很好.
OpenMP目前的一些实际应用还基本是在共享地址的前提下的. 其处理和考虑的一些侧重点与MPI还是有些区别的,当然随着发展也不排除两者互相结合甚至取代(或者变得一致).
合适就用,当前情况下相互配合挺好。至于谁取代谁,谁搞死谁...没意思
市场说了算,很无情!..............