IMSuite subset X10-FA consists of kernels implemented using x10-2.3.0, while X10-FA-2.5.0 consists of kernels implemented using x10-2.5.0.
What are different execution models for IMSuite kernels?
IMSuite kernels can run on Unique Place (UP), Single Place (SP) or Multi-Place (MP) model.
- In UP model at each place tasks corresponding to a specific node are run.
- In SP model all the tasks run at a single place.
- In MP model tasks corresponding to more than one node may execute.
Further explanation of these models is present in the documentation.
X10 supports all the three models (UP, SP and MP) while
HJ supports only SP model.
What are the different command-line options available while executing
IMSuite kernels?
The different command-line options are:
- -in - For specifying the input file for the kernel.
- -out - For specifying the output file for the kernel.
- -ver - For validating the resulting output of the kernel.
How to pass an input to a benchmark?
To each benchmark kernel the input is passed as a file at the time of execution.
For this a command line option -in is utilized.
How to get the output from a benchmark?
Each benchmark writes its output to a file specified by the user at
the time of execution.
To specify name of the file in which output has to be written,
command line option -out is used.
If this option is not provided then output is written to a default file.
How to validate the output generated from a benchmark?
To validate the output a validation option can be passed at
command line during execution of the benchmark kernel.
-ver or -verify, either of the two can be passed for validation.
If these options are not passed then validation procedure will not execute.
How to generate an input?
To generate the input for a benchmark kernel, corresponding input generator
can be used.
All the input generators are coded in java.
The following example depicts the compilation and execution of an input generator.
Kernel: inputGeneratorBFSBellman.java
Input File: inputbfsBellmanFord_128_-spmax.txt
Input Size: 128 nodes
Compilation: javac inputGeneratorBFSBellman.java
Execution:
java inputGeneratorBFSBellman -in inputbfsBellmanFord_128_-spmax.txt -sz 128 -spmax
Other options can also be passed at runtime.
How to compile and execute an X10-FA and X10-FAC kernels?
X10-FA and X10-FAC kernels are implemented in X10.
So these require pre-installation of X10 for execution.
The following example depicts the compilation and execution of an X10-FA and X10-FAC kernel.
Kernel: bfsBellmanFord.x10
Input File: inputbfsBellmanFord_128_-spar_max.txt
Output File: output.txt
Input Size: 128 nodes
Compilation: x10c bfsBellmanFord.x10
UP Model:
Set X10_NUMPLACES=128
Execution:
x10 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
SP Model:
Set X10_NUMPLACES=128
Execution:
x10 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
MP Model:
Set X10_NUMPLACES=16
Execution:
x10 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
How to compile and execute an HJ-FA and HJ-FAP kernels?
HJ-FA and HJ-FAP kernels are implemented in
HJ.
These require pre-installation of
HJ for execution.
The following example depicts the compilation and execution of an HJ-FA and HJ-FAP kernel.
Kernel: bfsBellmanFord.hj
Input File: inputbfsBellmanFord_128_-spar_max.txt
Output File: output.txt
Input Size: 128 nodes
Compilation: hjc bfsBellmanFord.hj
Execution:
hj -places 1:128 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
I have modified IMSuite kernels, how should I upload them.
In case you have modifed IMSuite kernels and you wish to share them with the rest of
the community then please feel free to contact any of the authors.
We would be happy to upload the modifications.