about MPI benchmark 4.0 tests

about MPI benchmark 4.0 tests

dingjun.chencmgl.ca的头像

Hi, Dear Sir or Madam,

I am testing your MPI benchmark 4.0 on my computer. but the following error occurred when building IMB-IO.EXE,

1 IntelliSense: expected an identifier d:\dingjun\openmp_mpi_hybrid\imb-4.0-beta\imb\4.0.0\src\imb_benchmark.h 127 2 IMB-IO
 2 IntelliSense: expected an identifier d:\dingjun\openmp_mpi_hybrid\imb-4.0-beta\imb\4.0.0\src\imb_benchmark.h 128 2 IMB-IO

the corresponding source codes are follows:

#ifdef MPIIO

    {

       MPI_Offset Offset;

       switch(fpos)

       {

           case indv_block:

              Offset = (MPI_Offset)(j_sample*totlen);

              break;

 

           case explicit:

              Offset = c_info->split.Offset+(MPI_Offset)(j_sample*totlen);

              break;

 

           case private:

              Offset = (MPI_Offset)(j_sample*loclen);

              break;

 

           case shared:

              Offset = (MPI_Offset)(-1);

              break;

       }

 

 

 

#ifdef MPIIO

 

typedef enum

{

    nothing=-1,

       private,

       explicit,

    indv_block,

    indv_cyclic,

    shared

} POSITIONING

 

the C++ keywords "private" and " explicit" used as variables so that the MS visual studio failed to build the executable file. Please tell me how to handle this situation. Thanks and I look forward to hearing from you.

 

 

 

7 帖子 / 0 new
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项
dingjun.chencmgl.ca的头像

Please tell me how to eliminate such an error. Thanks.

James Tullos (Intel)的头像

It sounds like Visual Studio* isn't properly compiling this as C code.  The names private and explicit are not keywords in C, but they are in C++.

Are you using one of the Visual Studio* projects/solutions included with the Intel® MPI Benchmarks, or did you make your own?  If you are using one of the included projects/solutions, which one?  Which version of Visual Studio* are you using?

I have Visual Studio 2012* here, and the three IMB-IO solutions all compiled correctly for me (with the non-2012 solutions automatically converted).  There is an option in Visual Studio* to specify whether to compile a code as C, C++, or automatically detect which one.  In my version, this is under Project Properties->Configuration Properties->C/C++->Advanced->Compile As.  Make certain this is set to Default or Compile as C Code.

If you're still having problems after this, please let me know and I'll investigate further.

Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools

dingjun.chencmgl.ca的头像

the IMB-IO problem from IMB 4.0 beta

MS visual Studio 2010.

Information on my computer is as follows:

D:\Dingjun\OpenMP_MPI_hybrid\imb-4.0-beta\imb\4.0.0\WINDOWS\IMB-IO_VS_2010

 

 

 

dingjun.chencmgl.ca的头像

 under Project Properties->Configuration Properties->C/C++->Advanced->Compile As

I have chosen such an option:  Compile as C Code (/TC)

but the same errors still occurred. Please see the following:

 3 IntelliSense: expected an expression d:\dingjun\openmp_mpi_hybrid\imb-4.0-beta\imb\4.0.0\src\imb_chk_diff.c 281 11 IMB-IO
 4 IntelliSense: expected an expression d:\dingjun\openmp_mpi_hybrid\imb-4.0-beta\imb\4.0.0\src\imb_chk_diff.c 285 11 IMB-IO
 5 IntelliSense: expected an identifier d:\dingjun\openmp_mpi_hybrid\imb-4.0-beta\imb\4.0.0\src\imb_benchmark.h 127 2 IMB-IO
 6 IntelliSense: expected an identifier d:\dingjun\openmp_mpi_hybrid\imb-4.0-beta\imb\4.0.0\src\imb_benchmark.h 128 2 IMB-IO
 

James Tullos (Intel)的头像

Thank you for the information.  I tested it in Visual Studio 2010*, and I am seeing the same problem.  Let me get this to our developers.

Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools

dingjun.chencmgl.ca的头像

 

Please tell my how to correct above errors in compilation. I look forward to hearing from you.  Thanks.

登陆并发表评论。