OpenMP-Environment
view release on metacpan or search on metacpan
benchmarks/NPB3.4.1/NPB3.4-OMP/DC/README view on Meta::CPAN
'make.def' in the config directory and modify the file if necessary
(an example of make.def provided in DC directory).
Then
make dc CLASS=S
If a compiler complains about type 'int64' already defined, add
"-DHAS_INT64" to the CFLAGS list in make.def.
2. OpenMP environment needs to be set before program can be executed.
First set the number of the threads:
setenv OMP_NUM_THREADS 4
Then to fix OpenMP implemantations on some machines:
limit stacksize unlimit
If running on Altix
setenv KMP_MONITOR_STACKSIZE 50m
3. Run
A text file ADC.par is used to set DC parameters when the class
is undefined (U).
The file has 5 lines. The lines with 'key' words attrNum, measuresNum,
and tuplesNum define the number of dimensions, measures,
and input tuples respectively. There a special parameter INVERSE_ENDIAN
allows us to create data in non-native endian format (INVERSE_ENDIAN=1).
The last parameter(fileName) specifies a DC file set name, including
(optionally) a full path to a directory which will contain all
benchmarks/NPB3.4.1/NPB3.4-OMP/README.install view on Meta::CPAN
1. Similar to randdp but written to be easier to vectorize.
2. Execution
The executable is named <benchmark-name>.<class>.x and is placed
in the bin subdirectory (or in the directory BINDIR specified in
make.def, if you've defined it). Folllowing is an example of running
a benchmark in csh:
setenv OMP_NUM_THREADS 4
bin/bt.A.x > BT.A_out.4
It runs BT Class A problem on 4 threads and the output is stored
in BT.A_out.4.
Each benchmark includes a set of additional timers for profiling purpose
(reporting timing for selected code blocks). By default, these timers
are disabled. To enable the timers, set the environment variable
NPB_TIMER_FLAG to one of:
benchmarks/NPB3.4.1/NPB3.4-OMP/README.install view on Meta::CPAN
OpenMP 3.0. Thus, the 3.4 version requires a compiler that supports
OpenMP 3.0.
NPB-OMP assumes 'deterministic' static scheduling at run-time to
ensure the correctness of the results. Verification in some
benchmarks might fail if this condition is not met.
For larger problem sizes, the default stack size for slave threads
may need to be increased on certain platforms. For OpenMP 3.0-compliant
compilers, use the runtime environment variable:
setenv OMP_STACKSIZE 50m (for 50MB)
In order to build the class E version of CG, the integer type
needs to be promoted to 64-bit, which is usually done through
compilation flag (such as "-i8" for FFLAGS in config/make.def).
4. Notes on the implementation
- Based on NPB3.0-SER, except that FT was kept closer to
the original version in NPB2.3-serial.
benchmarks/NPB3.4.1/NPB3.4-OMP/test_scripts/runit view on Meta::CPAN
module list >>& $logfile
echo "" >> $logfile
set cnt=0
set cntf=0
set cntp=0
set aps=(bt sp lu lu ua ua)
set spv=(blk blk hp doac au rd)
set c="A"
setenv NPB_TIMER_FLAG 1
foreach nt (4)
foreach cf (gcc itc_p pgi)
set bindir=bin_$cf
set outdir=out_$cf
if ( ! -d $outdir) mkdir -p $outdir
foreach ap (bt cg ep ft is lu mg sp ua)
set pgm=${ap}.${c}.x
( run in 0.904 second using v1.01-cache-2.11-cpan-6aa56a78535 )