1. Compilation
   DC benchmark uses the same directory tree as NPB3.0 (and NPB2.3) 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. 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.
   
3. 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.

4. Tested architectures:
   SUN Ultrasparc 60
   SUNFire 880
   Origin 2000, 3000, 3800
   MAC G4 
   Xeon + Mandrake Linux

5. 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.

6. 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.
