#!/bin/bash
#
# simdev.runconf - file containing information necessary to run a specific
#                  program of the PARSEC benchmark suite
#
# Copyright (C) 2007 Princeton University
# Written by Christian Bienia

# This is the information which we need to run the program. Each package of the
# benchmark suite has such a file with information that will be added to the
# global configuration. All variables set in the global configuration files can
# be referenced here.


# Binary file to execute, relative to installation root
run_exec="bin/freqmine"

# Set number of OpenMP threads
export OMP_NUM_THREADS=${NTHREADS}

# Arguments to use
run_args="T10I4D100K_1k.dat 3"

