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