Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 18
codes cortex python translation
Matthieu Dorier edited this page Dec 16, 2016
·
2 revisions
If you want to couple the use of DUMPI traces but write your own translation functions in Python, start by making sure Section III works.
Instead of providing a generator function in your Python script, provide translation functions. For example, a possible translation for MPI_Bcast would be:
importcortexdefMPI_Bcast(self, thread, **args):
dtype=args['datatype']
root=args['root']
comm=args['comm']
count=args['count']
print"MPI_Bcast called in Python, root = ", rootifnotcortex.is_mpi_comm_world(comm):
print"Communicator is not MPI_COMM_WORLD, not translating"returnifthread!=root :
s=cortex.MPI_Status()
cortex.MPI_Recv(thread,count=count,datatype=dtype,source=root,tag=1234,comm=comm,status=s)
else :
size=cortex.world_size()
foriinrange(size):
ifi!=thread:
cortex.MPI_Send(thread,count=count,datatype=dtype,dest=i,tag=1234,comm=comm)Let's call this script MyTranslator.py.
Set up the DUMPI traces folder as explained in the previous pages of this tutorial. Then the following bash script should help you run your experiments:
#!/bin/sh
TRACE_DIR="traces/neurones"
TRACE_PFX="dumpi-2016.09.14.15.05.22-"
OUTPUT_DIR="results"
PYTHON_MOD=MyTranslator
CODES="$HOME/CODES/install/codes/bin/model-net-mpi-replay"
NUM_TRACES=`ls -l $TRACE_DIR/$TRACE_PFX*| wc -l`
PARAMS="--sync=1 \ --num_net_traces=$NUM_TRACES\ --workload_file=$TRACE_DIR/$TRACE_PFX\ --lp-io-dir=$OUTPUT_DIR\ --lp-io-use-suffix=1 \ --workload_type=dumpi \ --alloc_file=alloc.conf \ --cortex-file=$PYTHON_MOD"
CONFIG="config.conf"$CODES$PARAMS -- $CONFIG