Here, the usage of the GUI is demonstrated with the example of the kernel numerical.matmul.C.0.MKL.double
Starting the GUI
Start the GUI with benchit/gui/bin/GUI.[bat|sh] (more information)
When the GUI starts for the first time, LOCALDEFS for your system are created. Those are shown in a graphical editor when the GUI has started.
Setting The LOCALDEFS
(The LOCALDEF-Editor is displayed blue) Now you can start editing your LOCALDEFs, the most important file is the file <hostname>, where you set your compiling optinons for the kernels, but also libraries and BENCHIT variables. To select the different LOCALDEF files for one system, use the combobox above the editor itself.
For the kernel we are going to run, the standard variables, variables for BENCHIT_CC (Benchit C Compiler) and variables for the Intel Math Kernel Library have to be set. On my system, these are:
BENCHIT_ARCH_SHORT="InP4" BENCHIT_ARCH_SPEED="2G4" BENCHIT_DEBUGLEVEL=0 BENCHIT_ENVIRONMENT="NOTHING" BENCHIT_INTERACTIVE=0 BENCHIT_NUM_CPUS=1 BENCHIT_RUN_ACCURACY=2 BENCHIT_CC="icc" BENCHIT_CC_C_FLAGS="-w" BENCHIT_CC_C_FLAGS_STD="-O2" BENCHIT_CC_C_FLAGS_HIGH="-O3" BENCHIT_CC_C_FLAGS_OMP="-openmp" BENCHIT_CC_L_FLAGS="-lm" BENCHIT_CPP_MKL="-I/opt/intel/mkl/8.0.1/include" BENCHIT_LIB_MKL="-L/opt/intel/mkl/8.0.1/lib/32"
Notice: the Flag -lmkl is set by the kernel. This is necessary to have similar flags for all possible libraries. Some have different flags for OpenMP- and no-OpenMP-mode (not MKL), but we try to have the entries alike.
Also important are the LOCALDEFs, describing the system. Select "architecture info" in the combobox on the top left of the editor. Here's a short list for the setting of my system.
mainboardchipset="SiS 962" processorname="Intel Pentium 4" processorversion="x86, Family 15, Model 2, Stepping 7" processorclockrate="2400000000" level1icachesize="12 kµOps" level1dcachesize="32768" level2cachesize="524288" processorsidebusclockrate="533000000" memorybusclockrate="266000000" systemcomment="Notebook FSC Amilo D 7820"
Selecting and running a kernel local
Now the LOCALDEFs are set. This wasn't fun, but you won't change them everytime, you make a measurement. And the architecture information is mostly edited once per system. On the kernel-tree to the left, you can select the kernel(s), you want to run. expand the tree and select the kernel numerical.matmul.C.0.MKL.double
The blue shattered part is the editor, which contains all files of a kernel. These are typically the files COMPILE.SH and PARAMETERS (which have to exist!) and some sourcecode files.
In the file COMPILE.SH, all settings for COMPILING a kernel are done. It shouldn't be changed as long as it is not buggy ;).
More important is the file PARAMETERS, which contains all PARAMETERS for the kernel. Select this tab and you will see that there is a minimum a maximum andn increment to set. Set them to:
BENCHIT_KERNEL_PROBLEMSIZE_MIN=1 BENCHIT_KERNEL_PROBLEMSIZE_MAX=1000 BENCHIT_KERNEL_PROBLEMSIZE_INCREMENT=1
The kernel will be run with all problemsizes, beginning with 1 and then by steps of 1 to the maximum problemsize of 1000. Now you can select, what you'd like to do with this kernel. In the toolbar is a selection for this. Here you can select what to do, select "Compile and Run". Start the kernel by pressing the Start-Button, pressing <CTRL>+R or right-click the kernel and select "Execute local". Now, in the console will be written all the output of the compile and run process.
Wait until it ends... This may take a while, though a lot of computation is done.
Now the result-file is written, switch to the results by klicking the "Results"-tab above the Kerneltree.
Select the output-file in the output tree (it is sorted like the kernel tree).
Now you see the plot of the measured kernel.
What you can do with this plot can be found here