This is the top-level git repository for the Run time in Kernel(RTK)
Different branches include different things we built described as below, and in README of different branch, detailed description on how to use and what to test is provided (except for PIK, CCK, which are supposed to appear on other repo)
Branch | content |
---|---|
OpenMP | OpenMP library source code, able to compile OpenMP library |
LibOMP | Compiled OpenMP library |
RTK | Runtime in Kernel, and benchmarks run with kernel |
EPCC | EPCC benchmarks source code for linux |
NPB3.0-omp-c | NAS-NPB source code for linux |
Alternatively, even without going to each branch, we provide top-level make command that will compile different things.
Run from the top directory
make init
make BENCH-NAME=EPCC build_nautilus
make run_nautilus BENCH-NAME=EPCC
To start running benchmarks, use the following commands at the root-shell prompt:
root-shell> ompb
To test on a physical machine, write the nautilus_rtk/nautilus.iso to a CD or USB stick and boot the machine. Alternatively, add nautilus_rtk/nautilus.bin to your grub configuration as described elsewhere, or PXE boot it.
We included eight of NAParallel BenchmarkS Parallel Benchmarks (BT, FT, CG, EP, LU, MG, IS, SP) in RTK. FT is used as an example below:
To build Nautilus with one NAS Parallel Benchmark (e.g. FT), use the following command:
make build_nautilus BENCH-NAME=NAS BENCHMARK=FT
make run_nautilus BENCH-NAME=NAS BENCHMARK=FT
To start running that benchmark (e.g. FT), use the following commands at the root-shell prompt:
root-shell> nas-ft
To change the number of threads, for example to 16 threads, before running the test, run following:
root-shell> omp_num_threads 16
Or
root-shell> set-omp-num-threads 16
To compile the same test suite as RTK's:
make build_linux
This will compile BT, FT in B Class; CG, EP, MG, LU, IS, SP in C Class for NPB; this will also compile all the EPCC Benchmarks.
To run them all:
make run_linux
WARNING: This would take hours to finish.
To compile EPCC benchmarks for Linux:
make build_linux_epcc
To run all the EPCC benchmarks:
make run_linux_epcc
To run one of the EPCC benchmarks (syncbench, schedbench, taskbench, arraybench_59049), run the following: (e.g. arraybench_59049)
make run_linux_epcc BENCHMARK=arraybench_59049
To compile the same test suite as RTK/CCK's:
make build_linux_nas
To run this test suite:
make run_linux_nas
WARNING: This would take hours to finish.
All available NAS Parallel Benchmarks include FT, CG, BT, LU, IS, EP, SP, MG available at 4 scales/classes (S, A, B, C)
To compile a specific NAS Parallel Benchmark (e.g. FT) with CLASS B, run following:
make build_linux_nas BENCHMARK=FT CLASS=B
To run a specific NAS Parallel Benchmark (e.g. FT) with CLASS B after build:
make run_linux_nas BENCHMARK=FT CLASS=B
If you want to compile a different test suite with different CLASSes from the test suite we are using for the paper, do the following:
vi linux_npb-nas/config/suite.def
and uncomment the benchmarks you want to include in the test suite for Linux.