blob: 0c895fc83471e58e89a050cbc576a45a959f0f9b [file] [log] [blame]
1. Compilation
DC benchmark uses the same directory tree as NPB3.0 (and NPB2.x) does.
Before compilation, one needs to check the configuration file
'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
DC related files.
An example of the DC parameter file is as follows:
attrNum=9
measuresNum=1
tuplesNum=125000
class=U
INVERSE_ENDIAN=0
fileName=ADC
After parameter are set run benchmark
bin/dc.S 100000000 DC/ADC.par
where 100000000 is the memory size allowed to be allocated for
the in-core data.
4. DC processing modes
The DC benchmark can be run in two modes (in-core and out-of-core).
A desirable mode should be set before compilation in the file adc.h.
If a flag IN_CORE is on, the benchmark will calculate all views in main
memory. In this case we can use an additional flag VIEW_FILE_OUTPUT to
allow writing all views into disk files.
If the flag IN_CORE is off, the DC benchmark will run in a regular mode
using disks to store interim and result data which may not fit in main
memory.
_FILE_OFFSET_BITS=64 _LARGEFILE64_SOURCE -are standard compiler flags
which allow DC to work with files larger than 2GB.
OPTIMIZATION turns on some nonstandard DC optimizations such as obtaining
a view by scanning existing views. These optimizations do not always
guarantee reduction in the computing time.
5. Tested architectures:
SUN Ultrasparc 60
SUNFire 880
Origin 2000, 3000, 3800
MAC G4
Xeon + Mandrake Linux
SGI Altix
6. setparams utility is used for generation of the npbparams.h file only
for compatibility with the existing make facility of NPB. By the same
reason CLASS is appended to the DC executable name. It does not limit
the sizes the executable can perform. The class is an input value
specified in ADC.par file. Providing ADC.par overrides compiled
defaults in npbparams.h file.
7. Known issues
If the benchmark runs out of disk space, a message like
"Write error from WriteToFile()" may not be printed. Instead,
the benchmark returns with UNSUCCESSFUL verification. In this case
users are advised to check whether the file system is full before
reporting a problem with the benchmark.