gem5/splash2/codes/apps/volrend/user_options.H
Sanchayan Maity 2fcc51c2c1 Commit splash2 benchmark
While at it also add the libpthread static library amd m5op_x86
for matrix multiplication test code as well.

Note that the splash2 benchmark code does not comply with gem5
coding guidelines. Academic guys never seem to follow 80 columns
and no whitespace guideline :(.
2017-04-26 20:50:15 +05:30

74 lines
3.6 KiB
C

/*************************************************************************/
/* */
/* Copyright (c) 1994 Stanford University */
/* */
/* All rights reserved. */
/* */
/* Permission is given to use, copy, and modify this software for any */
/* non-commercial purpose as long as this copyright notice is not */
/* removed. All other uses, including redistribution in whole or in */
/* part, are forbidden without prior written permission. */
/* */
/* This software is provided with absolutely no warranty and no */
/* support. */
/* */
/*************************************************************************/
/******************************************************************************
* *
* user_options.h: Compile-time user options *
* *
******************************************************************************/
/* For varying image tile size*/
#ifndef BLOCK_LEN
#define BLOCK_LEN 4 /* image block size */
#endif
/* For doing different parts of the computation differently;
If RENDER_ONLY is defined, then the program assumes that the .norm, .opc
and .pyr files already exist and just does rendering, getting its input
from these files. If RENDER_ONLY is not defined, then the program will
not use these files but start from the .den file itself. In this case,
there are two options: if PREPROCESS is defined, then the program will
not render, but will create the .norm, .opc and .pyr files from the .den
file for a future run of the program to render. If PREPROCESS is not
defined either, then the program will not produce these intermediate
files: It will start from the .den file, create the normal and opacity
tables etc as internal data structures, and render them directly.
The SERIAL_PREPROC option tells whether the preprocessing phases (computing
the normal table or .norm file, etc.), should be done serially or in
parallel, when they are done.
Clearly, if none of the three options are defined, the default is to
do parallel preprocessing and rendering without storing intermediate array
values.
*/
#if 0
#define RENDER_ONLY /* to just do rendering from */
#endif /* .norm, .opc and .pyr files*/
#if 0
#define PREPROCESS /* to just do preprocessing */
#endif /* and store result to files */
#if 1
#define SERIAL_PREPROC /* to do serial preprocessing*/
#endif /* with parallel rendering */
#if 0
#define DIM /* render rotations along */
#endif /* all three Cartesian axes. */
/* This means that there will be 3*ROTATE_STEPS frames rendered */
/* Algorithmic optimization options (adaptivity, use of octree) */
#ifndef HBOXLEN
#define HBOXLEN 4 /* highest_boxlen */
#endif