zoukankan      html  css  js  c++  java
  • 支持MPI的hdf5库的编译

    作者:朱金灿

    来源:http://blog.csdn.net/clever101

     

      因为最近要研究并行I/O,据说hdf5文件格式可以支持并行I/O,深度学习框架Caffe用的是hdf格式,所以决定把hdf5库的源码编译一下。

     

       首先得安装MPI的开发环境mpich2-1.2.1p1-win-ia32.msi(配套VS2008),然后到hdf5-1.10.0-patch1下载hdf5的最新源码,然后使用CMake生成VS工程文件,需要注意的是CMake设置的编译选项默认是不支持并行的,因此需要把HDF5_ENABLE_PARALLEL这个选项选上,同时HDF5_ENABLE_PARALLEL这个编译选项和HDF5_BUILD_CPP_LIB是互相冲突的,因此不能编译为C++库,只能编译为C库,也就是说hdf5的C++库不支持并行I/O,hdf5的C库才支持并行I/O,具体如下图:


           这样可以生成一个叫HDF5.sln的解决方案文件,里面的工程很多,一般只需要编译hdf5-sharedhdf5-static两个工程即可,具体如下图:


            编译好了hdf5库后,接下来测试使用只需要包含hdf5.h和链接对应的库文件件即可。需要注意的是使用hdf5的动态库需要增加一个预处理器:H5_BUILT_AS_DYNAMIC_LIB,在hdf5的官网上就有这样一句提示:

    To use the shared libraries on Windows with Visual Studio you must specify the H5_BUILT_AS_DYNAMIC_LIB compile definition.

           hdf5-1.10.0-patch1的源码及对应的VS2008解决方案已上传至CSDN支持MPIhdf5最新源码工程

  • 相关阅读:
    CSS基础
    数据库优化之SQL Server
    压力测试与系统调优
    JBoss架构分析
    JBoss基本配置
    深入了解硬盘结构
    EJB2与EJB3架构对比
    JBoss高级配置
    病毒分类及病毒命名规则详解
    深入讲解防火墙的概念原理与实现
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469721.html
Copyright © 2011-2022 走看看