FusionForge

FolderStructure

Aus BenchIT Wiki
Wechseln zu: Navigation, Suche

Folder structure

  1. The kernelname contains only letters, numbers and dividing-characters
  2. The kernelname consists of 6 elements (categories) in the following order
    • a) Top category name (e.g. "grafical", "IO", "numerical")
    • b) Name of the algorithm (application, part of an application an so on... e.g. "matmul", "vecadd", "latencies")
    • c) Programming Language (e.g. "C", "Java" or "F77")
    • d) parallelisation library/libraries (multiple chunks possible, e.g. "MPI", "pThreads")
    • e) other library/libraies (multiple chunks possible)
    • f) (data) type (e.g. "double", "float")
    • g) a comment (only for naming the binary!)
  3. "." 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"!
  4. 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".
  5. The categories a) to f) are mapped hierarchically in the kernel-directory "${BENCHITROOT}/kernel". Every category accords

to a sub folder. The category g) 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.

  1. The name of a binary matches the categories a) to g), divided by "."'s. The binaries are located in the folder "${BENCHITROOT}/bin". Compiled Java kernels are saved into a folder with the according name.
  2. The structure of the output directory matches 1:1 to the kernel directory.
  3. A result-file consists of 3 elements
    • a) architecture information (according to BENCHIT_ARCH_SHORT and BENCHIT_ARCH_SPEED, e.g. InP3_700M)
    • b) the comment according to 1.g)
    • c) date and time of run.
  4. 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
  Verzeichnis "${BENCHITROOT}/kernel/numerical/matmul/C/0/0/double".
  Compiled with BENCHIT_FILENAME_COMMENT=v01
  results 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"