fupermod: Functional Performance Models of heterogeneous processors
Quick Start Guide
Step 0. cd into an empty working directory.
Step 1. Build Models
Run the Model builder
$ mpirun -np 8 -hostfile hostfile builder -l <install dir>/libs/libmxm_1d.so -U2000 -s100
Files made:
- ./conf_file
- ./<hostname>.<node rank>.<device type>.fpm
The default generated file ./conf_file is suitable if you only want to use cpu's. If you want to use some some other device (eg. gpu), edit ./conf_file appropriately (and of course modify your routine to make use of this string). An example of the format listed in Configuration of MPI process
Note: Do not mix up hostfile (a list of hostnames used by mpirun) and ./conf_file (a list of hostnames, internal ranks, device type and other parameters for each MPI process, used by fupermod)
Step 2. Partition Run partitioner on head node (or locally) Partitioner
$ partitioner -l <install dir>/libs/libmxm_1d.so -a3 -D256
Files made:
- ./partition.dist
Step 3. Convert 1D dist to 2D dist convert_1dto2d_dist .
$ 1dto2d_dist -k64 -N1024
Files made:
- ./partition.2ddist
Step 4. Execute routine.
$ mpirun -n 3 -hostfile machines <install dir>/mxm_2d