您的位置:首页 > 其它

NAS Parallel Benchmarks tips

2015-06-11 18:55 555 查看


NAS Parallel Benchmarks tips

NAS Parallel Benchmarks are some of the most common used set of benchmarks for HPC systems. Description and download can be found here.
One of the problems I came across when trying to compile some of the Fortran codes with gfortran was the following:
randi8.f: In function `randlc':
randi8.f:23:
data i246m1/X'00003FFFFFFFFFFF'/
Integer at (^) too large

This is due to the size of the random number that is tried to generated and the compiler doesn’t really like. To get it working you can alter the configuration file of the benchmarks and set
RAND   = randi8_safe

from
RAND   = randi8

randi8:
randi8:
1. Uses integer*8 arithmetic. Compiler must support integer*8
2. Uses the Fortran 90 IAND intrinsic. Compiler must support

randi8_safe:
randi8_safe
1. Uses integer*8 arithmetic
2. Uses the Fortran 90 IBITS intrinsic.
3. Does not make any assumptions about overflow. Should always
work correctly if compiler supports integer*8 and IBITS.

To compile effectively the MPI code, you’ll need to alter the configuration file and set the right compilers: ‘mpicc’ for C and ‘f77′ for Fortran. Along with that, you might need to define the mpi, mpl and pthread libraries in the
*MPI_LIB entries. For instance
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: