diff --git a/docs/install.rst b/docs/install.rst index adcb6c72..c777c1db 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -29,7 +29,7 @@ Install the following packages to the build machine: :: - cmake kernel-devel binutils-devel systemd-devel numactl-devel gcc make nasm git libdwarf-devel + cmake kernel-devel binutils-devel systemd-devel numactl-devel gcc make nasm git libdwarf-devel capstone-devel When having access to repositories ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -46,17 +46,48 @@ On CentOS 8, enable the PowerTools repository: sudo dnf config-manager --set-enabled PowerTools +Enable EPEL repository: + +:: + + sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + Install with yum: :: - sudo yum install cmake kernel-devel binutils-devel systemd-devel numactl-devel gcc make nasm git libdwarf-devel + sudo yum install cmake kernel-devel binutils-devel systemd-devel numactl-devel gcc make nasm git libdwarf-devel capstone-devel When not having access to repositories ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``libdwarf-devel`` +"""""""""""""""""" + Ask the system administrator to install them. Note that ``libdwarf-devel`` is in the CodeReady Linux Builder repository on RHEL 8 or in the PowerTools repository on CentOS 8. +``capstone-devel`` +"""""""""""""""""" + +A. Ask the system administrator to install ``capstone-devel``. Note that it is in the EPEL repository. + +B. Download the rpm with the machine in which you are the administrator: + +:: + + sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + sudo yum install yum-utils + yumdownloader capstone-devel + +And then install it to your home directory: + +:: + + cd $HOME/$(uname -p) + rpm2cpio capstone-devel-4.0.1-9.el8.aarch64.rpm | cpio -idv + sed -i 's#/usr/#'"$HOME"'/'"$(uname -p)"'/usr/#' $HOME/$(uname -p)/usr/lib64/pkgconfig/capstone.pc + + Clone, compile, install -------------------------- @@ -93,7 +124,12 @@ When not cross-compiling: :: - cmake -DCMAKE_INSTALL_PREFIX=${HOME}/ihk+mckernel ../mckernel + CMAKE_PREFIX_PATH=${HOME}/$(uname -p)/usr \ + cmake -DCMAKE_INSTALL_PREFIX=${HOME}/ihk+mckernel \ + -DENABLE_UTI=ON \ + ../mckernel + +Note that ``CMAKE_PREFIX_PATH=${HOME}/$(uname -p)/usr`` is required only when ``capstone-devel`` is installed to your home directory. When cross-compiling: ~~~~~~~~~~~~~~~~~~~~~ @@ -105,10 +141,11 @@ When cross-compiling: -DKERNEL_DIR= \ -DBUILD_TARGET=smp-arm64 \ -DCMAKE_TOOLCHAIN_FILE=../mckernel/cmake/cross-aarch64.cmake \ + -DENABLE_UTI=ON \ ../mckernel Install with cmake -~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~ Install with make: @@ -191,10 +228,10 @@ Install the following packages to the compute nodes: :: - systemd-libs numactl-libs libdwarf + systemd-libs numactl-libs libdwarf capstone When having access to repositories -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ On RHEL 8, enable the CodeReady Linux Builder (CLB) repository: @@ -208,13 +245,42 @@ On CentOS 8, enable the PowerTools repository: sudo dnf config-manager --set-enabled PowerTools +Enable EPEL repository: + +:: + + sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + Install with yum: :: - sudo yum install systemd-libs numactl-libs libdwarf + sudo yum install systemd-libs numactl-libs libdwarf capstone When not having access to repositories ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``libdwarf`` +"""""""""""" + Ask the system administrator to install them. Note that ``libdwarf`` is in the CodeReady Linux Builder repository on RHEL 8 or in the PowerTools repository on CentOS 8. + +``capstone`` +"""""""""""" + +A. Ask the system administrator to install ``capstone``. Note that it is in the EPEL repository. + +B. Download the rpm with the machine in which you are the administrator: + +:: + + sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + sudo yum install yum-utils + yumdownloader capstone + +and then install it to your home directory: + +:: + + cd $HOME/$(uname -p) + rpm2cpio capstone-4.0.1-9.el8.aarch64.rpm | cpio -idv diff --git a/docs/operators.rst b/docs/operators.rst index 811c4cf6..3702fd02 100644 --- a/docs/operators.rst +++ b/docs/operators.rst @@ -7,12 +7,10 @@ This document will explain how to operate system with McKernel. Installation ============ -See `Quick Guide -- Installation `__. - -.. include:: uti.rst +Follow `Quick Guide -- Installation `__. Boot and Shut-down -========================= +================== Related files ------------- diff --git a/docs/users.rst b/docs/users.rst index 270597b5..8f7ded01 100644 --- a/docs/users.rst +++ b/docs/users.rst @@ -55,11 +55,11 @@ You need to insert ``mcexec`` into the command lines invoking the programs that Non-MPI programs ~~~~~~~~~~~~~~~~ -Insert ``mcexec`` before an executable: +Insert ``mcexec`` before the command: :: - mcexec ./a.out + mcexec MPI programs ~~~~~~~~~~~~ @@ -96,6 +96,19 @@ Fujitsu Technical Computing Suite. #PJM --mpi "proc=32" #PJM -L "node=8" +(Advanced) When using Utility Thread offloading Interface (UTI) +--------------------------------------------------------------- + +UTI enables a runtime such as MPI runtime to spawn utility threads such +as MPI asynchronous progress threads to Linux cores. + +Add ``--enable-uti`` option to ``mcexec``: + +:: + + mcexec --enable-uti + + Limitations =========== diff --git a/docs/uti.rst b/docs/uti.rst deleted file mode 100644 index 3d5cc75b..00000000 --- a/docs/uti.rst +++ /dev/null @@ -1,94 +0,0 @@ -Advanced: Enable Utility Thread offloading Interface (UTI) -------------------------------------------------------------- - -UTI enables a runtime such as MPI runtime to spawn utility threads such -as MPI asynchronous progress threads to Linux cores. - -Install ``capstone`` and ``capstone-devel`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When compute nodes don't have access to EPEL repository -""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -Install EPEL ``capstone`` and ``capstone-devel``: - -:: - - sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm - sudo yum install capstone capstone-devel - - -When compute nodes don't have access to EPEL repository -""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -A. Ask the system administrator to install ``capstone`` and ``capstone-devel``. Note that it is in the EPEL repository. - -B. Download the rpm with the machine in which you are the administrator: - -:: - - sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm - sudo yum install yum-utils - yumdownloader capstone capstone-devel - -and then install it to your home directory of the login node: - -:: - - cd $HOME/$(uname -p) - rpm2cpio capstone-4.0.1-9.el8.aarch64.rpm | cpio -idv - rpm2cpio capstone-devel-4.0.1-9.el8.aarch64.rpm | cpio -idv - sed -i 's#/usr/#'"$HOME"'/'"$(uname -p)"'/usr/#' $HOME/$(uname -p)/usr/lib64/pkgconfig/capstone.pc - - -Install McKernel -~~~~~~~~~~~~~~~~~~~~ - -``cmake`` with the additional options: - -:: - - cmake -DCMAKE_INSTALL_PREFIX=${HOME}/ihk+mckernel -DENABLE_UTI=ON $HOME/src/ihk+mckernel/mckernel - make -j install - -Run programs -~~~~~~~~~~~~ - -``mcexec`` with ``--enable-uti`` option: - -:: - - mcexec --enable-uti - -(Optional) Install UTI for Linux -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can skip this step if you don't want to develop a run-time using UTI, or if it's already installed with, for example, Fujitsu Technical Computing Suite. - -Install by make -""""""""""""""" - -.. code-block:: none - - git clone https://github.com/RIKEN-SysSoft/uti.git - mkdir build && cd build - ../uti/configure --prefix= --with-rm=linux - make && make install - -Install by rpm -"""""""""""""" - -.. code-block:: none - - git clone https://github.com/RIKEN-SysSoft/uti.git - mkdir build && cd build - ../uti/configure --prefix= --with-rm=linux - rm -f ~/rpmbuild/SOURCES/.tar.gz - rpmbuild -ba ./scripts/uti.spec - rpm -Uvh uti---.rpm - -(Optional) Install UTI for McKernel -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can skip this step if you don't want to develop a run-time using UTI. -Execute the commands above for installing UTI for Linux, with ``--with-rm=linux`` replaced with ``--with-rm=mckernel``.