Merge branch 'dev' into suffixtagdocs
This commit is contained in:
commit
781cdcee9d
|
@ -158,7 +158,8 @@ class FireSimServerNode(FireSimNode):
|
|||
|
||||
def __init__(self, server_hardware_config=None, server_link_latency=None,
|
||||
server_bw_max=None, server_profile_interval=None,
|
||||
trace_enable=None, trace_select=None, trace_start=None, trace_end=None, trace_output_format=None, autocounter_readrate=None):
|
||||
trace_enable=None, trace_select=None, trace_start=None, trace_end=None, trace_output_format=None, autocounter_readrate=None,
|
||||
zerooutdram=None):
|
||||
super(FireSimServerNode, self).__init__()
|
||||
self.server_hardware_config = server_hardware_config
|
||||
self.server_link_latency = server_link_latency
|
||||
|
@ -170,6 +171,7 @@ class FireSimServerNode(FireSimNode):
|
|||
self.trace_end = trace_end
|
||||
self.trace_output_format = trace_output_format
|
||||
self.autocounter_readrate = autocounter_readrate
|
||||
self.zerooutdram = zerooutdram
|
||||
self.job = None
|
||||
self.server_id_internal = FireSimServerNode.SERVERS_CREATED
|
||||
FireSimServerNode.SERVERS_CREATED += 1
|
||||
|
@ -243,7 +245,7 @@ class FireSimServerNode(FireSimNode):
|
|||
slotno, all_macs, all_rootfses, all_linklatencies, all_maxbws,
|
||||
self.server_profile_interval, all_bootbins, self.trace_enable,
|
||||
self.trace_select, self.trace_start, self.trace_end, self.trace_output_format,
|
||||
self.autocounter_readrate, all_shmemportnames)
|
||||
self.autocounter_readrate, all_shmemportnames, self.zerooutdram)
|
||||
|
||||
run(runcommand)
|
||||
|
||||
|
@ -470,7 +472,8 @@ class FireSimSuperNodeServerNode(FireSimServerNode):
|
|||
runcommand = self.server_hardware_config.get_boot_simulation_command(
|
||||
slotno, all_macs, all_rootfses, all_linklatencies, all_maxbws,
|
||||
self.server_profile_interval, all_bootbins, self.trace_enable,
|
||||
self.trace_select, self.trace_start, self.trace_end, self.trace_output_format, self.autocounter_readrate, all_shmemportnames)
|
||||
self.trace_select, self.trace_start, self.trace_end, self.trace_output_format,
|
||||
self.autocounter_readrate, all_shmemportnames, self.zerooutdram)
|
||||
|
||||
run(runcommand)
|
||||
|
||||
|
|
|
@ -36,7 +36,8 @@ class FireSimTopologyWithPasses:
|
|||
defaultnetbandwidth, defaultprofileinterval,
|
||||
defaulttraceenable, defaulttraceselect, defaulttracestart, defaulttraceend,
|
||||
defaulttraceoutputformat,
|
||||
defaultautocounterreadrate, terminateoncompletion):
|
||||
defaultautocounterreadrate, terminateoncompletion,
|
||||
defaultzerooutdram):
|
||||
self.passes_used = []
|
||||
self.user_topology_name = user_topology_name
|
||||
self.no_net_num_nodes = no_net_num_nodes
|
||||
|
@ -55,6 +56,7 @@ class FireSimTopologyWithPasses:
|
|||
self.defaulttraceend = defaulttraceend
|
||||
self.defaulttraceoutputformat = defaulttraceoutputformat
|
||||
self.defaultautocounterreadrate = defaultautocounterreadrate
|
||||
self.defaultzerooutdram = defaultzerooutdram
|
||||
self.terminateoncompletion = terminateoncompletion
|
||||
|
||||
self.phase_one_passes()
|
||||
|
@ -317,6 +319,8 @@ class FireSimTopologyWithPasses:
|
|||
node.trace_output_format = self.defaulttraceoutputformat
|
||||
if node.autocounter_readrate is None:
|
||||
node.autocounter_readrate = self.defaultautocounterreadrate
|
||||
if node.zerooutdram is None:
|
||||
node.zerooutdram = self.defaultzerooutdram
|
||||
|
||||
|
||||
def pass_allocate_nbd_devices(self):
|
||||
|
|
|
@ -93,7 +93,8 @@ class RuntimeHWConfig:
|
|||
all_bootbinaries, trace_enable,
|
||||
trace_select, trace_start, trace_end,
|
||||
trace_output_format,
|
||||
autocounter_readrate, all_shmemportnames):
|
||||
autocounter_readrate, all_shmemportnames,
|
||||
enable_zerooutdram):
|
||||
""" return the command used to boot the simulation. this has to have
|
||||
some external params passed to it, because not everything is contained
|
||||
in a runtimehwconfig. TODO: maybe runtimehwconfig should be renamed to
|
||||
|
@ -131,7 +132,7 @@ class RuntimeHWConfig:
|
|||
command_blkdev_logs = array_to_lognames(all_rootfses, "blkdev-log")
|
||||
|
||||
command_bootbinaries = array_to_plusargs(all_bootbinaries, "+prog")
|
||||
zero_out_dram = "+zero-out-dram"
|
||||
zero_out_dram = "+zero-out-dram" if (enable_zerooutdram) else ""
|
||||
|
||||
# TODO supernode support
|
||||
dwarf_file_name = "+dwarf-file-name0=" + all_bootbinaries[0] + "-dwarf"
|
||||
|
@ -266,6 +267,7 @@ class InnerRuntimeConfiguration:
|
|||
self.trace_end = "-1"
|
||||
self.trace_output_format = "0"
|
||||
self.autocounter_readrate = 0
|
||||
self.zerooutdram = False
|
||||
if 'tracing' in runtime_dict:
|
||||
self.trace_enable = runtime_dict['tracing'].get('enable') == "yes"
|
||||
self.trace_select = runtime_dict['tracing'].get('selector', "0")
|
||||
|
@ -275,6 +277,8 @@ class InnerRuntimeConfiguration:
|
|||
if 'autocounter' in runtime_dict:
|
||||
self.autocounter_readrate = int(runtime_dict['autocounter'].get('readrate', "0"))
|
||||
self.defaulthwconfig = runtime_dict['targetconfig']['defaulthwconfig']
|
||||
if 'hostdebug' in runtime_dict:
|
||||
self.zerooutdram = runtime_dict['hostdebug'].get('zerooutdram') == "yes"
|
||||
|
||||
self.workload_name = runtime_dict['workload']['workloadname']
|
||||
# an extra tag to differentiate workloads with the same name in results names
|
||||
|
@ -329,7 +333,8 @@ class RuntimeConfig:
|
|||
self.innerconf.profileinterval, self.innerconf.trace_enable,
|
||||
self.innerconf.trace_select, self.innerconf.trace_start, self.innerconf.trace_end,
|
||||
self.innerconf.trace_output_format,
|
||||
self.innerconf.autocounter_readrate, self.innerconf.terminateoncompletion)
|
||||
self.innerconf.autocounter_readrate, self.innerconf.terminateoncompletion,
|
||||
self.innerconf.zerooutdram)
|
||||
|
||||
def launch_run_farm(self):
|
||||
""" directly called by top-level launchrunfarm command. """
|
||||
|
|
|
@ -49,3 +49,10 @@ readrate=0
|
|||
workloadname=linux-uniform.json
|
||||
terminateoncompletion=no
|
||||
suffixtag=
|
||||
|
||||
[hostdebug]
|
||||
# When enabled (=yes), Zeros-out FPGA-attached DRAM before simulations
|
||||
# begin (takes 2-5 minutes).
|
||||
# In general, this is not required to produce deterministic simulations on
|
||||
# target machines running linux. Enable if you observe simulation non-determinism.
|
||||
zerooutdram=no
|
||||
|
|
|
@ -224,7 +224,6 @@ Set this to ``no`` if you want your Run Farm to keep running once the workload
|
|||
has completed. Set this to ``yes`` if you want your Run Farm to be TERMINATED
|
||||
after the workload has completed and results have been copied off.
|
||||
|
||||
|
||||
``suffixtag``
|
||||
""""""""""""""""""""""""""
|
||||
|
||||
|
@ -235,6 +234,16 @@ without renaming the entire workload. For example, specifying
|
|||
in a workload results directory named
|
||||
``results-workload/DATE--TIME-super-application-test-v1/``.
|
||||
|
||||
``[hostdebug]``
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``zerooutdram``
|
||||
"""""""""""""""""""""""""""""
|
||||
|
||||
Set this to ``yes`` to zero-out FPGA-attached DRAM before simulation begins.
|
||||
This process takes 2-5 minutes. In general, this is not required to produce
|
||||
deterministic simulations on target machines running linux, but should be
|
||||
enabled if you observe simulation non-determinism.
|
||||
|
||||
.. _config-build:
|
||||
|
||||
|
|
Loading…
Reference in New Issue