⑴ 在进行并行编程时需要搭建一个怎样的系统环境

windows下Linux环境搭建 相信绝大部分CFD方向的研究者都需要通过自己编程来解决问题。所编写的程序有大有小,小的只是一个脚本,用于数据的后处理;而大的则需要调用若干CPU进行并行计算。然而据我所知,国内大多数CFD研究者的电脑都搭载了Windows,有部分为Linux与Windows双系统并存。若是双系统并存,则经常需要重启系统,弄的自己无比麻烦;若只为了研究保留一个Linux系统,则写论文看文献或进行其他娱乐时就又有这样那样的问题(Linux的国内环境相当不成熟)。为方便日常生活,我们需要Windows;为了编程,我们需要Linux。为了解决频繁重启的问题,我自身摸索出了一些解决办法,供大家参考。 解决办法一:windows下安装Cygwin Cygwin无疑是windows下非常优秀的一个类Linux系统,它的存在与windows并不冲突,所有的执行程序以及脚本都以链接库的形式封装。启动速度快,占用资源少,可以说是windows下的一个非常轻量级的Linux客户端。安装也非常简单,在Cygwin官网下下载安装客户端,通过手动添加源(或者使用163的源,强烈推荐,校园网速度还不错),基本可以满足一般需求,常用的编辑器(gcc,gfortran等等)、调试器(gdb等)以及辅助工具(cmake,automake等)在源里都有,直接选中安装就可。Cygwin没有什么特别的设置,基本配置方法还是按照普通Linux的方法来,并且可以读取硬盘上的一切文件。这对于Linux不是很熟练的朋友来说绝对是一件好事。然而,Cygwin毕竟是一个模拟环境,链接库的封存方式也让它有了一定的限制,它不能高度自由的编译安装第三方库,比如并行用的mpich2,比如线性求解器hypre,比如chemkin。 总结 优点:轻量级,速度快,能直接访问硬盘上的一切文件 缺点:安装第三方运行库不一定成功 解决办法二:windows+virtualbox安装Linux虚拟机 virtualbox是甲骨文旗下一款相当优秀开源的虚拟机软件,当然跟著名的VM比功能上还是有差别,不过其实已经够强大了。轻量级,占用资源少。通过在windows下安装virtualbox,再在virtualbox下安装linux,就可以实现双系统在线。采用这种办法可以获得完整的Linux环境,可以自由编译安装需要的程序库,两个系统之间也可以自由的实时切换,不过虚拟机这种是需要共享内存的,采用这种办法实现最好是电脑自身内存较大,以便获得良好的体验。如果电脑配置没那么好,那最好就是让Linux虚拟机console启动,然后通过更改本机端口映射的方法实现ssh链接到虚拟机。 总结 优点:完整的Linux体验,不管对于学习linux还是应用linux来说都是相当适合的,可以自由编译安装运行库 缺点:机子配置低内存小不太适合 就目前而言,本人采用的是方法二,在虚拟机中调试运行程序,输出文件到共享文件夹,在windows下可视化查看。当然,其实实现的方法还有其他,这两种方法只是本人较为推荐而已。