- The kernelname contains only letters, numbers and dividing-characters
- The kernelname consists of 6 elements (categories) in the following order
1. Top category name (e.g. "grafical", "IO", "numerical")
2. Name of the algorithm (application, part of an application an so on... e.g. "matmul", "vecadd", "latencies")
3. Programming Language (e.g. "C", "Java" or "F77")
4. parallelisation library/libraries (multiple chunks possible, e.g. "MPI", "pThreads")
5. other library/libraies (multiple chunks possible)
6. (data) type (e.g. "double", "float")
7. a comment (only for naming the binary!)
- "." and "-" are the only accepted dividing characters. Behaviour for using other characters is unpredictable. "."'s divide the categories. "--"'s divide multiple chunks of one category (e.g. "MPI-OpenMP"). These chunks should be ordered alphabetically to prevent multiple names for one and the same kernel. Both, "." AND "-" aren't allowed in category-names! Also, the first character after a "." has to be a letter or "0"!
- If there is no entry for a category (e.g. the kernel is sequential, so there's no parallel library), the category is named "0".
- The categories 1 to 6 are mapped hierarchically in the kernel-directory "${BENCHITROOT}/kernel". Every category accords to a sub folder. The category 7 is added to the binary name by using the BENCHIT_FILENAME_COMMENT or interpreting the ${BENCHITROOT}/COMPILE.SH-flag --comment/-c from the compile-time to allow different compilations of one and the same kernel.
- The name of a binary matches the categories 1 to 7, divided by "."'s. The binaries are located in the folder "${BENCHITROOT}/bin". Compiled Java kernels are saved into a folder with the according name.
- The structure of the output directory matches 1:1 to the kernel directory.
- A result-file consists of 3 elements
1. architecture information (according to BENCHIT_ARCH_SHORT and BENCHIT_ARCH_SPEED, e.g. InP3_700M)
2. the comment according to 1.g)
3. date and time of run.
these categories are divided by "__"'s, elements within these categories are divided by "_"'s.
## Examples
- The files of kernel "numerical.matmul.C.0.0.double"
- are placed in directory "${BENCHITROOT}/kernel/numerical/matmul/C/0/0/double".
- Compiled with BENCHIT_FILENAME_COMMENT=v01 esults in binary: "${BENCHITROOT}/bin/numerical.matmul.C.0.0.double.v01".
- The result file is placed in: "${BENCHITROOT}/output/numerical/matmul/C/0/0/double/"
with the name "InP3_700M__v01__2005_07_14__13_51_59.bit" (depends on time)
- The files of kernel "numerical.matmul.F77.MPI--pThreads.BLAS3.double"
- are placed in folder "${BENCHITROOT}/kernel/numerical/matmul/F77/MPI--pThreads/BLAS3/double".
- The resulting binary may be: "${BENCHITROOT}/bin/numerical.matmul.F77.MPI--pThreads.BLAS3.double.DTRMM-v02".
- The result file is placed in the folder "${BENCHITROOT}/output/numerical/matmul/F77/MPI--pThreads/BLAS3/double" and is named "InP3_700M__DTRMM_v02__2005_07_14__13_51_59.bit"
- The files of kernel "numerical.matmul.Java.0.0.double"
- are placed in folder "${BENCHITROOT}/kernel/numerical/matmul/Java/0/0/double".
- The resulting executable file: "${BENCHITROOT}/bin/numerical.matmul.Java.0.0.double.v03/RUN.SH".
- The result file is placed in folder "${BENCHITROOT}/output/numerical/matmul/Java/0/0/double"
and named "InP3_700M__v03__2005_07_14__13_51_59.bit"