麻省理工时域差分软件 MEEP windows 下编译开发(一)——准备工作
第一次写博客,写得不好请大家不要见怪。
MEEP是一款开源软件,支持MPI并行计算。之前使用过一段时间,感觉计算的结果还是有一定的参考价值。唯一不太满意的地方是这款软件占用内存太多,特别是进行Plasma仿真时,60um*12um*80(resolution)二维结构占用内存空间超过2GB。三维仿真时需要降低resolution,否则单台计算机无法提供足够多的内存。
在编译开发之前先要考虑两个问题:
1)是否需要并行计算
2)32位还是64位
第一个问题,如果不是特别复杂的结构,例如二维波导,不需要并行计算。使用并行计算后速度反而更慢。不过并行计算有一个好处,就是可以把内存消耗平均分配到多台计算机,从而可以在程序里增加resolution,使结果更加精确。第二个问题就看个人喜好。不过我在64位下没有成功编译Harminv,估计是使用的某个库只有32位的。
好,现在开始准备编译MEEP。接下来只介绍在64位下编译并行MEEP,非并行以及32位MEEP请依葫芦画瓢自行编译。
首先,开发环境windows 7+visual studio 2012。
然后,到这个地址http://ab-initio.mit.edu/wiki/index.php/Meep_download去下载MEEP以及这个地址http://ab-initio.mit.edu/wiki/index.php/Harminv去下载Harminv。
接着,下载这几个库:
1)MPICH2,http://www.mpich.org/downloads/。选择最底下Unofficial Binary Packages里的windows x86_64。选择这个的原因是这个库安装之后就可以用,不用自己编译。
2)BLAS和LAPACK,http://icl.cs.utk.edu/lapack-for-windows/clapack/index.html。去最底下下载clapack-3.2.1-CMAKE.tgz后解压,然后用cmake转为visual studio版本,然后编译。
3)HDF5,http://www.hdfgroup.org/HDF5/release/obtain5.html,选择底下hdf5-1.8.13-win64-VS2012-shared.zip。如果不需要HDF5可以不用安装这个库。
4)FFTW3,http://www.fftw.org/install/windows.html,选64位的那个。
最后,建立一个名为config.h的文件,以后要用内容为:
#pragma once/* Define if you have a BLAS library. */
#define HAVE_BLAS 1/* Define if you have libharminv */
//#define HAVE_HARMINV 1/* Define if we have & link HDF5 */
#define HAVE_HDF5 1/* Define to 1 if you have the <hdf5.h> header file. */
#define HAVE_HDF5_H 1/* Define if you have LAPACK library. */
#define HAVE_LAPACK 1/* Define to 1 if you have the `fftw3' library (-lfftw3). */
#define HAVE_LIBFFTW3 1/* Define if you have the MPI library. */
#define HAVE_MPI 1/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
好,第一部分到此结束。有时间的时候就会放上第二部分。这里放一张windows下并行64位添加了许多内容的MEEP程序:
麻省理工时域差分软件 MEEP windows 下编译开发(一)——准备工作相关推荐
- 麻省理工时域差分软件 MEEP windows 下编译开发(二)——开始编译
1)用vs2012自带的lib.exe将fftw3里的.def文件导出为.lib文件. 2)新建一个控制台程序,并添加MEEP源文件,就是MEEP压缩包里src文件夹里的所有文件,如下图: 在每个.c ...
- 查看和修改vmdk的软件DiskGenius Windows下读写Linux之EXT3文件系统Ext2Fsd
DiskGenius 虚拟机的最佳伴侣,很很的分区软件. Windows下读写Linux之EXT3文件系统,Ext2Fsd软件 很多从Windows平台转到Linux下的朋友都不会只在机器上装一个Li ...
- Windows下编译tensorflow-gpu教程
这两个也要看: https://zhuanlan.zhihu.com/p/29029860 https://zhuanlan.zhihu.com/p/34942873 Windows下编译tensor ...
- windows下spark开发环境配置
--本篇随笔由同事葛同学提供. windows下spark开发环境配置 特注:windows下开发spark不需要在本地安装hadoop,但是需要winutils.exe.hadoop.dll等文件, ...
- QT + OpenCV + MinGW 在windows下配置开发环境
由于研究项目需要,最近开始接触C++界面设计,关于"QT + OpenCV + MinGW在windows下配置开发环境"着实让人头疼,单次配置时间相当长,也十分不容 ...
- Windows下Android开发环境搭建和配置
关于Windows下Android开发环境搭建.配置方面文章,网上一搜一堆,为方便以后参考,权且做个记录,主要关注安装过程中的注意事项.对新手提醒的是,本文介绍SDK开发Android APK环境搭建 ...
- Windows 下 PHP 开发环境配置系列二(使用 MODx CMS)
Windows 下 PHP 开发环境配置系列一(PHP+Apache+MySql; Zend Debugger+PDT) 软件的下载地址在系列一中有列出 1. 需安装软件 PHP: php-5.2 ...
- 【1】windows下IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- STC系列51单片机在Windows下的开发
简介 STC的8位MCU有89/90/10/11/12/15/8(A/F/G/H)这几个大系列, 都是8051衍生的8位单片机, 每个系列的特点如下 STC89系列 传统的8051单片机, 功能上和A ...
最新文章
- 操作系统学习:内存分页与中断
- 05CSS的引入方式
- Ruby系统中的AJAX开发技术简析
- SQL查询表对应的外键约束
- Object.defineProperty的理解
- 在Sublime Text 3中配置编译和运行Java程序
- 如何找到数字数组的总和
- 多线程模式之MasterWorker模式
- Linux服务器日常巡检脚本分享
- IIS7 + Tomcat7 整合共用80端口
- Windows2000下Api函数的拦截分析
- luogu3244 bzoj4011 HNOI2015 落忆枫音
- C语言求阶乘(附完整源码)
- String.format()方法的使用
- Linux读取内核空间,linux,arm_arm如何在内核空间直接读写某个物理地址(或者进程的虚拟地址),linux,arm,c,linux-kernel,memory - phpStudy...
- Qt 之 直播流播放Qt-Vlc
- 主流微波雷达感应语音播报雷达感应照明灯LD602模块
- 三维扫描仪[8]——如何设计一台云台式扫描仪(机械结构)
- 湖北师范大学计信计科2018届期末实训EduCoder习题 (参考答案)
- 失眠神器哪个最好?每天晚上睡不着的你一定要试试的东西