1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-09 00:00:03 +01:00
libhermit/tools/demo_omp.sh
2016-12-03 00:43:49 +01:00

75 lines
3.5 KiB
Bash
Executable file

#!/bin/bash
# do not use this script
# it is written only for internal reasons
MYPROMPT="~ > "
clear
echo -n $MYPROMPT
echo -e " \e[92m# HermitCore extends the multi-kernel approach and combines it with\e[39m" | randtype -m 2 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# unikernel features while providing better programmability and scalability\e[39m" | randtype -m 2 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# for hierarchical systems.\e[39m" | randtype -m 0 -t 18,6000
echo -n $MYPROMPT
echo ""
echo -n $MYPROMPT
echo -e " \e[92m# By starting a HermitCore application, cores are be sperated from Linux and\e[39m" | randtype -m 2 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# a unikernel is be booted on these cores with the application.\e[39m" | randtype -m 2 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# Consequently, HermitCore is a single-address space operating system which\e[39m" | randtype -m 2 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# promise a lower OS noise and better scalability.\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo ""
echo -n $MYPROMPT
echo -e " \e[92m# Now, a quick test via HelloWorld\e[39m" | randtype -m 0 -t 18,6000
echo -n $MYPROMPT
echo " hermit/usr/tests/hello" | randtype -m 0 -t 18,6000
hermit/usr/tests/hello
echo -n $MYPROMPT
echo -e " \e[92m# Linux' kernels messages show that CPU 1 is unplugged from Linux.\e[39m" | randtype -m 2 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# After the termination of the HermitCore application, CPU 1 is\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# re-registered to the Linux system.\e[39m" | randtype -m 0 -t 18,6000
echo -n $MYPROMPT
echo " dmesg | tail -10" | randtype -m 1 -t 18,6000
dmesg | tail -10
echo -n $MYPROMPT
echo -e " \e[92m# HermitCore's kernel message is published at /sys/hermit/isle0/log\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo " cat /sys/hermit/isle0/log" | randtype -m 1 -t 18,6000
cat /sys/hermit/isle0/log
echo -n $MYPROMPT
echo -e " \e[92m# HermitCore supports OpenMP (including Intel's OpenMP Runtime).\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# The benchmark STREAM is used to show the mode of operation.\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo " hermit/usr/benchmarks/stream" | randtype -m 0 -t 18,6000
hermit/usr/benchmarks/stream
echo -n $MYPROMPT
echo -e " \e[92m# Per default, only CPU 1 is used. This can be changed by setting\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92m# the environment variable HERMIT_CPUS.\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo " HERMIT_CPUS=\"1-2\" hermit/usr/benchmarks/stream" | randtype -m 0 -t 18,6000
HERMIT_CPUS="1-2" hermit/usr/benchmarks/stream
echo -n $MYPROMPT
echo -e " \e[92m# In this example CPUs 1-2 are booted to run STREAM.\e[39m" | randtype -m 1 -t 18,6000
#echo -n $MYPROMPT
#echo -e " \e[92m# Now, the same benchmark on Linux.\e[39m" | randtype -m 1 -t 18,6000
#echo -n $MYPROMPT
#echo " gcc -o stream_linux -O3 -fopenmp -mtune=native -march=native hermit/usr/benchmarks/stream.c" | randtype -m 0 -t 18,6000
#gcc -o stream_linux -O3 -fopenmp -mtune=native -march=native hermit/usr/benchmarks/stream.c
#echo -n $MYPROMPT
#echo " OMP_NUM_THREADS=2 ./stream_linux" | randtype -m 0 -t 18,6000
#OMP_NUM_THREADS=2 ./stream_linux
echo $MYPROMPT
echo -n $MYPROMPT
echo -e " \e[92mHermitCore (\e[31mhttp://www.hermitcore.org\e[92m) is an experimental platform.\e[39m" | randtype -m 1 -t 18,6000
echo -n $MYPROMPT
echo -e " \e[92mBut try it out and send us a feedback!\e[39m" | randtype -m 1 -t 18,6000